21得票6回答
使用objdump进行ARM架构的反汇编:将其反汇编为ARM指令

我有一个目标文件,想要进行反汇编。当我使用:objdump -d example.o 我在代码中得到一个 elf64-x86-64 文件格式的汇编代码。 我想将其反汇编为ARM,应该如何操作?

21得票6回答
免费的64位反汇编器?

注意:类似的问题也可以在Reverse Engineering Stack Exchange上找到。 是否有免费的AMD64反汇编器? 看起来有很多x86反汇编器,但它们无法打开64位文件... 更新: 是否有可以在反汇编中显示导出符号的工具?当没有识别出导出时,很难确定代码。 (我不需要调试...

21得票3回答
有没有替代IDA Pro的工具?

有没有任何反汇编器的功能集与IDA Pro相当? 我对免费和商业产品都感兴趣。请每个产品使用一个答案,并在可能的情况下写一个简短的评论,比如“易于使用”,“很多功能”,“仅支持PE文件”,...

20得票2回答
需要帮助理解E8汇编call指令x86

我需要帮助理解以下汇编指令。在我看来,我正在调用一个地址,该地址的值为 someUnknownValue += 20994A?E8 32F6FFFF - call std::_Init_locks::operator=+20994A

20得票3回答
我能否给objdump一个地址并让它反汇编包含该地址的函数?

我发现为了获取足够的上下文以查看是什么导致了崩溃,不得不拆开大量的库代码真的很烦人。有没有办法只需将一个地址交给objdump,就让它为我找到所包含函数的边界呢? 编辑:更好的方法是,我可以让它为我反汇编整个堆栈跟踪吗?

19得票2回答
有没有针对Java的反汇编器和调试器(类似于汇编语言中的OllyDbg / SoftICE)?

有没有类似于 OllyDbg / SoftICE 的Java工具,可以执行类(从jar /带有类路径),并且在没有源代码的情况下显示中间代码的反汇编,并具备逐步执行/跳过/搜索引用/编辑内存中特定的中间代码/将更改应用于文件的能力? 如果没有,那么编写这样的工具是否可行(假设我们愿意在调试期...

19得票9回答
C程序反向工程

每个C程序都会转换为机器码,如果该二进制文件被分发。由于计算机的指令集是众所周知的,那么是否可能将其还原回C原始程序?

19得票4回答
如何高效地调试优化过的C/C++程序?

很多时候我会使用优化过的代码(有时甚至涉及矢量化循环),但是这些代码中可能会存在错误等问题。如何调试这样的代码?我正在寻找任何类型的工具或技术。我使用以下(可能已过时)的工具,因此我想升级。 我使用以下工具: - 由于ddd无法看到代码,因此我使用gdb+ dissambler命令并查看生...

18得票3回答
使用std::array替换C语言风格数组对于数组来说是否完全安全?

第一次提问者 :) 在不破坏代码的情况下,是否可以将全局c风格数组转换为std :: arrays?我正在开发一个项目,该项目包括反编译旧游戏的源代码。我们已经成功地重构了大部分反汇编/反编译输出。由于它是自动化的,因此仍然存在像 int a; int b[50]; *(&amp...

18得票2回答
为什么堆栈会被填充为0xCCCCCCCC?

我目前正在反汇编一些使用Visual Studio 2012 Express制作的小型C程序,我注意到这些二进制文件中存在一种趋势。 在主函数中执行的第一组指令总是: SUB ESP,154 ; Doesn't have to be 0x154....