我的问题是,您可以使用64位反汇编程序(例如IDA Pro 64位)来反转64位编译代码,还是可以使用32位代码反汇编程序。我有点困惑。

#1 楼

不,您不需要。

尽管名称,“ IDA Pro 64”允许您分析64位文件,但它本身是32位程序(直到7.0版)。 >

#2 楼

反汇编程序可以是任意位和平台。程序员只需要了解文件格式。有了这些知识,您甚至可以为16位CPU实现x64反汇编程序。

但是,您可能无法运行和调试代码。但这再也不是反汇编程序了。

#3 楼

您的问题尚不清楚
如果您只想使用32位可执行文件在32位计算机中反汇编64位代码,则可以检查反汇编程序,例如airesoft的
disasm

或使用capstone等来煮一个食物

像hte或bdasm这样的iirc hexeditors也可以处理32位计算机中反汇编的64位代码,最近还没有使用它们,但我记得用它们在Windows中反汇编elf文件。

使用airesoft的disasm.exe分解x64 windbg.exe wmain函数ala objdump样式的示例输出反汇编32位计算机中的64位二进制文​​件,如下所示

:\>DisAsm.exe "e:\EWDK\Program Files\Windows Kits\Debuggers\x64\windbg.exe" wmain -blf > foo.txt

:\>head foo.txt
twitter.com/ThatThereClaire
No size info found for wmain. Approximating...
No size info found for wmainCRTStartup. Approximating...
windbg!wmain:
                           00000000`4003e458 488bc4          mov     rax,rsp
                           00000000`4003e45b 48895808        mov     qword ptr [rax+8],rbx
                           00000000`4003e45f 48897010        mov     qword ptr [rax+10h],rsi
                           00000000`4003e463 48897818        mov     qword ptr [rax+18h],rdi
                           00000000`4003e467 55              push    rbp
                           00000000`4003e468 4154            push    r12


#4 楼

要添加许多“否”响应:最新的“ 64位反汇编程序/ IDA Pro”是指反汇编程序应用程序本身-它以64位模式执行(速度更快,并且通常比OS更好,因为它们都是64那里有几天)。这与它可以反汇编的代码无关。最新版本的功能与以前的“ 32位”版本基本相同。至少在大多数非专业人员的角度来看。64位IDA Pro可能会破坏所有预编译的插件,因为它们都是在32位模式下编译的。我还没有检查。

#5 楼

就像其他人回答的那样,您不需要特定版本的IDA Pro即可反汇编64位代码,还有许多其他选择。例如,ScratchABit是免费的开放源代码交互式反汇编程序,它支持32位和64位x86代码,并且易于扩展到其他体系结构。