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刷机大师得到集成三星线刷的思路相关推荐

  1. 刷机大师3.2.1一键刷机流程攻略

    刷机大师3.2.1一键刷机流程攻略 刷机大师于近日更新了最新版本3.2.1,新版不仅界面全部重做,更优化了无数细节以便提升刷机体验,做最简单最方便的一键刷机工具一直是我们的宗旨,对于刚刚入手一台安卓手 ...

  2. oppo A37全网通刷机包原厂售后线刷包自带工具

    oppo A37刷机包|oppo A37全网通刷机包原厂售后线刷包自带工具 oppo A37刷机包,OPPO手机的官方售后线刷包.下面是给大家带来的通用的刷机教程说明截图.上面有刷机的步骤指示,按图片 ...

  3. Redmi Note 10 root权限 刷机教程,红米note10 root 线刷救砖包

    Redmi Note 10 root权限 刷机教程,红米note10 root 线刷救砖包 视频 演示地址 https://www.bilibili.com/video/BV1Po4y1X7MF

  4. 酷米SOP S10手机刷机固件原厂维修线刷包附教程

    酷米S10刷机包 酷米SOP S10手机刷机固件原厂维修线刷包附教程 http://www.shoujishuaji.net/ruanjian/14189.html 酷米S10刷机包,原厂手机系统维修 ...

  5. 步步高vivo x5maxv手机刷机固件电信4G售后线刷包

    步步高vivo x5maxv手机刷机固件电信4G售后线刷包 步步高x5maxv刷机包,来自vivo手机原厂的售后维修专业刷机包,也是该机型的官方售后专用的维修资料.来自:http://www.shou ...

  6. 步步高vivo x5maxl手机刷机包原厂维修线刷包附教程

    步步高vivo x5maxl手机刷机包原厂维修线刷包附教程 来自:http://www.shoujishuaji.net/ruanjian/14192.html vivo x5maxl刷机包,步步高手 ...

  7. 步步高vivo y35a官方刷机包原厂手机线刷包附教程

    步步高vivo y35a官方刷机包原厂手机线刷包附教程 http://www.shoujishuaji.net/ruanjian/14194.html 步步高y35a刷机包,这个机型也称为Y35L,Y ...

  8. htc one m7刷Linux,HTC One M7刷机教程 HTC One M7线刷教程

    HTC One M7怎样线刷呢?其实网上的教程挺多的,为了给大家带来方便,小编把教程详细的整理了一通,下面就是HTC One M7线刷的教程,希望本篇教程对大家有使用价值,具体的请看以下操作:一:准备 ...

  9. 金立(Gionee)金立M7 Power root 大金刚 GN5007 刷机TWRP 面具 XP框架 线刷包

    刷机  免解锁BL  刷精简官方系统,如果需要售后刷机软件 请联系获取 免费获取 成功安装框架. 成功 root 金立(Gionee)金立M7 Power root 大金刚 GN5007 刷机TWRP ...

最新文章

  1. mui实现手机web拍照_WEB前端开发与后端开发比较
  2. c语言i o编程,C 语言输入输出 (I/O)
  3. pytorch torch.cumsum(input, dim, out=None)函数(沿轴逐级累加)
  4. qpython3可视图形界面_PySide——Python图形化界面入门教程(三)
  5. 华为IoT平台NB编解码插件开发详细教程【下篇】
  6. FCPX插件:Hyper Zoom Transitions Mac(33种扭曲变形缩放转场效果)
  7. linux vim命令及使用,极大提升使用linux的舒适程度
  8. rbac yii 1
  9. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
  10. 最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)
  11. TI的C64X系列的DSPLib实现fft
  12. 澳洲的10种房屋类型
  13. Ubuntu系统接入移动硬盘后打不开问题
  14. 重新定义RPA,重塑智能生产力 | 云扩科技RPA论坛成功举办
  15. vue实现导入表格数据【纯前端实现】
  16. 百家号同步公众号的自媒体工具有吗?
  17. tile cannot extend outside image
  18. 雷德(Rader)算法
  19. Endnote中文参考文献格式
  20. 如何给一个 HTAP 数据库做基准测试?StoneDB学术分享会第4期

热门文章

  1. 什么是Pinia,它是如何工作的
  2. 负资本也能创业?不要放弃赚钱的梦想
  3. vue cms模板 支持主题风格切换、换肤
  4. android捕鱼达人修改方法(反编译、修改、打包)
  5. LabVIEW NXG4.0导入dll
  6. 关于WIN10 edge浏览器报错 找不到DNS地址 错误代码:INET_E_RESOURCE_NOT_FOUND 的解决方法
  7. 【SciPy库】scipy.optimize.fmin_l_bfgs_b进行L-BFGS优化
  8. 从零学习BlackHatPython之——VMware Workstation安装Kali Linux并进行配置
  9. 2020年5大一线城市Java薪资水平汇总,你还差多少呢?
  10. ARM裸机开发篇2:ARM微处理器指令系统