elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  HEX de JMP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: HEX de JMP  (Leído 4,213 veces)
frankener1986

Desconectado Desconectado

Mensajes: 136


Reversing the world


Ver Perfil
HEX de JMP
« en: 7 Septiembre 2006, 21:38 pm »

hola, necesito saber porfavor cual es el valor de JMP en hexadecimal... el de JE es 84, el de JNZ es 85.. y el de JMP ??' gracias!
En línea

frankener1986

Desconectado Desconectado

Mensajes: 136


Reversing the world


Ver Perfil
Re: HEX de JMP
« Respuesta #1 en: 8 Septiembre 2006, 01:34 am »

ya consegui lo que queria, igualmente gracias... se suponia que era EB su valor en hex, pero en realidad, queria hacer mi parche a mano, y habia que reemplazar varios bytes al usar JMP (lo verifique parcheandolo con el olly y luego abriendolo con un comparador de archivos), no como lo que pasa con JE y JNZ, que solo se requiere modificar un byte..., tuve que modificar 4 bytes..

graicas =mente, saludos!
En línea

karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: HEX de JMP
« Respuesta #2 en: 8 Septiembre 2006, 17:26 pm »

Puedes hacerlo de este modo:

Voy a abrir un ejecutable cualquiera, por ej. el Nero.
Echo un vistazo al código y voy a cojer el primer JNZ que vea y obtengo lo siguiente:


Ahí se puede observar que  JNZ  corresponde al byte 75 en hexadecimal.

Si pinchas dos veces sobre JNZ observarás que se abre esta ventana:

Aquí puedes editar el contenido.

Así que voy a modificarlo para obtener el valor de JMP así:

Sólo queda pulsar en Assemble y obtengo en rojo por haberlo modificado:

Ahora ya se puede saber de forma muy sencilla que JMP corresponde al byte EB.
Así que en un editor hexadecimal, si quieres poner un salto JMP tienes que sustituir el 75 por EB.

Espero te sirva.
« Última modificación: 8 Septiembre 2006, 17:28 pm por karmany » En línea

frankener1986

Desconectado Desconectado

Mensajes: 136


Reversing the world


Ver Perfil
Re: HEX de JMP
« Respuesta #3 en: 9 Septiembre 2006, 20:58 pm »

jeje si, esque estaba intentando hacer un parche con VB, ya intenté
 poner EB, pero al poner un JMP, se cambiaron cuatro bytes... asi que tuve que modificar cuatro bytes en cuatro offsets :P

karmany, muchas gracias por tomarte la molestia de explicarlo todo tan bien de hasta sacar screenshoots y recortarlas xD

hmm.. y al igual que en visual basic, para escribir un archivo binario en hexadecimal (editarlo mejor dicho), se declara un byte y un offset, y se escribe con
Open archivo for Binary Access Write as num, esto alguien sabe como hacerlo con cpp? gracias!


para aclarar más lo que quiero hacer con c++, quiero hacer lo msimo que haría este código en visual basic:

Código:
Dim valor As Byte
valor = &HE9
Open App.path + "\programa.exe" For Binary Access Write As #1
Put #1, &H1580F2, valor
Close #1
« Última modificación: 9 Septiembre 2006, 21:27 pm por frankener1986 » En línea

dSx

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: HEX de JMP
« Respuesta #4 en: 18 Septiembre 2006, 01:01 am »

Eso no es del todo cierto... La cdificación de la instrucción jmp sigue una forma q depende de la arquitectura del procesador, ese valor es correcto pero solo si el salto es corto (short).
En línea

karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: HEX de JMP
« Respuesta #5 en: 18 Septiembre 2006, 18:56 pm »

Ok dSx, pero la forma es válida para obtener el valor hexadecimal,
sea short o no, aunque bien mencionas que el valor hexadecimal será diferente.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines