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

时间:2012-12-19 09:47:46

标签: assembly disassembly

我是否需要了解汇编程序以便能够反汇编可执行文件? 并了解该计划正在做什么?谢谢。

2 个答案:

答案 0 :(得分:3)

  

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

没有。您只需要一个反汇编器/调试器。

  

并了解该计划正在做什么?

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

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

答案 1 :(得分:0)

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