反汇编 MS-DOS EXE

逆向工程 拆卸 x86 可执行 dos-exe
2021-07-06 09:43:02

我一直在反汇编一个 MS-DOS EXE,我一直在使用这个链接http://www.delorie.com/djgpp/doc/exe/来制作二进制文件的正面和反面。

与当今现代 Windows 可执行文件中 PE 段之前的标头相比,标头似乎是旧版本。

我一直在使用nasm的(反汇编程序),但程序没有IDA Pro那么复杂。发现很难找到主函数入口点,尤其是反汇编引擎处理基于偏移量的逻辑以确定每条指令的解码,并且由于性质我也不熟悉标准。

我假设 MS-DOS 中的 IP 字段可能是可执行文件的主要函数入口点,并希望有人或某人能够证实我的猜测。

2个回答

入口点是这样计算的:

((header_paragraphs + cs) << 4) + ip

前段时间写了一个MZ exe反汇编程序,看看

C/C++编译的MSEXE文件的头IP指向后面调用main函数的语言运行时初始代码。因此,如果您想找出主要内容,则需要对其进行跟踪或阅读 clib 或 src 文件中的 crt 代码。