通过逆向Anan刷机大师得到集成三星线刷的思路
0x01发现设备
一旦有线刷模式的三星手机通过USB连接上PC,三星的USB转COM口驱动ssudmdm.sys就会在注册表
键为\HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM增加值项\Device\ssudmdmXXXX,如下图1:
图1
很明显,三星的设备都是\Device\ssudmdm开头,后面的XXXX是由驱动分配的序号,这里配合Windows的USB的热插拔消息能很好的发现三星设备。
0x02 集成安安的三星刷机shell
安安的三星的刷机shell其实是改过后的odin3,如图2,通过修改程序入口处, LoadLibrary一个名为CONDLG32.dll的动态链接库以达到在进程中修改odin3程序行为的目的。我们不妨调用它的shell与
图 2
odin3进行交互线刷,能省去不少精力。相应的shell文件以及其依赖的文件全部放在报告中odin文件夹下。
详细的交互流程请见报告中src文件夹下的demo工程http://download.csdn.net/detail/autohacker/9438947
图3
全部逻辑全部在函数startshell里面,startshell的参数说明如下:
Id – 线刷ID , shell会通过这个id去查找注册表查找对应的串口号,所以我们需要先准备好注册表相应的值项(详见代码)
deviceName– 串口设备名 , 就是上一节我们介绍的\Device\ssudmdmXXXX
comport – 串口号
romFileName– 刷机包路径 , 这里即支持安安的刷机包,也支持三星原版的刷机包
通过匿名管道重定向shell的输出流后,我们能清晰地看到整个详细的刷机进程,如下图
图4
0x03 如何提取安安的刷机包
安安的dx3刷机文件是一种对tar格式的刷机rom的压缩加密之后的自定义文件格式,它通过hook住kernel32.CreateFileW,kernel32.ReadFile等文件操作函数实现一个微型文件沙盒从而对dx3文件进行解密并无缝调用odin3的相关线刷函数,如下图5,kernel32.ReadFile的函数开头处被inline hook。
图5
因此,研究它的文件解密算法还不如直接注入到shell进程里面去调用被它hook住的相关函数,具体逻辑请参见报告中src文件夹下的dumptar工程,它是一个dll工程,我们需要把dumptar.dll注入到shell进程里面去,因此这里采用微软detours里面的工具setdll将这个dll写入到shell的导入表里面去,如下图:
运行安安优化大师进行刷机既可以将刷机tar文件解密到c:\parker.tar。
0x04 总结
安安解锁三星机型的具体逻辑在rom包的相关文件中,直接拷贝安安刷机包中aboot.mbn即可实现对三星手机解锁。
通过逆向Anan刷机大师得到集成三星线刷的思路相关推荐
- 刷机大师3.2.1一键刷机流程攻略
刷机大师3.2.1一键刷机流程攻略 刷机大师于近日更新了最新版本3.2.1,新版不仅界面全部重做,更优化了无数细节以便提升刷机体验,做最简单最方便的一键刷机工具一直是我们的宗旨,对于刚刚入手一台安卓手 ...
- oppo A37全网通刷机包原厂售后线刷包自带工具
oppo A37刷机包|oppo A37全网通刷机包原厂售后线刷包自带工具 oppo A37刷机包,OPPO手机的官方售后线刷包.下面是给大家带来的通用的刷机教程说明截图.上面有刷机的步骤指示,按图片 ...
- Redmi Note 10 root权限 刷机教程,红米note10 root 线刷救砖包
Redmi Note 10 root权限 刷机教程,红米note10 root 线刷救砖包 视频 演示地址 https://www.bilibili.com/video/BV1Po4y1X7MF
- 酷米SOP S10手机刷机固件原厂维修线刷包附教程
酷米S10刷机包 酷米SOP S10手机刷机固件原厂维修线刷包附教程 http://www.shoujishuaji.net/ruanjian/14189.html 酷米S10刷机包,原厂手机系统维修 ...
- 步步高vivo x5maxv手机刷机固件电信4G售后线刷包
步步高vivo x5maxv手机刷机固件电信4G售后线刷包 步步高x5maxv刷机包,来自vivo手机原厂的售后维修专业刷机包,也是该机型的官方售后专用的维修资料.来自:http://www.shou ...
- 步步高vivo x5maxl手机刷机包原厂维修线刷包附教程
步步高vivo x5maxl手机刷机包原厂维修线刷包附教程 来自:http://www.shoujishuaji.net/ruanjian/14192.html vivo x5maxl刷机包,步步高手 ...
- 步步高vivo y35a官方刷机包原厂手机线刷包附教程
步步高vivo y35a官方刷机包原厂手机线刷包附教程 http://www.shoujishuaji.net/ruanjian/14194.html 步步高y35a刷机包,这个机型也称为Y35L,Y ...
- htc one m7刷Linux,HTC One M7刷机教程 HTC One M7线刷教程
HTC One M7怎样线刷呢?其实网上的教程挺多的,为了给大家带来方便,小编把教程详细的整理了一通,下面就是HTC One M7线刷的教程,希望本篇教程对大家有使用价值,具体的请看以下操作:一:准备 ...
- 金立(Gionee)金立M7 Power root 大金刚 GN5007 刷机TWRP 面具 XP框架 线刷包
刷机 免解锁BL 刷精简官方系统,如果需要售后刷机软件 请联系获取 免费获取 成功安装框架. 成功 root 金立(Gionee)金立M7 Power root 大金刚 GN5007 刷机TWRP ...
最新文章
- mui实现手机web拍照_WEB前端开发与后端开发比较
- c语言i o编程,C 语言输入输出 (I/O)
- pytorch torch.cumsum(input, dim, out=None)函数(沿轴逐级累加)
- qpython3可视图形界面_PySide——Python图形化界面入门教程(三)
- 华为IoT平台NB编解码插件开发详细教程【下篇】
- FCPX插件:Hyper Zoom Transitions Mac(33种扭曲变形缩放转场效果)
- linux vim命令及使用,极大提升使用linux的舒适程度
- rbac yii 1
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
- 最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)
- TI的C64X系列的DSPLib实现fft
- 澳洲的10种房屋类型
- Ubuntu系统接入移动硬盘后打不开问题
- 重新定义RPA,重塑智能生产力 | 云扩科技RPA论坛成功举办
- vue实现导入表格数据【纯前端实现】
- 百家号同步公众号的自媒体工具有吗?
- tile cannot extend outside image
- 雷德(Rader)算法
- Endnote中文参考文献格式
- 如何给一个 HTAP 数据库做基准测试?StoneDB学术分享会第4期
热门文章
- 什么是Pinia,它是如何工作的
- 负资本也能创业?不要放弃赚钱的梦想
- vue cms模板 支持主题风格切换、换肤
- android捕鱼达人修改方法(反编译、修改、打包)
- LabVIEW NXG4.0导入dll
- 关于WIN10 edge浏览器报错 找不到DNS地址 错误代码:INET_E_RESOURCE_NOT_FOUND 的解决方法
- 【SciPy库】scipy.optimize.fmin_l_bfgs_b进行L-BFGS优化
- 从零学习BlackHatPython之——VMware Workstation安装Kali Linux并进行配置
- 2020年5大一线城市Java薪资水平汇总,你还差多少呢?
- ARM裸机开发篇2:ARM微处理器指令系统