学习使用Unidbg调用so库内函数的一个疑问?

新手上路,请多包涵
module.callFunction(emulator, 0x7A8D + 1, args.toArray());

这是我看别人使用 unidbg调用so的例子,第二个参数中(0x7A8D)是函数在ida这些工具当中的地址吗?为什么要加1呢?

阅读 1.6k
1 个回答
新手上路,请多包涵

因为这段代码是Thumb指令集。
ARM处理器用PC的bit[0]来作为CPSR寄存器的T标志位,实际上访问的代码位置还是0x7A8D。
ARM-Thumb interworking

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏