吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2742|回复: 16
收起左侧

[原创] 采用IDA Pro 分析878UVII radio对讲机固件初步研究

  [复制链接]
gmg2719 发表于 2023-1-3 23:56
ANYTONE 878 对讲机的固件是没有经过任何加密的,作为对于ARM固件的初步入门分析相对较简单,本帖原始固件详见附件。
FW-D878.zip (545.53 KB, 下载次数: 66)
此固件包含了三个文件,其中.CDD的文件是重点分析的固件文件。
ANYTONE 878采用的是 GigaDevice GD32 ARM Cortex-M4 处理器。处理器的技术文件规范可以 从 https://www.gigadevice.com/zh-hans/microcontroller/gd32f303vgt6/  下载


将CDD文件拖入IDA PRO,可见此时IDA无法识别具体的格式, 在这里我们需要人为辅助IDA一下
image.png
Processor type 选择
ARM little-endian”
image.png

点击 set 按钮调出如下对话框
image.png

点击edit ARM architecture options
由于这款CPU是基于ARMv7E-M的,故而进行如下选择:
image.png

点击OK,再勾选 No automatic ARM THUMB switching。
image.png
点击OK,基本完成了load选项。点击OK,弹出如下窗口
image.png
根据DATASHEET文档,可以获知如下信息:
这款ARM CPU要求的image起始地址是 0x8004000。 这是映射到物理ROM的地址。所以我们的固件地址从这里开始映射。
RAM 开始于 0x20000000 ,大小是0x17FFF
上面的对话框更改相关的数据如下:
image.png


点击OK。出现这个对话框,再点击OK
image.png

固件初始被Load之后的样子大概如下图。可见IDA的自动分析结果非常糟糕。根本看不出什么有用的指令信息。
image.png
image.png

如何协助IDA ,我们需要阅读规范。如下图所示,根据规范 offset 0x0000 (0x08004000) 包含了 initial stack pointer,CPU会将接下来的4个字节读取后作为未来stack的指针。
000.png
接下来4个字节叫做Reset Handler, 这是一个非常重要的地方,CPU进行boot或者reboot的时候都会jump到这里的handler。
把前几个字节都转换为DWORD,和上面的表对应一下如下。

000.png
添加注释如下:

image.png

根据ARM的规范,当reset handler最低位是1的时候,需要采用的是Thumb 指令集。
0xF9 转换二进制 11111001b,最低位是1,是Thumb.  
双击这个地址,跳转到如下位置。 由于最低位是Thumb指示。故而实际我们的地址还要再减去1.也就是将光标放在ROM:08004BF8
位置






按下ALT+G, 设置如下:
image.png

点击OK,再按下C
image.png
我们可以看到有有效的指令出来了,这是reset handler的指令部分

image.png


image.png

按下SHIFT+F12键,可以看到有很多有意义的字符串也解析出来。

image.png

至此,采用IDA进行这款固件解析工作的入门操作就完成了。后续就可以按部就班达到开展其他感兴趣的分析了。
image.png

免费评分

参与人数 9威望 +1 吾爱币 +30 热心值 +9 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
笙若 + 1 + 1 谢谢@Thanks!
yuleuncle + 1 谢谢@Thanks!
我是不会改名的 + 4 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
woyucheng + 1 + 1 谢谢@Thanks!
xlln + 1 + 1 我很赞同!
Ll001 + 1 + 1 谢谢@Thanks!
evea + 1 + 1 谢谢@Thanks!
King1993 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| gmg2719 发表于 2023-1-4 11:27
bevirus 发表于 2023-1-4 09:23
请问一下楼主,固件的解压密码是多少

52pojie 采用论坛默认密码
King1993 发表于 2023-1-4 08:14
aa2923821a 发表于 2023-1-4 08:46
52new 发表于 2023-1-4 08:55
搞固件太厉害了
bevirus 发表于 2023-1-4 09:20
感谢楼主分享
bevirus 发表于 2023-1-4 09:23
请问一下楼主,固件的解压密码是多少
fycdl 发表于 2023-1-4 09:27
很喜欢这类软件
1587665267 发表于 2023-1-4 09:36
很喜欢这类软件
feiyu361 发表于 2023-1-4 12:22
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-15 05:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表