Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: llamamecomoquieras en 9 Julio 2008, 15:54 pm



Título: Problema con WriteProcessMemory
Publicado por: llamamecomoquieras en 9 Julio 2008, 15:54 pm
En fin.. la intencion es de machacar 3 bytes de la memoria de un programa. Todo bien, pero el tercer byte no coje el valor deseado, 0x83.
Os pego lo más relevante:

Código:
Private Declare Function WriteString Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long

Dim cambio3 As String
cambio3 = Chr(131)
...
e = WriteString(pHandle, 4837217, StrPtr(cambio3), 1, 0&)

Mirando ese byte desde otro programa, veo que su valor es 0x92 en vez de 0x83. En cambio, con los 2 bytes anteriores todo va perfecto.

Espero que puedan ayudarme.

Un saludo ;)


Título: Re: Problema con WriteProcessMemory
Publicado por: llamamecomoquieras en 11 Julio 2008, 15:35 pm
Perdon por el repost. A nadie se le ocurre alguna posible causa?


Título: Re: Problema con WriteProcessMemory
Publicado por: cobein en 11 Julio 2008, 15:48 pm
dim lret as long
if not WriteString(pHandle, 4837217, StrPtr(cambio3), 1, lret) = 0 then
if lret =1 then
debug.print "ok"
end if
end if