Buenas tardes
Qué tal, me encuentro intentando comprender una funcionalidad que desconozco de una librería que no poseo el source, les explico la situación: hay un ejecutable, llamémosle
pepe.exe, el cual carga un archivo, llamémosle
hola.bmd, de un path concreto.
Ahora, a este
pepe.exe se le agregó una librería, llamémosle
chau.dll, que lo que hace es modificar el comportamiento de
pepe.exe para que en vez de cargar a
hola.bmd desde el path que tiene impuesto lo haga desde otro path el cual varía, llamémosle
%path, que es recibido desde un combobox que es mostrado al usuario.
El tema es que esta librería tiene más funcionalidades que la que estoy intentando averiguar y tiene errores que generan crash en
pepe.exe, es por esta razón que se decidió remover a
chau.dll.
Por lo que me llevó a mí a crear un nuevo
chau.dll que solo contenga la funcionalidad de modificación de path, pero al no poseer el source de
chau.dll y tener escaso conocimiento de asm me resulta imposible saber cómo es que
chau.dll hace que
pepe.exe use a
%path y no al que tiene por defecto.
Lo que pude observar es que
chau.dll no modifica offsets vía address de
pepe.exe ya que si yo empaqueto a
pepe.exe con mew11 sigue funcionando genial a pesar de que hayan cambiado sus offsets
Les dejo la librería
http://www.mediafire.com/?gkp4s7pxtim9do8,
pepe.exe lo único que hace es cargar la librería y llamar a la función
ENCGames, uno de los path que cambia es "
Data\Local\%s\Text.bmd". Espero que puedan darme una mano con esto
Desde ya, gracias
Cordiales saludos,
John.