|
 |
推荐文章 |
|
|
|
|
|
|
|
|
|
|
未完成的破解 (SubmitWolf Enterprise ) 上 |
|
软件的功能概述:
~~~~~~~~~~~~~~
SubmitWolf是宣传因特网站点的自动提交向导,它能够在几分钟内将一个URL排列
到数百个搜索引擎和链接目录上。
保护方法:
~~~~~~~~
简单的name/code保护;未注册版本中,大多数站点不可使用,URL只能被提交到少数
几个选定的站点。
破解过程:
~~~~~~~~
(第一次) 启动TRW2000,按OK,TRW2000已隐藏在TaskBar了。运行SubmitWolf,按“注册”,
分别填入:
注册名称:iloveeagle
序列号: 10101010
CTRL-N,进入TRW2000,下断点bpx getdlgitemtexta,再CTRL-N,按“确定”。程序中断在:
* Reference To: USER32.GetDlgItemTextA, Ord:0104h
|
:00418588 8B355C514300 mov esi, dword ptr [0043515C]
:0041858E 8D44240C lea eax, dword ptr [esp+0C]<---注册码地址
:00418592 6A50 push 00000050
:00418594 50 push eax
:00418595 6814040000 push 00000414
:0041859A 53 push ebx
:0041859B FFD6 call esi<----------取得注册码
我们中断在此CALL内,F12来到RET语句,再F10回到下面一句。然后清除所有断点
:BC *
再F10一路走下。
:0041859D 8D8C248C000000 lea ecx, dword ptr [esp+0000008C] ;name地址
:004185A4 6A50 push 00000050
:004185A6 51 push ecx
* Possible Reference to Dialog: DialogID_0098, CONTROL_ID:0405, ""
|
:004185A7 6805040000 push 00000405
:004185AC 53 push ebx
:004185AD FFD6 call esi<-----------------取得name
:004185AF 8D54240C lea edx, dword ptr [esp+0C]
:004185B3 6A52 push 00000052
:004185B5 52 push edx
:004185B6 E8254F0100 call 0042D4E0
<---------若注册码中含有字符"R",则返回
:004185BB 83C408 add esp, 00000008
"R"的地址;否则返回0。对应于第二
:004185BE 85C0 test eax, eax 种注册码的情形。
:004185C0 7475 je 00418637
:004185C2 8D7C240C lea edi, dword ptr [esp+0C]
---|这个过程是把name和code调换位置
:004185C6 83C9FF or ecx, FFFFFFFF
|注册码为第二种形式时,执行这
:004185C9 33C0 xor eax, eax
|里的语句。(***)
:004185CB 8D54240C lea edx, dword ptr [esp+0C] |
:004185CF F2 repnz |
:004185D0 AE scasb |
:004185D1 F7D1 not ecx |
:004185D3 2BF9 sub edi, ecx |
:004185D5 8BC1 mov eax, ecx |
:004185D7 8BF7 mov esi, edi |
:004185D9 BF60E64300 mov edi, 0043E660 |
:004185DE C1E902 shr ecx, 02 |
:004185E1 F3 repz |
:004185E2 A5 movsd |
:004185E3 8BC8 mov ecx, eax |
:004185E5 33C0 xor eax, eax |
:004185E7 83E103 and ecx, 00000003 |
:004185EA F3 repz |
:004185EB A4 movsb |
:004185EC 8DBC248C000000 lea edi, dword ptr [esp+0000008C]
:004185F3 83C9FF or ecx, FFFFFFFF |
:004185F6 F2 repnz |
:004185F7 AE scasb |
:004185F8 F7D1 not ecx |
:004185FA 2BF9 sub edi, ecx |
:004185FC 8BC1 mov eax, ecx |
:004185FE 8BF7 mov esi, edi |
:00418600 8BFA mov edi, edx |
:00418602 8D94248C000000 lea edx, dword ptr [esp+0000008C]
:00418609 C1E902 shr ecx, 02 |
:0041860C F3 repz |
:0041860D A5 movsd |
:0041860E 8BC8 mov ecx, eax |
:00418610 33C0 xor eax, eax |
:00418612 83E103 and ecx, 00000003 |
:00418615 F3 repz |
:00418616 A4 movsb |
:00418617 BF60E64300 mov edi, 0043E660 |
:0041861C 83C9FF or ecx, FFFFFFFF |
:0041861F F2 repnz |
:00418620 AE scasb |
:00418621 F7D1 not ecx |
:00418623 2BF9 sub edi, ecx |
:00418625 8BC1 mov eax, ecx |
:00418627 8BF7 mov esi, edi |
:00418629 8BFA mov edi, edx |
:0041862B C1E902 shr ecx, 02 |
:0041862E F3 repz |
:0041862F A5 movsd |
:00418630 8BC8 mov ecx, eax |
:00418632 83E103 and ecx, 00000003 |
:00418635 F3 repz |
:00418636 A4 movsb-------------------------|
走到:004185C0处,看看跳转的两个方向,都没要出对话框的意思。那么先F10跟它走,看看有何结果。我们来
到:00418637处。
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004185C0(C)
|
:00418637 8D8C248C000000 lea ecx, dword ptr [esp+0000008C]
:0041863E 51 push ecx
:0041863F E83CDBFFFF call 00416180
<-------------对name的第一位和最后一位字符
:00418644 8D542410 lea edx, dword ptr [esp+10] 做有效性检查.
:00418648 52 push edx
:00418649 E832DBFFFF call 00416180
<-------------对code的第一位和最后一位字符
:0041864E 8D442414 lea eax, dword ptr [esp+14] 做有效性检查.
:00418652 8D8C2494000000 lea ecx, dword ptr [esp+00000094]
:00418659 50 push eax
:0041865A 51 push ecx
:0041865B E890090000 call 00418FF0
<---------注册码不正确则返回0.重要,F8进入.
* Reference To: USER32.LoadStringA, Ord:01ABh
|
:00418660 8B35A8514300 mov esi, dword ptr [004351A8]
:00418666 83C410 add esp, 00000010
:00418669 85C0 test eax, eax
:0041866B 0F85AE000000 jne 0041871F<---------这里是要害所在!
走到这里,抬头看看eax,它的值为0。程序不会跳走,再看看下面的语句,将要显示一个出错对话框。我们
马上明白:要想注册成功,eax必须不为0。问题的焦点马上集中在:0041865B处的那个CALL上了。
:00418671 8B1550624400 mov edx, dword ptr [00446250] 下面的messageboxa.
:00418677 68D00F0000 push 00000FD0
:0041867C 6860E64300 push 0043E660
* Possible Reference to String Resource ID=01459: "鑼
??鬣H"
|
:00418681 68B3050000 push 000005B3
:00418686 52 push edx
:00418687 FFD6 call esi
:00418689 A150624400 mov eax, dword ptr [00446250]
:0041868E 68D00F0000 push 00000FD0
:00418693 6800D44300 push 0043D400
* Possible Reference to String Resource ID=01460: "鑼郒"
|
:00418698 68B4050000 push 000005B4
:0041869D 50 push eax
:0041869E FFD6 call esi
:004186A0 6A30 push 00000030
:004186A2 6800D44300 push 0043D400
:004186A7 6860E64300 push 0043E660
:004186AC 53 push ebx
* Reference To: USER32.MessageBoxA, Ord:01BEh |
|
|
|
|
|
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
|
|
|
|
|
责任编辑: 原点 |
投稿作者: 本站收集 |
|
|
信息来源: 网络 |
录入时间: 2005-5-26 |
|
|
|
| |
|