老文章档案 · 2003 年

破解Crackme(Buzz'm_Frog's) (5千字)

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-08-27 · 作者:VitaminC 人气: · 出处:赢政天下整理收藏)

CrackMe下载

破解Crackme(Buzz'm_Frog's):

这个程序和它的第一个一样,是用BC++写的,同样,它获得NAME和NUM.的方法和第一个是一样的,好像正好和前几个程序也是一样的.不能用那个GETWINDOWTEXTA和GETDLGITEMTEXTA设断,要用HMEMCPY.这个东东没他写的第二个好破,至少第二个程序在你输入了错误的NUM.会有提示.这样搞到我不知在哪就已经判断了...弄得我一开始在程序里瞎忙呼!还是有出错提示的好啊...

好了言归正传:

会在这里中断:

...

:0040157E 8B0DE0AE4300 mov ecx, dword ptr [0043AEE0]

:00401584 8B81D0010000 mov eax, dword ptr [ecx+000001D0] /*用D可以看到00BA4840这个地址*/

:0040158A E80D940000 call 0040A99C /*这个CALL取得NAME放在00BA4840*/

:0040158F 8D55DC lea edx, dword ptr [ebp-24]

:00401592 8D45FC lea eax, dword ptr [ebp-04]

:00401595 E88DE10000 call 0040F727

:0040159A FF4D9C dec [ebp-64]

:0040159D 8D45DC lea eax, dword ptr [ebp-24]

:004015A0 BA02000000 mov edx, 00000002

:004015A5 E84EE10000 call 0040F6F8

:004015AA 66C745908000 mov [ebp-70], 0080

:004015B0 8D45D8 lea eax, dword ptr [ebp-28]

:004015B3 E840040000 call 004019F8

:004015B8 8BD0 mov edx, eax

:004015BA FF459C inc [ebp-64]

:004015BD 8B0DE0AE4300 mov ecx, dword ptr [0043AEE0]

:004015C3 8B81D4010000 mov eax, dword ptr [ecx+000001D4]/*用D可以看到00BA4858这个地址*/

:004015C9 E8CE930000 call 0040A99C /*这个CALL取得NUM.放在00BA4858*/

...

看上去是那么多CALL...也不知自己进去了多少个CALL.谁知又是白忙...

过了这段,就要小心了,这是常规.但这个程序好多的CALL都是没用的(呵呵对于我们CRACKER来说).就算CALL前是传入了NAME或NUM.都是没用的:-(.

好了,要到这里是关键:

* Referenced by a CALL at Addresses:

|:00403CD3 , :00407789 , :00408313 , :0040A807 , :0040A9F5

|:0040F7E0 , :0040F7F6 , :0040F80C , :0040F822 , :004187DF

|:0041CC40 , :0041F7AD , :0041F854 , :0041FB5B

|

:00425C9C 53 push ebx

:00425C9D 56 push esi

:00425C9E 57 push edi

:00425C9F 89C6 mov esi, eax

:00425CA1 89D7 mov edi, edx

:00425CA3 39D0 cmp eax, edx/*关键啊!不过难以发现!*/

:00425CA5 0F848F000000 je 00425D3A

...

说实在,能到这里我也不知是进了哪个CALL,反正一开始跟踪我发现来了这几次,留意了那个CMP并设了断,特别在我在那里用了D,你想我看到了什么?看到了123,和CA-,其实这就是好东东,那个123是我常用的NUM.(1234abcd)中的123!而那个CA-就是注册码中的前三位!GOD,立即把EAX和EDI改相等,试试!对就这样!用F5...

^-^你会发现又在这里中断了,(希望你没有用BC *因为只比较了123后面一定还有比较!)当然如果你没把EAX=EDX是不会再回来的,只会在程序的领空里打转...好,灵感一来,用D看看...又是好东东是4abcd和-3914!全出来了!退出去,把CA--3914输入去,又是一个容易的...且慢!你会发现这是不行的,又是希望你在SICE里没有BC *!你会发现会三次回到这个比较!(当然前两次要使EAX=EDX)那时用D,行了你想要的都出来了!CA-684101-3914!这就是Vitamin C对应的正确的NUM.!OK!

好了,还有就是去找算法了...

那么多的CALL,并好像每个CALL都与NUM.和NAME有关...:-(

^-^好在我在第二次过了:00425CA3那个CMP后我还细心看了代码,找到了这一段:(我关心有MOVSX的,呵呵...)

...

:00401698 8D45FC lea eax, dword ptr [ebp-04]

:0040169B E888030000 call 00401A28

:004016A0 8B9570FFFFFF mov edx, dword ptr [ebp+FFFFFF70]

:004016A6 0FBE0C10 movsx ecx, byte ptr [eax+edx] /*这种代码见过吧?常用来取一个字符

:004016AA 018D74FFFFFF add dword ptr [ebp+FFFFFF74], ecx 加上JG之类的跳跃就可取全每个字符

:004016B0 FF8570FFFFFF inc dword ptr [ebp+FFFFFF70] 了,这里还是那样,取NAME的每个字符

然后相加*/

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00401696(U)

|

:004016B6 8D45FC lea eax, dword ptr [ebp-04]

:004016B9 E894E20000 call 0040F952

:004016BE 3B8570FFFFFF cmp eax, dword ptr [ebp+FFFFFF70]

:004016C4 7FD2 jg 00401698

:004016C6 8B9574FFFFFF mov edx, dword ptr [ebp+FFFFFF74]

:004016CC 0FAF9574FFFFFF imul edx, dword ptr [ebp+FFFFFF74]/*相加得到的数字的平方*/

:004016D3 81C2AC000000 add edx, 000000AC /*再加上ACH,到了这里,用? EDX你

:004016D9 899574FFFFFF mov dword ptr [ebp+FFFFFF74], edx 会见到相识的A7045H->684101D*/

:004016DF 66C74590A400 mov [ebp-70], 00A4

:004016E5 8D45CC lea eax, dword ptr [ebp-34]

:004016E8 8B9574FFFFFF mov edx, dword ptr [ebp+FFFFFF74]

...

分析代码得出算法:

NAME的每个字符的16进制代码相加后再平方,最后加上ACH,就得出了,NUM.中间部分.

...

那么CA-和-3914呢?

它们分别是在第一次CMP和第二次CMP中已出现,那么我想,CA-是可到在第一次CPM前得来的...

那就在第二次HMEMCPY和第一次CMP间找算法....用了不少时间...

没找到...^-^...

我总不能分析它的每个CALL吧?

等等!我知道CA-放在00BA4830,-3914放在00BA6BF0.(在CMP时用D知道的.)那么...我在SICE里一开始进入程序领空时就D 00BA4830和D 00BA6BF0,O!GOD,它们已经存在了...会不会是上次载入程序后留下的?那简单,重启计算机,再来D一次,它们还是存在的!那么大胆认为,CA-和-3914是固定的!

那好来验证一下,换一个NAME,算出中简的NUM.前后加上CA-和-3914...

OK了!我的设想是正确的!

NAME:Vitamin C

NUM.:CA-684101-3914

OK!

Vitamin C[抗坏血酸].2002.2.5.HY.GD.CHI. (出处:赢政天下整理收藏)

相关文章:

·5StarZip 2001 破解--初学者破解入门

相关软件:

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史