ARM和Thumb模式下的断点总结

ARM和Thumb模式下的断点总结

ARM和Thumb模式下的断点总结

脱壳或者调试SO的时候,需要在恰当的时机让进程停下来,以便于附加调试器到该进程上。被无视的壳虐待之后,总结出以下几种断点的方法。

1. 死循环

ARM Mode
ARM Mode下每条指令长度为4个字节,对应跳转自身的Opcode是FE FF FF EA,对应的助记符是:

LOAD:000033B8 FE FF FF EA                 B               loc_33B8

Thumb Mode
Thumb Mode下每条指令长度为2个字节,对应跳转自身的Opcode是FE E7,对应的助记符是:

.text:80407770 FE E7                       B       loc_80407770
2. 断点

来自Github,代码片段:

/** The ARM BKPT instruction opcode */
#define ARM_BKPT_OPCODE ((uint32_t)0xE1200070)

/** The Thumb BKPT instruction opcode */
#define THUMB_BKPT_OPCODE ((uint16_t)0xBE00)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在系统学习ARM寄存器结构和功能之前,有必要先了解一下ARM的工作模式和工作状态。 一、 ARM的工作状态 两种状...
    Umiade阅读 1,044评论 0 0
  • 1.ARM中一些常见英文缩写解释 MSB:最高有效位; LSB:最低有效位; AHB:先进的高性能总线; VPB:...
    Leon_Geo阅读 644评论 0 4
  • 我只是想来一场不分手的爱情,谈一场相匹配的恋情,毕竟我没有那么的精力。但是我知道现在的我还有很多不足,我不急,修炼...
    风重阅读 3,324评论 83 86
  • 1.血液粘稠度(N) 血液流变学的基本指标,是指血液分子间的内摩擦力。 高粘状态:即血液的粘度高,血液流动就受到影...
    小秋秋健康大使阅读 733评论 0 0
  • 一叶知秋,谁知我忧?自古逢秋多寂寥,人影单,心意寒。秋虫残鸣,红叶伤!舞漫天!莫名其妙的忧伤,谁解花语,谁知吾意?...
    珍爱自己魅狸人生阅读 603评论 0 0