做一个反汇编器,指令集 opcode 的意义去哪查
主流 CPU 架构的指令集手册
根据你要反汇编的 CPU 架构,你需要查阅不同的手册:
1. x86 / x64 架构 (Intel / AMD)
这是最常见的桌面和服务器架构,也是大多数恶意软件和 Windows/Linux 程序所使用的架构
- Intel 64 和 IA-32 架构软件开发人员手册: 这是 x86 / x64 架构的黄金标准。它包含好几卷,其中:
- 卷 2A、2B 和 2C:详细描述了每条指令的 操作码(Opcode)、汇编助记符(Mnemonic)、操作数(Operands)、以及指令功能
- AMD 64 架构程序员参考手册: 如果你需要支持 AMD 的处理器,这套手册是必不可少的。它与 Intel 的手册内容高度兼容,但也有一些 AMD 特有的指令
2. ARM 架构
ARM 架构主导着移动设备(手机、平板)和嵌入式系统,现在也越来越多地用于服务器和桌面
- ARM 架构参考手册: 这是 ARM 架构的官方文档。它详细介绍了 ARM 和 Thumb 指令集,以及各种架构特性,如 AArch64、AArch32 等
3. MIPS 架构
MIPS 在早期的嵌入式设备、路由器和游戏机(如 PS2)中非常流行
- MIPS32/MIPS64 架构参考手册:这是 MIPS 架构的官方手册,提供了所有指令的详细信息