Solución:
El descompilador Hex-Rays es una gran herramienta, pero el código será bastante difícil de leer y tendrás que dedicar mucho tiempo a realizar ingeniería inversa en toda la DLL.
Es posible que también desee echar un vistazo a OllyDbg que es un depurador de análisis de nivel de ensamblador de 32 bits. Se utiliza para analizar código binario en escenarios donde no tiene un código fuente. Es un depurador de peso ligero. OllyDbg es un shareware para que puedas descargarlo y usarlo gratis .. !!
Visite OllyDbg es la página de inicio aquí
PD: En el pasado, los crackers usaban SoftICE de NuMega para depurar en un ejecutable y tomar una instantánea de los valores de los registros. SoftICE fue un depurador avanzado. Definitivamente fue la herramienta favorita de los crackers. No conozco el estado actual del producto. El sitio de NuMega no tenía información al respecto. Puede que lo haya pasado por alto, pero no pude encontrarlo. Le recomiendo que obtenga una versión heredada (4.0x) de SoftICE y aplique el parche de WindowsXP para SoftICE. Trabajar con SoftICE es una especie de “experiencia”.
Leer más: Inversión: secretos de la ingeniería inversa de Eldad Eilam
No sé la situación exacta en la que se encuentra y cuánta funcionalidad implementa la DLL para su aplicación. Pero yo diría que, en la mayoría de los casos, sería mejor volver a escribir la DLL que falta en función de la funcionalidad conocida.
Esto es especialmente cierto si tiene alguna documentación para ello.
Intentar aplicar ingeniería inversa al código binario en ensamblador, luego en C ++ y luego tratar de modificarlo para proporcionar la funcionalidad existente será en la mayoría de los casos mucho tiempo, y tal vez incluso imposible.