为 IDA 编写沙箱插件(使用 IDAPython,但事实并非如此)来分析 ARM 操作码,我遇到了以下问题:
1) 如何通过插件 API 区分特定的 ARM 架构(例如 ARMv5、ARMv7 等)?虽然 IDB 标头中明确说明了适当的架构,但我未能找到任何合适的 API 来从插件中检索该信息。
idaapi.get_inf_structure() -> procName
似乎为任何 ARM ELF/Mach-O 二进制文件返回“ARM”。扫描操作码可能是一个解决方案,但我怀疑这是一个很好的解决方案
2)32/64标志(即is_32bit/is_64bit)可用于区分arm64,例如fat mach-o的报告+/-代表32位(ARMv7)和+/+代表64位(ARM64)IDA。我错过了什么吗?
3) 是否有任何最佳实践来确定 ARM 的拇指指令模式?还没有走那么远,坚持架构问题......
可能是我瞎了?