gdb 显示错误指令
逆向工程
艾达
安卓
数据库
2021-06-15 08:07:25
1个回答
Ida 显示的指令是 Thumb 模式指令。验证这一点的最简单方法是检查地址——每条指令有 2 个字节。然而,Gdb 不知道这一点,并假设 4 字节 arm 指令。当一个对象有一个符号表时,gdb 可以从中检测到指令模式,但当它不能时会回退到默认模式。您可以更改此回退模式;set arm fallback-mode thumb应该做的伎俩。
这解释了 SIGSEGV 以及断点在 arm 和 thumb 模式下使用不同的操作码。
