- UID
- 1542
注册时间2005-5-10
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 擦汗 2017-9-28 11:05 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
|
申请加入1-〖算命百分百〗 V2005 build 10.10算法分析~
【破文标题】〖算命百分百〗 V2005 build 10.10算法分析~
【破文作者】pentacle
【作者邮箱】
【作者主页】
【破解工具】OD1.10
【破解平台】WinXp
【软件名称】〖算命百分百〗 V2005 build 10.10
【软件大小】2718 KB
【原版下载】http://www.fuzi.cn/showdown.asp?id=29
【保护方式】
【软件简介】〖算命百分百〗一款优秀的、简单的、实用的、全面的算命测字软件。软件内容包括:周易、皇历、黄历、测字、四柱、八字、
命盘、求签、问卜等等,内容多多。软件使用简单,操作方便,只要根据说明简单输入相关的出生时辰即可全面解命。软件界面精美,小巧、
绿色、环保,可完全卸载。功能强大,放心使用。软件纯免费、软件随时升级。软件由澄海夫子电脑软件工作室免费奉献,请关注工作室网站
,随时获得更多的精彩。 (注:虽说免费但有不少功能不能用~~~)
------------------------------------------------------------------------
【破解过程】根据提示我们通过字串查找来到~~下面
004DFC23 |. BA ACFC4D00 MOV EDX,smbf.004DFCAC ; 软件已注册
004DFC28 |. 8B83 2C030000 MOV EAX,DWORD PTR DS:[EBX+32C]
004DFC2E |. E8 D554F6FF CALL smbf.00445108
004DFC33 |. 8BC3 MOV EAX,EBX
004DFC35 |. E8 E62CF8FF CALL smbf.00462920
004DFC3A |. EB 0A JMP SHORT smbf.004DFC46
004DFC3C |> B8 C0FC4D00 MOV EAX,smbf.004DFCC0 ; 注册码错误,请重新输入!
通过这个。我们向上找。来到这儿~~
004DFB94 /. 55 PUSH EBP
004DFB95 |. 8BEC MOV EBP,ESP
004DFB97 |. 33C9 XOR ECX,ECX
004DFB99 |. 51 PUSH ECX
004DFB9A |. 51 PUSH ECX
004DFB9B |. 51 PUSH ECX
004DFB9C |. 51 PUSH ECX
004DFB9D |. 51 PUSH ECX
004DFB9E |. 53 PUSH EBX
004DFB9F |. 8BD8 MOV EBX,EAX
004DFBA1 |. 33C0 XOR EAX,EAX
004DFBA3 |. 55 PUSH EBP
004DFBA4 |. 68 79FC4D00 PUSH smbf.004DFC79
004DFBA9 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004DFBAC |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004DFBAF |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
004DFBB2 |. 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304]
004DFBB8 |. E8 1B55F6FF CALL smbf.004450D8
004DFBBD |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 假注册码入EAX
004DFBC0 |. 50 PUSH EAX
004DFBC1 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
004DFBC4 |. 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300]
004DFBCA |. E8 0955F6FF CALL smbf.004450D8
004DFBCF |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 验证码(即注册名)入EAX:验证码<2147483648(后面就知道原
因了)
004DFBD2 |. E8 0192F2FF CALL smbf.00408DD8 ; 验证码(即注册名)转为十六进制
004DFBD7 |. B9 BC010000 MOV ECX,1BC ; ECX=444
004DFBDC |. 99 CDQ ; EDX清0,注如果EAX>=80000000h则EDX=FFFFFFFF,程序会出错
004DFBDD |. F7F9 IDIV ECX ; EAX除以ECX,商放在EAX,余数在EDX
004DFBDF |. 8BC2 MOV EAX,EDX
004DFBE1 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
004DFBE4 |. E8 CBFEFFFF CALL smbf.004DFAB4 ; 算法CALL。一会跟进~
004DFBE9 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
004DFBEC |. 58 POP EAX
004DFBED |. E8 1E4EF2FF CALL smbf.00404A10 ; 关键CALL
004DFBF2 |. 75 48 JNZ SHORT smbf.004DFC3C ; 不跳就注册成功
004DFBF4 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004DFBF7 |. A1 FC534E00 MOV EAX,DWORD PTR DS:[4E53FC]
004DFBFC |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004DFBFE |. E8 316AF8FF CALL smbf.00466634
004DFC03 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
004DFC06 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
004DFC09 |. E8 AA94F2FF CALL smbf.004090B8
004DFC0E |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004DFC11 |. BA 90FC4D00 MOV EDX,smbf.004DFC90
004DFC16 |. E8 B94CF2FF CALL smbf.004048D4
004DFC1B |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004DFC1E |. E8 FD93F2FF CALL smbf.00409020
004DFC23 |. BA ACFC4D00 MOV EDX,smbf.004DFCAC ; 软件已注册
此时我们跟进算法分析CALL:
004DFAB4 /$ 55 PUSH EBP
004DFAB5 |. 8BEC MOV EBP,ESP
004DFAB7 |. 33C9 XOR ECX,ECX
004DFAB9 |. 51 PUSH ECX
004DFABA |. 51 PUSH ECX
004DFABB |. 51 PUSH ECX
004DFABC |. 51 PUSH ECX
004DFABD |. 53 PUSH EBX
004DFABE |. 56 PUSH ESI
004DFABF |. 8BF2 MOV ESI,EDX
004DFAC1 |. 8BD8 MOV EBX,EAX
004DFAC3 |. 33C0 XOR EAX,EAX
004DFAC5 |. 55 PUSH EBP
004DFAC6 |. 68 84FB4D00 PUSH smbf.004DFB84
004DFACB |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004DFACE |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004DFAD1 |. 81F3 F1250B00 XOR EBX,0B25F1 ; 取验证码(即注册名)/444的余数 XOR 730609
004DFAD7 |. 8BC3 MOV EAX,EBX
004DFAD9 |. 33D2 XOR EDX,EDX
004DFADB |. 52 PUSH EDX ; /Arg2 => 00000000
004DFADC |. 50 PUSH EAX ; |Arg1
004DFADD |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] ; |
004DFAE0 |. E8 BF92F2FF CALL smbf.00408DA4 ; \smbf.00408DA4
004DFAE5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 将XOR后的值转为ASCII字符
004DFAE8 |. 0FB600 MOVZX EAX,BYTE PTR DS:[EAX] ; 取转换后ASCII字位第1位的ASCII值放入EAX
004DFAEB |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
004DFAEE |. 0FB652 01 MOVZX EDX,BYTE PTR DS:[EDX+1] ; 取转换后ASCII字位第2位的ASCII值放入EDX
004DFAF2 |. 03C2 ADD EAX,EDX
004DFAF4 |. B9 05000000 MOV ECX,5
004DFAF9 |. 99 CDQ
004DFAFA |. F7F9 IDIV ECX
004DFAFC |. 80C2 34 ADD DL,34 ; 余数+34放入DL中
004DFAFF |. 8855 F8 MOV BYTE PTR SS:[EBP-8],DL
004DFB02 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004DFB05 |. 0FB640 02 MOVZX EAX,BYTE PTR DS:[EAX+2] ; 取转换后ASCII字位第3位的ASCII值放入EAX
004DFB09 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
004DFB0C |. 0FB652 03 MOVZX EDX,BYTE PTR DS:[EDX+3] ; 取转换后ASCII字位第4位的ASCII值放入EDX
004DFB10 |. 03C2 ADD EAX,EDX
004DFB12 |. B9 05000000 MOV ECX,5
004DFB17 |. 99 CDQ
004DFB18 |. F7F9 IDIV ECX
004DFB1A |. 8BDA MOV EBX,EDX
004DFB1C |. 80C3 33 ADD BL,33 ; 余数+33放入BL中
004DFB1F |. 885D F9 MOV BYTE PTR SS:[EBP-7],BL
004DFB22 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004DFB25 |. 8A55 F8 MOV DL,BYTE PTR SS:[EBP-8]
004DFB28 |. E8 C74CF2FF CALL smbf.004047F4
004DFB2D |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
004DFB30 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
004DFB33 |. B9 1B000000 MOV ECX,1B
004DFB38 |. E8 6F50F2FF CALL smbf.00404BAC ; 将DL中的值+到转换后的ASCII字符串后
004DFB3D |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004DFB40 |. 8BD3 MOV EDX,EBX
004DFB42 |. E8 AD4CF2FF CALL smbf.004047F4
004DFB47 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004DFB4A |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
004DFB4D |. B9 19000000 MOV ECX,19
004DFB52 |. E8 5550F2FF CALL smbf.00404BAC ; 将BL中的值+新的ASCII字符串后面
004DFB57 |. 8BC6 MOV EAX,ESI
004DFB59 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
004DFB5C |. E8 074BF2FF CALL smbf.00404668 ; 此时可以在EDX中看到计算完的注册码。可在此做内存注册机
004DFB61 |. 33C0 XOR EAX,EAX
004DFB63 |. 5A POP EDX
004DFB64 |. 59 POP ECX
004DFB65 |. 59 POP ECX
004DFB66 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004DFB69 |. 68 8BFB4D00 PUSH smbf.004DFB8B
004DFB6E |> 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004DFB71 |. BA 02000000 MOV EDX,2
004DFB76 |. E8 BD4AF2FF CALL smbf.00404638
004DFB7B |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
004DFB7E |. E8 914AF2FF CALL smbf.00404614
004DFB83 \. C3 RETN
算法总结:
( 验证码<即注册名> / 444 )的余数 XOR 730609 的值转为字符串
(取转换后的字符串第1位+第2位的ASCII值) / 5 + 34 的值转为 字符1
(取转换后的字符串第3位+第4位的ASCII值) / 5 + 33 的值转为 字符2
注册码=字符串+字符1+字符2
HOHO~~注册机我就不写了~~
送上一个可用的
验证码:12345678
注册码:73035557
(大家可以用这个验算一下)
------------------------------------------------------------------------
【破解总结】不好意思~~小鸟一只。还需多多学习~~
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! |
|