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.
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.