老文章档案 · 2003 年

WebZIP 3.71.508

破解教程 · 算法分析 · 2003-10-09 · 作者:dr0 人气: · 出处:赢政天下整理收藏)

http://www.spidersoft.com

这个软件用如下的指令段判断注册码。经过几次试探发现该函数返回0xC8

则显示“Tnank you for registering WebZip!”。

0167:004E7402 MOV EDX,[EBP-08]

0167:004E7405 MOV EAX,EBX

0167:004E7407 CALL 004E75A4 //这里头判断注册码

0167:004E740C SUB EAX,000000C8 //返回C8表示注册码正确

0167:004E7411 JZ 004E741B

0167:004E7413 DEC EAX //返回C9则错误

0167:004E7414 JZ 004E743E

0167:004E7416 DEC EAX //返回CA则错误

0167:004E7417 JZ 004E744B

0167:004E7419 JMP 004E745D //返回其它值

跟进上面的那个CALL,看见函数体如下:

0167:004E75A4 PUSH EBP

0167:004E75A5 MOV EBP,ESP

0167:004E75A7 ADD ESP,-10

0167:004E75AA PUSH EBX

0167:004E75AB PUSH ESI

0167:004E75AC PUSH EDI

0167:004E75AD XOR ECX,ECX

0167:004E75AF MOV [EBP-08],ECX

0167:004E75B2 MOV [EBP-04],ECX

0167:004E75B5 MOV EDI,EDX

0167:004E75B7 MOV EBX,EAX

0167:004E75B9 XOR EAX,EAX

0167:004E75BB PUSH EBP

0167:004E75BC PUSH 004E76E9

0167:004E75C1 PUSH DWORD PTR FS:[EAX]

0167:004E75C4 MOV FS:[EAX],ESP

0167:004E75C7 LEA EAX,[EBP-04]

0167:004E75CA PUSH EAX

0167:004E75CB MOV EAX,EDI

0167:004E75CD CALL 0040407C

0167:004E75D2 MOV EDX,EAX

0167:004E75D4 DEC EDX

0167:004E75D5 MOV ECX,00000002

0167:004E75DA MOV EAX,EDI

0167:004E75DC CALL 00404284

0167:004E75E1 MOV EAX,[EBP-04] //你输入的注册码的后两个字符

0167:004E75E4 MOV EDX,004E7704 // "1Y"

0167:004E75E9 CALL 0040418C //比较

0167:004E75EE JNZ 004E75F7 //若最后两位是1Y

0167:004E75F0 MOV ESI,0000016D //则为错误的注册码

0167:004E75F5 JMP 004E7632

0167:004E75F7 XOR EAX,EAX

0167:004E75F9 PUSH EBP

0167:004E75FA PUSH 004E7619

0167:004E75FF PUSH DWORD PTR FS:[EAX]

0167:004E7602 MOV FS:[EAX],ESP

0167:004E7605 MOV EAX,[EBP-04] //注册码的后两位

0167:004E7608 CALL 0040977C //转换成整数

0167:004E760D MOV ESI,EAX //保存在esi中

0167:004E760F XOR EAX,EAX

0167:004E7611 POP EDX

0167:004E7612 POP ECX

0167:004E7613 POP ECX

0167:004E7614 MOV FS:[EAX],EDX

0167:004E7617 JMP 004E7632

0167:004E7619 JMP 0040355C

0167:004E761E MOV EBX,000000C9

0167:004E7623 CALL 004038B8

0167:004E7628 JMP 004E76CE

0167:004E762D CALL 004038B8

0167:004E7632 TEST ESI,ESI //后两位为00吗?

0167:004E7634 JNZ 004E7661 //不为00则错误

0167:004E7636 LEA EAX,[EBP-04]

0167:004E7639 PUSH EAX

0167:004E763A MOV EDX,[EBX+6C]

0167:004E763D MOV EAX,[EBX+34]

0167:004E7640 MOV ECX,ESI

0167:004E7642 CALL 004E5298

0167:004E7647 MOV EAX,[EBP-04] //正确的注册码

0167:004E764A MOV EDX,EDI //你输入的假注册码

0167:004E764C CALL 0040418C //比较注册码

0167:004E7651 JNZ 004E765A

0167:004E7653 MOV EBX,000000C8 //返回C8表示OK

0167:004E7658 JMP 004E76CE

0167:004E765A MOV EBX,000000C9 //返回C9则错误

0167:004E765F JMP 004E76CE

0167:004E7661 LEA EAX,[EBP-04]

0167:004E7664 PUSH EAX

0167:004E7665 MOV EDX,[EBX+6C]

0167:004E7668 MOV EAX,[EBX+34]

0167:004E766B MOV ECX,ESI

0167:004E766D CALL 004E5298

0167:004E7672 MOV EAX,[EBP-04]

0167:004E7675 MOV EDX,EDI

0167:004E7677 CALL 0040418C

0167:004E767C JNZ 004E76C9

0167:004E767E INC DWORD PTR [EBX+44]

0167:004E7681 LEA EDX,[EBP-08]

0167:004E7684 MOV EAX,EBX

0167:004E7686 CALL 004E8660

0167:004E768B MOV EDX,[EBP-08]

0167:004E768E LEA EAX,[EBX+34]

0167:004E7691 CALL 00403E50

0167:004E7696 XOR EAX,EAX

0167:004E7698 MOV [EBX+3C],EAX

0167:004E769B CALL 0040AD24

0167:004E76A0 CALL 00402BAC

0167:004E76A5 SUB EAX,01

0167:004E76A8 SBB EDX,00

0167:004E76AB MOV [EBP-10],EAX

0167:004E76AE MOV [EBP-0C],EDX

0167:004E76B1 FILD QWORD PTR [EBP-10]

0167:004E76B4 FSTP REAL8 PTR [EBX+48]

0167:004E76B7 WAIT

0167:004E76B8 ADD [EBX+40],ESI

0167:004E76BB MOV EAX,EBX

0167:004E76BD CALL 004E7B50

0167:004E76C2 MOV EBX,000000CA //返回CA也错误

0167:004E76C7 JMP 004E76CE

0167:004E76C9 MOV EBX,000000C9 //返回C9则错误

0167:004E76CE XOR EAX,EAX

0167:004E76D0 POP EDX

0167:004E76D1 POP ECX

0167:004E76D2 POP ECX

0167:004E76D3 MOV FS:[EAX],EDX

0167:004E76D6 PUSH 004E76F0

0167:004E76DB LEA EAX,[EBP-08]

0167:004E76DE MOV EDX,00000002

0167:004E76E3 CALL 00403E20

0167:004E76E8 RET

0167:004E76E9 JMP 00403810

0167:004E76EE JMP 004E76DB

0167:004E76F0 MOV EAX,EBX //函数的返回值

0167:004E76F2 POP EDI

0167:004E76F3 POP ESI

0167:004E76F4 POP EBX

0167:004E76F5 MOV ESP,EBP

0167:004E76F7 POP EBP

0167:004E76F8 RET

由此得到一个注册码:

User Name: dr0

Serial No: China

Reg Key: AE33536C8300

注册成功的标志是下面的选项可以使用:

菜单View->Options->General Settings->Turn off banner ad insertion。 (出处:赢政天下整理收藏)

相关文章:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

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

Powered

by:MeSky.Net

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

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

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