Autor
|
Tema: Como puedo ejecutar instrucciones que estan en Memoria (Leído 5,532 veces)
|
bodoke1969
Desconectado
Mensajes: 7
|
Buenas tardes a todos : Les envio un cordial saludo y a su vez le comento lo siguiente : Tengo una apliacion hecha en windows que manda instrucciones a un dispositivo que se conecta con USB (No es HID), y deseo enviarle instrucciones en hexadecimal, pero, no he podido, no he encontrado documentacion suficiente para enviarle datos y recibir la respuesta, tambien he visto que ese dispositivo no emula serial, a lo mucho he logrado abrir la conexion, pero, tengo la aplicacion que lo hace, por medio del OllyDbg he visto en que sector de la mamoria lo hace, trate de copiar esa parte en ASM y ejecutarla por fuera y me arroja error, lo que deseo y si me pueden orientar, o que debo de leer, el cómo puedo hacer una apliacion que lea esa parte de memoria y que la ejecute desde ahi. Gracias de antemano por su ayuda!! SALUDOS!!!
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Hola! Si sabes de ASM, deberías poder copiar, reparar y ejecutar el código. Por supuesto, depende del código, si tiene llamadas a APIS, etc. Si es por leer, puedes empezar por la intro al cracking con Olly de ricardo narvaja, que está disponible en el FAQ (link en mi firma). Si quieres modificar el binario ejecutándose, puedes usar WriteProcessMemory desde un ejecutable externo e inyectarle las instrucciones que desees, pero necesitarás saber lo básico para poder hacer algo así. Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Geovane
Desconectado
Mensajes: 207
|
Escriba la aplicación con lenguaje de fácil implementación de ASM, así como Delphi begin asm ........... ........... escriba asm....... end; begin .......... ..........Delphi ........... end; Esto lee y graba en la memoria de un proceso ..... unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs , TlHelp32, StdCtrls, ExtCtrls , Registry , ComCtrls ,shellapi ; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Edit2: TEdit; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.dfm} function BlockInput( fBlockIt:boolean):Boolean; StdCall; External 'User32.dll'; // function GetProcessID(Const ExeFileName: string; var ProcessId: integer): boolean; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin result := false; FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := Sizeof(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while integer(ContinueLoop) <> 0 do begin if (StrIComp(PChar(ExtractFileName(FProcessEntry32.szExeFile)), PChar(ExeFileName)) = 0) or (StrIComp(FProcessEntry32.szExeFile, PChar(ExeFileName)) = 0) then begin ProcessId:= FProcessEntry32.th32ProcessID; result := true; break; end; ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; // procedure TForm1.Button1Click(Sender: TObject); VAR valor,buffer: cardinal; PID: integer; HandleX:THandle; BEGIN if GetProcessID('Porgrama.exe',PID)then begin Handlex:= OpenProcess(PROCESS_ALL_ACCESS,False,PID); ReadProcessMemory(HandleX,Pointer(strToint('$'+ Edit2.Text)),@valor ,4 ,buffer); Edit1.Text:= intTostr(valor); end; end; procedure TForm1.Button2Click(Sender: TObject); VAR valor,buffer,endereco: cardinal; PID: integer; HandleX:THandle; begin if GetProcessID('Porgrama.exe',PID)then begin endereco:=strToint('$'+ Edit2.Text); valor:=strToint(Edit1.Text); Handlex:= OpenProcess(PROCESS_ALL_ACCESS,False,PID); WriteProcessMemory(HandleX,Pointer(endereco),@valor ,4 ,buffer); end; end; end.
|
|
« Última modificación: 8 Marzo 2018, 23:24 pm por Geovane »
|
En línea
|
|
|
|
bodoke1969
Desconectado
Mensajes: 7
|
Buenas tardes a todos, y gracias por compartir sus conocimientos, voy a probar lo que me dicen y les comento mas adelasnte. SALUDOS!!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como ejecutar programa en memoria sin ejecutar el archivo
« 1 2 »
Programación Visual Basic
|
Sai-To
|
13
|
11,455
|
25 Mayo 2008, 18:14 pm
por Sai-To
|
|
|
[RESUELTO]codigos de las instrucciones en memoria ¿donde conseguirlas?
Análisis y Diseño de Malware
|
AlxSpy
|
3
|
4,035
|
31 Agosto 2011, 05:56 am
por AlxSpy
|
|
|
[Python]¿Ejecutar instrucciones al mismo tiempo?
Scripting
|
S3kh
|
1
|
3,475
|
2 Octubre 2011, 21:08 pm
por calk9
|
|
|
[DUDA] Siempre se hacen estan instrucciones? y porque
ASM
|
x64core
|
5
|
4,269
|
21 Noviembre 2011, 19:28 pm
por x64core
|
|
|
VHDL: Leer array de fichero para la memoria de instrucciones de un procesador??
Programación General
|
x7
|
1
|
3,655
|
8 Mayo 2013, 16:58 pm
por Khronos14
|
|