Autor
|
Tema: Funcion WriteFile (ASM) (Leído 18,786 veces)
|
|
Riki_89D
Desconectado
Mensajes: 851
BCN CITY
|
Pues nada quitando el Stack no funciono comop puedo debuggeear,el MASM32 lleva algo para hacerlo??
nunca lo hice,salu2
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
OllyDbg... existen muchos manuales en la zona de ingenieria inversa.
|
|
|
En línea
|
|
|
|
bizco
Desconectado
Mensajes: 698
|
GlobalAlloc te modifica edx. no estaria de mas que verificaras que el resultado de las funciones son los esperados y no tendrias estos problemas.
yo usaria createfile,createfilemapping,mapviewoffile y con rep mov* copias lo que necesites directamente.
|
|
« Última modificación: 4 Enero 2010, 22:55 pm por ctlon »
|
En línea
|
|
|
|
Riki_89D
Desconectado
Mensajes: 851
BCN CITY
|
Bueno encontre un codigo en donde decian que al utilizar CreateFIleMapping MapViewOfFile, si no boi mal serviria para poner en memoria el ejecutable en question (memoria compartida) i entonces lo podria modificar i escribir con WriteFile,si me equivoco corriganme porfavor, este es el code que sesupone pone al ejecutable que quiero modificar en memoria: .386 .model flat,stdcall .stack 200h option casemap:none include Tot.inc .data Fil db 'C:\masm32\men.exe',0 .data? tam db 32 dup(?) .code start: invoke CreateFile,offset Fil,GENERIC_WRITE+GENERIC_READ,FILE_SHARE_READ+FILE_SHARE_WRITE,0,OPEN_EXISTING,0,0 push eax invoke GetFileSize,eax,0 push eax pop eax; Tam pop ebx; Handle invoke CreateFileMapping,ebx,0,PAGE_READWRITE,0,eax,0 mov ecx,eax ;ecx = mapp invoke MapViewOfFile,ecx,FILE_MAP_ALL_ACCESS,0,0,0 mov edx,eax invoke ExitProcess,0 end start
nose si estara bien despues de eso como escribo en el???? quitar el archivo de la memoria ya lo se hacer solo necesito escribir en el,si saveis de alguna solucion mas no sera mal muchas gracias expertos
|
|
« Última modificación: 5 Enero 2010, 18:23 pm por Riki_89D »
|
En línea
|
|
|
|
bizco
Desconectado
Mensajes: 698
|
mov [edx+offset],datos o rep o de la forma que mas te guste.
|
|
|
En línea
|
|
|
|
YST
Desconectado
Mensajes: 965
I'm you
|
push eax pop eax
Para que haces eso? y para evitar ese push eax ... pop ebx
Vale un mov ebx,eax
|
|
|
En línea
|
Yo le enseñe a Kayser a usar objetos en ASM
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Y aun no puedes modificar el archivo con WriteFile o con MapViewOfFile?
|
|
|
En línea
|
|
|
|
Riki_89D
Desconectado
Mensajes: 851
BCN CITY
|
POR FINNNNNNNNNNNNNNNNNNNNNNNNNNN!!! Finalmente me modifica el exe i no me da errores todo perfecto!! :D:DD: les dejo el code pro que os lo mereceis que soys unos cracks de verdad!! sabia k podia confian en bosotros en todos los que me abeis ayudado mucha sgracias de verdad!! .386 .model flat,stdcall .stack 200h option casemap:none include Tot.inc .data Fil db 'C:\masm32\men.exe',0 .data? tam db 32 dup(?) .code start: invoke CreateFile,offset Fil,GENERIC_WRITE+GENERIC_READ,FILE_SHARE_READ+FILE_SHARE_WRITE,0,OPEN_EXISTING,0,0 push eax invoke GetFileSize,eax,0 push eax pop eax; Tam add eax,eax pop ebx; Handle invoke CreateFileMapping,ebx,0,PAGE_READWRITE,0,eax,0 mov ecx,eax ;ecx = mapp invoke MapViewOfFile,ecx,FILE_MAP_ALL_ACCESS,0,0,0 mov edx,eax mov dword ptr ds:[edx+800h],'jej' invoke ExitProcess,0 end start
|
|
« Última modificación: 6 Enero 2010, 13:46 pm por Riki_89D »
|
En línea
|
|
|
|
[Zero]
Wiki
Desconectado
Mensajes: 1.082
CALL DWORD PTR DS:[0]
|
Si lo mapeas en memoria, al cambiar los datos en memoria ya se guardan automáticamente en disco. Con WriteFile, había editado mi post corrgiendo mi code, creo que debería de funcionar . Saludos
|
|
|
En línea
|
“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza. Nietzsche
|
|
|
|
|