Las ciencias de las ingeniería inversa, no tiene una sola solución única, si te basas en la forma de reparar una IAT de x programa, en x sistema operativo, este será funcional solo para tal programa y solo para tal x sistema operativo.
Me parece bien que ya sepas indagar en la IAT y que sepas que ImportReConstructor, es capas de ayudarte en lo que necesitas, pero:
¿Sabes que es IAT?
¿Sabes que significan estas siglas?
¿Sabes por qué lo usa el sistema?
La IAT = import address table
Tabla de direcciones de importación.
Debido a las constantes actualizaciones de los SO (aplicaciones, parches, librerías) por lo cual se debe seguir un estandar de la forma en que los programas que utilizan librerías externas deben acceder a ellas, para ello la existencia de la IAT.
Ya sabiendo de que tema estamos hablando logramos deducir, sin siquiera pedir ayuda de que cada IAT es distinta, sin importar el packer, ya que programa X utilizará ciertas librerías las cuales no serán lo mismo que programa Y.
Para localizar la IAT, se debe obtener una llamada a alguna librería (API), con ella se dirige uno hacia el salto, el cual nos lleva a la IAT, luego se procede a buscar el inicio, si utilizar OllyDbg, este muestra las direcciones de memoria en VA (Import pide el inicio de forma RVA, por lo cual deberás restar la Image base), y el final es cuando no se encuentra ninguna referencia ha alguna llamada.
Destacar que la IAT separa las APIs dependiendo de las librerías (separación de 4 bytes o un Word)
También debes saber como el sistema sobre-escribe la IAT, antes del Entry Point.
El sistema localiza la dirección de la IT (mport table o tabla de importaciones), una vez localizada de comienza a leer el contenido de los IID (image import descriptor), un conjunto de cinco valores dword. Se destacan el cuarto y quinto parámetro:
- cuarto parámetro nombre de la dll.
- quinto parámetro, dirección generalmente dentro de la IAT, este campo (RVA) posee el nombre de la API, la cual obtiene su dirección a través de la API
GetProcAddress.
Si buscas en la página que comenta tincopasan, encontrarás el tutorial de introducción al cracking con ollydbg o si gustas buscar información específica del packer.
Excelente, casi todo lo que pones aqui es nuevo para mi me ahorraste algo de tiempo. Buscar en google no es dificil, usar las palabras correctas es un tanto mas dificil
. Gracias por el aporte
. Suena algo complejo pero estoy seguro que cuando se lleve a la practica sera mas facil.