mm475 发表于 2014-12-1 20:59

硬件断点之-另类的注册信息保存

目标软件下载地址http://www.nine-head-bird.com申明:软件是国产的,咱们需要保护,我所讲到的只是方法。请大家珍惜别人的产品。废话不多说:安装后,查壳ASProtect 2.1x SKE -> Alexey Solodovnikov 脱壳就不说了,没有Stolen Code ,很简单,实在搞不定就用带壳分析,打补丁注册。
脱壳后丢OD里运行查看启动窗口为未注册输入假码提示下次重启软件验证注册。此软件为重启验证!
我们就从这个“未注册”入手。查找字符串找到0045EE58   .FFD7          call edi                                 ; \DrawTextA0045EE5A   .A1 5C3E4B00   mov eax,dword ptr ds:0045EE5F   .3958 F8       cmp dword ptr ds:,ebx0045EE62   .75 10         jnz XUnPack_.0045EE74                                                                  jnz跳了就是注册版了      0045EE64   .68 FCDD4A00   push UnPack_.004ADDFC                                                   ;未注册0045EE69   .8D4C24 10   lea ecx,dword ptr ss:0045EE6D   .E8 B0F90100   call <jmp.&mfc42.#860>0045EE72   .EB 13         jmp XUnPack_.0045EE87我们就在0045EE58下断重启软件,改JNZ为jmp或je,软件启动后,软件注册框还在,软件的关于提示是注册的。这样的逆向不是我们要的!
再分析代码0045EE5A   .A1 5C3E4B00   mov eax,dword ptr ds:0045EE5F   .3958 F8       cmp dword ptr ds:,ebx      0045EE62      75 10         jnz XUnPack_.0045EE74
Ebx改为1就是我们上面的修改方案。好吧!我们动下ds:=00000000脑筋,下硬件断点重启软件

在oep的地方,我们点硬件断点跟随,查看数值的变化。003A4378初始值为4,在第三次中断后值为0,一直到软件启动完毕003A4378一直是0。好吧我们重启软件在第二次中断后单步,注意003A4378值的变化。0045D363   .74 12         je XUnPack_.0045D377                                    如果je跳了,003A4378=40045D365   .68 18394B00   push UnPack_.004B3918                            这是我们想要的,不能让je跳0045D36A   .8BCB          mov ecx,ebx0045D36C   .E8 B1140200   call <jmp.&mfc42.#860>                              出call后003A4378=0我们向上再分析代码0045D34E   > \33FF          xor edi,edi0045D350   .33C0          xor eax,eax0045D352   .EB 07         jmp XUnPack_.0045D35B0045D354   >B8 01000000   mov eax,0x1         修改mov eax,0或xor eax,eax0045D359   .33FF          xor edi,edi                  0045D35B   >3BC7          cmp eax,edi0045D35D   .8986 EC000000 mov dword ptr ds:,eax0045D363   .74 12         je XUnPack_.0045D377    如果je跳了,0045D36C=4

好了0045D354      B8 00000000   mov eax,0x0爆破成功,注册框没有了,关于是Volx是默认的,这。。。。。。也不是我们想要的,继续!查看注册表注册项没有volx,本地目录有个StockMan.mdb,我们猜下他的注册信息放在什么地方呢?找一个access数据库浏览器查看下就知道了启动软件完美爆破 爆破后注册信息就保存了,用未脱壳的程序进去,软件也是注册的


小者 发表于 2014-12-1 21:03

国内软件太多了还是把这个给玩死吧{:5_188:}

520Kelly 发表于 2014-12-1 21:04

写得还不错、但是有不足 我这里提一个意见吧

就是在你下完硬件断点以后 重启软件那一段,我也是没看懂、能不能补几个图详细说下

Master 发表于 2014-12-1 21:05

看了下   思路还算顺 没走弯路

神秘小子 发表于 2014-12-1 21:13

感谢分享来学习下

mm475 发表于 2014-12-1 21:28

520Kelly 发表于 2014-12-1 21:04
写得还不错、但是有不足 我这里提一个意见吧

就是在你下完硬件断点以后 重启软件那一段,我也是没看懂、 ...

补了3张图,做图文真的是说不清楚,下次改做视频吧{:5_121:}

520Kelly 发表于 2014-12-1 21:34

mm475 发表于 2014-12-1 21:28
补了3张图,做图文真的是说不清楚,下次改做视频吧

其实你做视频更好点、写图文很多细节不能说清楚,做视频的话 用语音快点

Scar-疤痕 发表于 2014-12-1 21:48

学习了!谢谢楼主!

好三易语言 发表于 2014-12-1 22:06

本帖最后由 Crack杰 于 2014-12-2 20:55 编辑

谢谢分享请大神指点一下 我的网名好三易语言


扯淡 发表于 2014-12-1 22:31

这个可以有。。厉害
页: [1] 2 3 4 5 6
查看完整版本: 硬件断点之-另类的注册信息保存