Open for Binary

Iniciado por astaroth7, 6 Agosto 2005, 20:51 PM

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

astaroth7

Buenas, tengo una duda con una programa. Mi programa pretende crackear a un *.exe, del cual conozco el offset y el valor que deseo cambiar. Utilizo entonces esta función para pretender cambiarlo.

Open "programa.exe" For Binary As #1
Put #1, &H4C663, &H7E
Close #1

Y al ver el archivo con un editor hexadecimal, en el original veo esto en esa dirección:

Offset 4C663 = EB

Y en el archivo editado esa dirección sigue siendo la misma, pero se cambian los valores anteriores y posteriores de los offset's contiguos.

¿Como podría hacer para que solo se cambiara esa dirección 4C663?

Gracias por responder.

Slasher-K

A la instrucción Put o Get según el tipo de variable que le pases es lo que va a escribir o leer en el archivo, respectivamente.

Si le pasas un Integer va a leer/escribir dos bytes, si le pasas un Long va a leer/escribir 4 bytes. Entonces si sólo querés que modifique 1 byte tendrías que guardar los datos en una variable de tipo Byte.


           Dim btData As Byte

Open "programa.exe" For Binary As #1

btData = &H7E
Put #1, &H4C663, btData

Close #1


En ese caso sólo escribirá un byte.

Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*

astaroth7

Muchas gracias, ahora si me funcina el programa. :D