:00403BC7 8BF8 mov edi, eax
* Reference To: MFC42.Ordinal:0320, Ord:0320h
|
:00403BC9 E864750000 Call 0040B132
:00403BCE 33F7 xor esi, edi
:00403BD0 C684242004000004 mov byte ptr [esp+00000420], 04
:00403BD8 3BEE cmp ebp, esi
====>呵呵,再比较一次! 爆破点 ③
:00403BDA 0F94C1 sete cl
:00403BDD 884C2428 mov byte ptr [esp+28], cl
:00403BE1 8B742428 mov esi, dword ptr [esp+28]
:00403BE5 8D4C2410 lea ecx, dword ptr [esp+10]
:00403BE9 81E6FF000000 and esi, 000000FF
—————————————————————————————————
【算 法 总 结】:
1、用户名不能位居黑名单之列。
2、注册码第一位和最后一位字符不能是0
3、注册码最后2位数字的HEX值和前几位数字的HEX值异或的结果应等于用户名字符HEX值累加的之和。
简单求逆:
fly=66 + 6C + 79=14B
14B XOR 44=10F(H)=271(D)
呵呵,所以我的注册码就是27168 当然,还有很多很多……
—————————————————————————————————
【完 美 爆 破】:
发现爆破也挺有意思,有些软件或许可以找到注册码却很难爆破。
呵呵,黑名单的地方就不处理了,也没必要。第3处是后来发现程序在启动时还有校验才“揪”出来的。
另外:不知道这个东东是否会私下去连网校验,我是小猫上网就不去试了。即使有也不会藏的太隐蔽的。
1、00408A76 B301 mov bl, 01
改为: B300 mov bl, 00
2、00408B10 0F8577010000 jne 00408C8D
改为: 909090909090 NOP掉
3、00403BD8 3BEE cmp ebp, esi
改为: 3BED cmp ebp, ebp
—————————————————————————————————
【注册信息保存】:
同目录下的Option.ini中
[REGINFO]
USERNAME=fly
PASSWORD=4505231132 呵呵,变了点形
—————————————————————————————————
【整 理】:
用户名:fly
注册码:27168