【发布时间】:2011-01-20 15:33:10
【问题描述】:
我有一个汇编程序,我试图理解它。 (我实际上是在分析它)。 是否有一个 Linux 工具/编辑器可以对我进行一些结构化? 显示循环/跳转的位置就足够了。 对指令的作用进行方便的描述会很棒。
【问题讨论】:
-
您有汇编源代码,或者您是否在可执行文件上使用反汇编程序? ——你知道组装吗? x86(32 位)处理器?
-
我有 oprofile 转储的源代码。所以我猜它类似于objdump格式。我也有源代码,但是经过大量优化,oprofile(objdump?)找不到 ASM 和 C++ 之间的对应关系
-
所以你有一个用 C++ 编写的可执行文件的反汇编。这与理解最初用汇编编写的程序有点不同,因为您想在特定的汇编指令和原始 C++ 源代码之间建立联系。您可以做的第一件事是确保 C++ 编译器运行启用调试,因此额外的调试信息留在可执行文件中以供反汇编程序参考。反汇编程序仅将过程反转回组装。还有反编译的过程。它往往更难,结果也不是很好。
标签: linux assembly profiling reverse-engineering