Problema con WriteProcessMemory

Iniciado por llamamecomoquieras, 9 Julio 2008, 15:54 PM

0 Miembros y 1 Visitante están viendo este tema.

llamamecomoquieras

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:

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 ;)

llamamecomoquieras

Perdon por el repost. A nadie se le ocurre alguna posible causa?

cobein

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
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.