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.