我刚接触手机破解一周,发个贴说说学习过程,一方面请各位指正,一方面想不到之处,请各位大侠指正。
看了一堆关于手机软件破解的贴子,然后是准备工具:
1。ida pro 5.2 (看雪论坛有)
2。sis软件解包工具:extsis
3。资源文件编辑工具:ultrarsceditor
练手的软件是guardian 1.03版,可能是RP问题,第一次练手就碰到个难的。
操作过程:
1,extsis解压sisx文件,c_sys文件夹下面居然有10个文件。
2009-05-17 20:51 141,468 DefPlugins_200112DF.DLL
2009-05-17 20:51 90,488 DialogPIN_200107B0.DLL
2009-05-17 20:51 8,912 GuardAuto_200107AD.exe
2009-05-17 20:51 11,212 GuardCli_200107AC.dll
2009-05-17 20:51 545,984 GuardGUI_200131CC.exe
2009-05-17 20:51 65,520 Guardian_200131CB.exe
2009-05-17 20:51 85,420 GuardSrv_200107AB.exe
2009-05-17 20:51 15,516 Install_200107b2.exe
2009-05-17 20:51 7,512 Uninstall_200107b4.exe
2009-05-17 20:51 30,644 Utils_200107AE.dll
分析后决定从guardgui_200131cc.exe文件下手,因为这个文件有界面,注册成功与否的提示。
2。用ida,打开guardgui_200131cc.exe。然后把学来的招术一一试验:
先查提示信息:"Wrong Registration Code!",没查到。然后查常用函数时间类:
HomeTime__5TTime
DaysFrom__C5TTimeG5TTime
判断类:
Compare__C7TDesC16RC7TDesC16
Compare__C6TDesC8RC6TDesC8
CompareF__C7TDesC16RC7TDesC16..strcmp
读取串号类:
GetMachineIdL
Getgsmphoneid IMEI
GetSubscriberId IMEI
基本没有什么有价值的收获。。。
3。查不到:"Wrong Registration Code!",有两个可能,一个是串加了密,另一个可能是放在资源文件里了。用ultrarsceditor打开资源文件,查看一番,果然如此:
晕。。。发不了图
4。现在要得到的是注册成功和失败的资源ID,以及资源文件的ID
在ultraRseEditor左下框有资源ID,这个ID是从0开始编的,也就是说第一个资源的ID编号是0。而在程序中,资源ID是从1开始编。因此从这里得到的ID,在IDA中使用需要加1。在这一步,得到错误注册码的资源ID为71(0X47),正确注册码ID为70(0X46)。接下是是查这个资源文件的ID,在ultrarseeditor查看文件头+08处,看到6f 8f 00 00,这个就是资源文件编码。
5。有了资源ID,如何在IDA中定位呢?我是直接查#0x46
得到如下:
.text:00013680 STR R0, [R11,#var_24]
.text:00013684 LDR R3, [R11,#var_24]
.text:00013688 CMP R3, #0 ;这里是判断是否成功注册
.text:0001368C BNE loc_136AC ;如果是正确的注册码就跳到136ac
.text:00013690 MOVL R0, 0x8F6F000 ;这里是资源文件ID
.text:00013698 ADD R0, R0, #0x47 ;这时错误注册码提示ID
.text:0001369C BL sub_8734 ;显示
.text:000136A0 MOV R3, #0
.text:000136A4 STR R3, [R11,#var_60]
.text:000136A8 B loc_137C0
.text:000136AC ; ---------------------------------------------------------------------------
.text:000136AC
.text:000136AC loc_136AC ; CODE XREF: sub_13640+4Cj
.text:000136AC LDR R3, [R11,#var_24]
.text:000136B0 CMP R3, #2
.text:000136B4 BNE loc_136D0
.text:000136B8 LDR R2, [R11,#var_18]
.text:000136BC LDR R3, [R11,#var_18]
.text:000136C0 LDR R3, [R3,#0xA4]
。。。。。。省略数行
.text:000136F4 MOV R4, R3,ASR#31
.text:000136F8 MOV R2, R3
.text:000136FC MOV R3, R4
.text:00013700 BL TDesAppendNumEx
.text:00013704 BL CleanupStackPopAndDestroyEv
.text:00013708 MOVL R0, 0x8F6F000 ;资源文件ID
.text:00013710 ADD R0, R0, #0x46 ;这里是正确注册字串的ID
.text:00013714 BL sub_86C4
分析就到这里。我的QQ是1163391014
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!