注意:类似的问题也可以在Reverse Engineering Stack Exchange上找到。
是否有免费的AMD64反汇编器?
看起来有很多x86反汇编器,但它们无法打开64位文件...
更新:
是否有可以在反汇编中显示导出符号的工具?当没有识别出导出时,很难确定代码。 (我不需要调试符号,只需导出)
是否有免费的AMD64反汇编器?
看起来有很多x86反汇编器,但它们无法打开64位文件...
是否有可以在反汇编中显示导出符号的工具?当没有识别出导出时,很难确定代码。 (我不需要调试符号,只需导出)
我使用objdump -d
命令。 :-) 这个命令对你不起作用吗?
ntoskrnl.exe
,但是没有看到任何函数名称...我做错了什么吗?(我正在寻找的 导出函数 应该总是存在的,你不需要符号来识别它们...) - user541686dumpbin /disasm ntoskrnl.exe /out:ntoskrnl.asm
它也不会内联显示导出项,但您可以使用 /exports 开关分别查看它们。然后,您可以编写一个小脚本来解析导出项并在汇编清单中用名称替换地址。
GNU binutils包括objdump
,这个工具可以使用:
-d
--disassemble
显示从objfile中读取的机器指令的汇编语言助记符。此选项仅反汇编预期包含指令的那些部分。
-D
--disassemble-all
类似于-d,但会反汇编所有部分的内容(而不仅仅是预期包含指令的部分)。如果目标是ARM架构,则此开关还会强制解码在代码节中发现的数据片段,就好像它们是指令一样。
大多数已安装GCC或其他开发工具的Linux发行版上已经安装了该工具,Windows版本可通过例如Cygwin获得。
ArkDasm是一款64位交互式反汇编工具。支持的文件类型为PE64和裸二进制文件。
您可以查看导入、导出、调试符号(如果有.pdb文件),将代码翻转为数据,将数据翻转为代码(请参阅readme.pdf中的键盘快捷键),支持书签、添加注释,还可以保存数据库以便后续操作...
http://www.duxcore.com/products.html
http://www.duxcore.com/fs_files/VisualDuxDbgSetup.zip
Visual DuxDebugger是一款64位Windows调试器反汇编器。
主要特点: 完全支持64位本地进程 完全支持64位.NET进程 完整的代码分析 完整的内存分析 代码编辑 内存编辑 模块导出格式(EXE/DLL/CSV) 调试多个进程 调试多个子进程
最低要求: 操作系统:Windows 7 64位/Windows Server 2008 R2 处理器:Pentium 4 3.0 GHz
推荐要求: 操作系统:Windows 7 64位/Windows Server 2008 R2 处理器:双核2.5 GHz 显示器:1920 x 1080
WinDbg会转储导出表并让您进行探索。
windbg.exe -z \path\to\someinteresting.exe
x someinteresting!*
uf someinteresting!AnExportedFunction