在 Ghidra 中,我需要设置什么以便反汇编器处于 Thumb 模式而不是 ARM

逆向工程 手臂 吉德拉
2021-06-17 10:57:38

在 IDA 中,我会按 Alt+G 并将 T 寄存器设置为 1 以首先将代码设为 Thumb,但在 Ghidra 中我不确定如何强制它。

上下文是我有一些数据结构指向的函数,我已经将它们设置为具有新函数指针类型的数据类型,所以我不确定我是否真的只需要重新分析代码,它会正确流动(也不知道如何做到这一点),或者如果我只需要手动强制它。

[编辑:]我最初选择 ARMv4 作为我的目标,在阅读了一些ARM 架构并从 ARMv7 重新开始后,代码正确地支持 Thumb。

1个回答

因此,一旦在具有 Thumb (ARMv7+) 的体系结构中选择感兴趣的区域并按 CTRL+R 将调出设置寄存器值编辑器,然后选择 TMode 并设置值 1。

如果您有编辑 -> 工具选项 -> 选项 | 列表字段 | 注册字段 | Display Hidden Registers 设置,您将获得类似的注释

assume TMode = 0x1

在您的列表中