Ensamblador - File

 
Vista:

File

Publicado por Frost (1 intervención) el 14/04/2002 02:12:08
estoy haciendo un cracker para un programa, buscando algunos bytes y despues cambiarlos.
pero sucede que se repiden en 3 ocaciones los mismos bytes

1
2
3

y el que necesito cambiar en la segunda y el crak que hize cambia la primera como podria hacer para que pase la primera y cambie la segunda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:File

Publicado por Jorge (126 intervenciones) el 21/04/2002 06:05:42
Bueno, supongo que el código será prolijo y lo tendrás dividido en, al menos, tres partes:

* Declaración de variables globales: el handle del file.
* El procedimiento de búsqueda: comienza a leer bytes del archivo y cuando encuentra la cadena deja el puntero del archivo en la posición de inicio de la cadena buscada.
* El procedimiento de modificación: graba 3 bytes a la posición actual del puntero dentro del archivo.

Cuando me refiero a puntero del archivo, de la variable que indica el desplazamiento actual dentro del archivo. Como eso se maneja sólo, no hay que calentarse...

Ahora, tu rutina principal quedaría así (pseudo ASM):
1) abrir el archivo (Int 21h) y poner el puntero del archivo al inicio.
2) llamar a la rutina de búsqueda.
3) a este punto, el puntero del archivo está en el principio de la primer cadena coincidente; esta no hay que tocarla, por lo tanto sumamos 3 al desplazamiento actual del archivo y llamamos de nuevo a la rutina de búsqueda.
4) ahora sí, el desplazamiento dentro del archivo es el correcto: llamamos a la rutina de modificación, que graba los tres bytes.
5) cerramos el archivo.

LISTO!!!

Espero que esto te sirva, chau!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar