首页
社区
课程
招聘
[原创]关于thumb2指令下函数运行地址对齐问题及验证固件分析
发表于: 2022-10-28 10:51 20250

[原创]关于thumb2指令下函数运行地址对齐问题及验证固件分析

2022-10-28 10:51
20250

近期,在分析Thumb2指令的一个固件文件时,发现Thumb2指令集下执行函数的运行地址不对齐?

于是,为了分析一下原因,找了手头上现有的一款基于Cortex3内核的一块板子来实际执行看一下,结合编译后的Hex文件,通过IDA来进一步验证一下Thumb2运行地址不对其的现象。

//************************************************

操作示例:

1、 固件代码

找了一个FreeRTOS的示例工程,加入几行打印函数地址的日志:

2、 通过hex2bin将编译后的Hex文件转成二进制bin文件

执行情况:

3、 通过ue打开bin文件备用,如下

4、 通过Keil-IDE加载测试代码,如下:

通过IDE debug调试后,板子reset之后在内部时序逻辑的控制下,将0x00000000地址的内容读取到SP;将0x00000004地址的内容读取到PC。此时SP中存放的是栈顶地址,PC中存放的是Reset_Handler复位处理函数地址。

5、 通过IDA Pro加载上述第二步生成的bin文件,配置过程如下:

通过在示例工程中的配置,来定义加载到IDA中的内存及存储映射地址,如下:


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2022-10-28 14:35 被不爱榴莲吖编辑 ,原因: 调整格式
收藏
免费 4
支持
分享
最新回复 (2)
雪    币: 21522
活跃值: (6321)
能力值: (RANK:445 )
在线值:
发帖
回帖
粉丝
2
师傅,调一调格式啊。
2022-10-28 12:05
0
雪    币: 433
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
胡一米 师傅,调一调格式啊。
好,没注意
2022-10-28 13:45
0
游客
登录 | 注册 方可回帖
返回
//