Rom*_*len 5 decompiling dos 16-bit disassembly
我有一个非常古老的应用程序,我在15年前购买,它包含5个.exe文件,用于存储患者的个人资料和信息.问题是该应用程序被编程为在特定计算机上工作.
因为我对破解知之甚少,所以我尝试使用win32dasm对其进行反汇编,但是没有关于字符串引用的信息,试过Hiew用JNE替换JE,经过多次尝试,其中一个可执行文件有效,但我没有修补其他文件.
有什么方法可以找到确切的跳转并修补它吗?
谢谢 ;)
是的,有办法,总有办法。如果您可以运行该代码,则可以对其进行修改。
但是,如果它被许可在特定计算机上运行,您实际上可能没有在另一台计算机上使用它的合法权利。您应该做的第一件事是弄清楚您正在尝试的事情的合法性。
话虽如此,我过去曾使用 OllyDbg 来完成此类工作。这并不邪恶,只是代码在具有大量内存的机器上失败了 - 结果它使用了有符号的比较指令而不是无符号的指令。
基本思想是在故障机器上运行时记录字符串输出,然后在内存中找到该字符串并观察引用它的任何代码段。然后,您应该能够从那里回溯以找到将您带到那里的条件跳转并对其进行修补,以便它不会出现(例如,jCC用字节替换整个指令)nop。
但是,我强调这一点,这需要一些调查,这不是你只需按一个按钮并让计算机就能解决的事情。您可能必须深入研究该程序集才能了解它是如何工作的。
| 归档时间: |
|
| 查看次数: |
1660 次 |
| 最近记录: |