用于注释/描述反汇编的工具

逆向工程 工具 拆卸
2021-07-06 18:22:44

使用 IDA Pro 时,有许多功能可用于更轻松地阅读反汇编代码 - 重命名变量、定义数据结构、为代码块着色、移动代码块(除了图形,这是很有用)。

如果您使用传统的反汇编程序,则此功能不可用。

传统上,我会使用打印出来的代码和铅笔以及带注释的文本文件的组合来分析反汇编,但我觉得这与 IDA Pro 提供的相比还有很长的路要走。

是否有任何工具可以使这项工作更轻松?我不是在寻找 IDA 的替代图形反汇编程序,因为总会有时间限制您使用 objdump 或专有命令行实用程序等工具的输出。

1个回答

我同意上面的评论。IDA Pro 确实提供了注释您的工作并使其井井有条所需的一切。IDA Pro 提供四种类型的注释:

  1. 定期评论。 常规注释放置在每条装配线的末尾,使用起来非常简单。为了插入常规注释,您只需右键单击程序集的右边距或按冒号 (:) 热键。
  2. 可重复的评论。 可重复注释是自动出现在多个位置的注释。它以类似交叉引用的方式运行。例如,放置的可重复注释je short 121212不仅会显示在指令旁边,还会传播到121212地址。基本上,原始评论会回显到引用的位置。可以通过按分号 (;) 热键来放置可重复的注释
  3. 前线和后线。 前后线为全行注释,可以放在拆机线之前,也可以放在拆机线之后。这些类型的注释没有以分号字符为前缀。
  4. 功能注释。 函数注释是分组在函数顶部或底部的注释。这些对于在函数原型上创建注释非常有用。函数注释是通过突出显示函数名称并创建常规注释可重复注释来创建的请注意,如果您创建了可重复的注释,它将被回显到调用该函数的每个位置。

几乎感觉就像您正在努力寻找改进工作流程的方法。对我来说最有意义的是让你的工作流程以某种预先确定的结构化方式组织起来,与它保持一致,并不断改进它。

有几件事可能会帮助您组织工作流程:

  • 为您使用的每个项目创建预定义的子目录。您可以创建一个空的模板子目录结构,您可以将其复制到新项目中。它将在不同的项目中保持一致,并使存储、导航和搜索内容变得非常容易。想想什么对你有意义。最终,它需要对您有意义并为您工作。
  • 创建报告模板。同样,您可以随心所欲地拥有它。重要的是要有一个模板。您可以随时构建和改进它。例如,我将一份报告的工作版本分为两个主要子部分:静态分析和执行。我在静态分析中描述了关于二进制文件的所有“静止”。此外,我使用“执行”部分来描述每当运行二进制文件时会发生什么。
  • 以有组织的方式维护笔记。您可以运行一个文件,在其中以结构化的方式维护您的笔记。同样,这是非常随意的事情。什么都适合你。我不想用过多的评论来干扰 IDA。例如,我喜欢创建 C 风格的东西表示。我通常把它放在“笔记”文件的末尾。其他评论放在前面。

最终,我们是“驱动”工具的用户。请记住,有时一个伟大的工具和使用它的人一样好;)