1

我是否需要了解汇编程序才能反汇编可执行文件?并了解程序在做什么?谢谢你。

4

2 回答 2

3

我是否需要了解汇编程序才能反汇编可执行文件?

不,您只需要一个反汇编器/调试器。

并了解程序在做什么?

是的。一旦反汇编器产生了反汇编,您应该知道如何阅读反汇编以及各种指令在做什么。您还应该了解 CPU 的体系结构,例如存在哪些寄存器、内存模型是什么、存在哪些特殊功能寄存器等。您还应该对运行可执行文件的操作系统有基本的了解,以便了解某些子例程调用或对(受保护的)操作系统层的调用。

所有这些都是系统特定的——一个好的起点通常是具体 CPU 的数据表/手册,其中通常包含有关架构的部分和描述指令集的参考部分。

于 2012-12-19T09:50:43.110 回答
0

阅读反汇编程序有一些解决方法。在您使用 IDA 反汇编程序的情况下,您可以应用 HexRays 插件,该插件可以从之前捕获的原始程序集构建 C 样式代码(只需打开您感兴趣的函数的代码并按 F5)。如果您根本不了解汇编程序,它可能会很有用,但根据我的经验,HexRay 并不完美,有时会生成不正确的 C 样式代码,有时根本无法生成代码。因此,由于这个原因,我仅将其用作代码分析中的辅助工具。但是如果你根本不知道汇编程序,你可以尝试使用它。

于 2012-12-19T10:00:36.860 回答