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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Problema al parchear ejecutable para DOS con dosbox-x e ida
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al parchear ejecutable para DOS con dosbox-x e ida  (Leído 2,495 veces)
principito

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema al parchear ejecutable para DOS con dosbox-x e ida
« en: 22 Marzo 2023, 11:41 am »

Hola, estoy tratando de parchear un ejecutable para DOS compilado con turbo-c de los tiempo de DOS, el simulador que estoy utilizando es dosbox-x y el ida pro 7.7 para hacer el análisis.
Para parchear elegí una función que no utiliza el programa.
Me puse a hacer pruebas y rellené con nops el espacio que voy a utilizar de la función para luego poner el código.
El problema que tengo es que al parchear manualmente la función con el HxD, yendo al ida viendo la dirección física y luego probando a rellenar con nops en el HxD, mi sorpresa fue que el byte en la posición 10, dentro de la función, cambia, haciendo varias pruebas, el byte cambia con un desplazamiento de 0x10.

Si insisto y lo parcheo con ida, poniendo un nop en el byte 10, y lo depuro con dosbox-x la situación se vuelve aún más extraña, y sucede donde originalmente estaba el mov ax, seg dseg:

Me gustaría entender por qué pasa eso sin tener que depurar dosbox-x, si alguien tiene alguna idea...
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Problema al parchear ejecutable para DOS con dosbox-x e ida
« Respuesta #1 en: 22 Marzo 2023, 15:07 pm »

Hola!

No recuerdo si los ejecutables de DOS tenían algo como la tabla de relocaciones, que es lo que podría estar pasando.

Lo que si sé, es que algunos estabas comprimidos con PKZIP y había que debuguear bastante para sacarlo.

Por las dudas, revisa wikipedia:

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

principito

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema al parchear ejecutable para DOS con dosbox-x e ida
« Respuesta #2 en: 23 Marzo 2023, 00:51 am »

Tenías razón, sí que son las relocaciones. Eso hace que se sustituyan lo opcodes en esa posición por el segmento de la función, como la función que utilizo está en el segmento de 0820, se le suman esos valores a los opcodes.
Este es el fragmento de código del dosbox-x que calcula y modifica las relocaciones y que me modifica los opcodes que puse manualmente:

Gracias por la pista.
Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DosBox (emulador para juegos de MS-DOS
Juegos y Consolas
apatxe 4 2,170 Último mensaje 1 Junio 2005, 15:14 pm
por Jericho
Parchear un ejecutable,posible en asm? « 1 2 »
ASM
Monica_Barcelona 14 9,650 Último mensaje 22 Abril 2010, 19:53 pm
por Eternal Idol
Parchear la EAT para interceptar GPA
Programación C/C++
85 0 1,712 Último mensaje 2 Marzo 2013, 10:06 am
por 85
Parchear ejecutable y direcciones de memoria
Ingeniería Inversa
jmpesp 4 2,644 Último mensaje 27 Junio 2019, 17:42 pm
por jmpesp
Dudas con dosbox
Software
Tachikomaia 2 1,857 Último mensaje 9 Enero 2021, 03:59 am
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines