获取华为解锁码的思路 | 您所在的位置:网站首页 › 华为p10解锁方式 › 获取华为解锁码的思路 |
前言 华为手机在刷入第三方rom需要首先解锁手机,而获取解锁码必须要在华为官网进行,并且有14天限制,这无疑给某些特殊需求的用户和rom定制厂商设置了一个很大难题,也为华为保护自身定制软件提供了有利因素,因此这里给出获取华为解锁码的思路。 方法一 通过在内置存储卡中dump出nvme分区,搜索WVDEVID关键字获得,这样做的缺陷是手机需要root 255|shell@hwp7:/ $ su root@hwp7:/ # cd /storage/sdcard1/ root@hwp7:/storage/sdcard1 # mkdir -p PartitionBackup root@hwp7:/storage/sdcard1 # cd PartitionBackup root@hwp7:/storage/sdcard1/PartitionBackup # dd of=nvme \ > if=/dev/block/platform/hi_mci.0/by-name/nvme 8192+0 records in 8192+0 records out 4194304 bytes transferred in 0.916 secs (4578934 bytes/sec) root@hwp7:/storage/sdcard1/PartitionBackup # dd of=oeminfo \ > if=/dev/block/platform/hi_mci.0/by-name/oeminfo 65536+0 records in 65536+0 records out 33554432 bytes transferred in 8.768 secs (3826919 bytes/sec) root@hwp7:/storage/sdcard1/PartitionBackup # dd of=recovery \ > if=/dev/block/platform/hi_mci.0/by-name/recovery 32768+0 records in 32768+0 records out 16777216 bytes transferred in 4.419 secs (3796609 bytes/sec) root@hwp7:/storage/sdcard1/PartitionBackup # strings nvme | grep WVDEVID -B 1 1234567890123456方法二 通过华为工程模式获得,但是需要获得工程模式授权,具体逆向思路如下(华为工程模式的详细介绍请问度娘:)) 0x00得到拨号*#*#2846579#*#*呼出的工程模式设置activity的信息 1.首先拨号*#*#2846579#*#*呼出工程模式菜单ProjectMenuAct 2.输入:adb shell dumpsys activity|grep “Runningactivities” –A 7 得到ProjectMenuAct这个Activity的信息,从下图可以看出来该Activity所在的包名为com.android.huawei.projectmenu。
3.得到包名为com.android.huawei.projectmenu对应的apk路径 可以知道ProjectMenuAct这个Activity在/system/app/ProjectMenuAct.apk中,我们把这个apk以及odex给pull下来进行逆向分析。 0x01 反编译ProjectMenuAct .odex 由于华为手机的dalvik虚拟机添加了一些内部java方法,直接用baksmali反编译会失败,需要特殊处理,请详见我博客上的文章: http://blog.csdn.net/autohacker/article/details/501597030x02 分析ProjectMenuAct应用
通过代码可以看出,ProjectMenuAct通过android属性系统启动了一个名为atcmdserver的进程用于作为华为手机工程模式的服务端。
0x03逆向atcmdserver 用IDA attach进程atcmdserver
通过在IDA中搜索字符串关键字key,结合交叉引用我们可以逐步找到华为工程模式的命令表所在的内存地址,如下图所示:
进一步调试发现华为工程模式的验证授权流程的主要逻辑是通过 AT^CHECKAUTHORITY AT^CONFORMAUTHORITY=而获取bootloader解锁码是如下指令(必须通过授权之后才能获得)AT^WVKEY?每一条指令都有先对应的函数来处理,下图中贴出AT^CHECKAUTHORITY的处理程序(图中的各函数通过各种分析处理后修复了堆栈平衡并且根据函数具体功能进行了重命名) |
CopyRight 2018-2019 实验室设备网 版权所有 |