软件:幸运福彩3D 1.7 Build 2008.09.11
前一段时间闲的无聊的时候整理书桌,忽然发现了一本08年的《黑客X档案》于是便把它拿出来随便翻了翻忽然看见里面有一篇破文于是决定去看看。刚好里面还有另外一篇破文,还是录像的,马上拿出来看了下,也试了试手,感觉有好多东西还是不明白,特别是作者在爆破的时候改的不是一般我们改的jnz/je或JMP而是下面一句:
005F8DB5 8B45 F8 mov eax, dword ptr [ebp-8]
把eax, dword ptr [ebp-8]中括号中的[ebp-8]改为[ebp].这里本菜鸟就不明白了,请哪位大牛来解释下吧。。。。
既然这里我不懂,那我就来看看有没有别的办法。之前已经查过壳没有壳。老样子我们OD载入,查找字符串来到这:
005F9559 E8 DEF6FFFF call My3D.005F8C3C
005F955E 85C0 test eax,eax
005F9560 74 34 je short My3D.005F9596
005F9562 B8 A0955F00 mov eax,My3D.005F95A0 ; 您已经注册!
005F9567 E8 ECF9E4FF call My3D.00448F58
005F956C 33D2 xor edx,edx
005F956E 8B83 10030000 mov eax,dword ptr ds:[ebx+310]
005F9574 E8 A770E5FF call My3D.00450620
005F9579 33D2 xor edx,edx
005F957B 8B83 08030000 mov eax,dword ptr ds:[ebx+308]
005F9581 8B08 mov ecx,dword ptr ds:[eax]
005F9583 FF51 64 call dword ptr ds:[ecx+64]
005F9586 BA B4955F00 mov edx,My3D.005F95B4
005F958B 8B83 0C030000 mov eax,dword ptr ds:[ebx+30C]
005F9591 E8 922EFCFF call My3D.005BC428
005F9596 5B pop ebx
发现了我们敏感的:
005F9559 E8 DEF6FFFF call My3D.005F8C3C
005F955E 85C0 test eax,eax
005F9560 74 34 je short My3D.005F9596
按照以往的经验,这句话就是跳过注册成功的关键语句,那我们把je改成jne试试,可结果却令我先高兴又失望。:
点不了注册进不去、、点了退出后却跳出来说你使用的次数还有。。。。。于是继续尝试了一会还是没有什么别的办法。。。。
运行了多次后忽然想起了刚才的提示“你使用的次数还有。。。。。”难道还有这句话?我再字符串中找了下 来到了这个地方:
00625FDC 68 E8666200 push My3D.006266E8 ; 你还能试用
00625FE1 8D55 E0 lea edx,dword ptr ss:[ebp-20]
00625FE4 8BC3 mov eax,ebx
00625FE6 E8 7D3CDEFF call My3D.00409C68
00625FEB FF75 E0 push dword ptr ss:[ebp-20]
00625FEE 68 FC666200 push My3D.006266FC ; 次,请尽快与heavensoldier@sohu.com联系!
这样的话关键应该是
00625FE6 E8 7D3CDEFF call My3D.00409C68了,他在计算我们的使用次数和总次数。于是参考下了12.25日yldets大侠关于破解一款软件的使用次数问题。
1.程序在注册表中读取文件来计算使用次数于是我也来试了下,天哪!那么多项,,没办法我只有一个一个的看,看到了一个叫APPID的键没有找到,我也照着添加了这些键可是结果还是不行、、、没办法,,只好想别的办法了。
2,00625FE6 E8 7D3CDEFF call My3D.00409C68跟进,这里说明下:程序一运行就不知道跑到什么地方了,而且下断后还会出现异常。。这样我就来到00409C68,在这里我随便看了看改了改,还是没办法,失败了。。。头疼啊。。。一看晚上2点多了 睡!!!!!
第二天一天都在想怎么样来破解这个程序,想了还是那样,没办法。也到吃晚饭的时间了,刚好同学请客就去喝了几杯、、、回来的时候打开电脑,又想起了这个程序,就打开电脑还是来到这:
00625FDC 68 E8666200 push My3D.006266E8 ; 你还能试用
00625FE1 8D55 E0 lea edx,dword ptr ss:[ebp-20]
00625FE4 8BC3 mov eax,ebx
00625FE6 E8 7D3CDEFF call My3D.00409C68
00625FEB FF75 E0 push dword ptr ss:[ebp-20]
00625FEE 68 FC666200 push My3D.006266FC ; 次,请尽快与heavensoldier@sohu.com联系!
对着代码发愣。。。忽然看见了这个代码push dword ptr ss:[ebp-20],难道我要像那位大侠一样把[ebp-20]改为[ebp]?我试了试、、、运行下,点了试用一下,出现了这个:
!!这几天就出现这个东西了,头疼! 没办法只好点了确定、、、可是令我吃惊的事情发生了!直接跳到了程序界面,而且如下图:
左上角的未注册图标不见了!!就在这样一个偶然的情况下我居然破解成功了、、、、、、
总结:这次破解成功没什么技术含量,纯靠运气。但这里我觉得最重要的是坚持,如果坚持我相信没有什么是不可能的。在这里我还要感谢yldets和漏网之鱼大侠供的破解思路。
除此之外也希望哪位大侠来解释下这样的原理。诚挚谢意!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课