- UID
- 2927
注册时间2005-8-29
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
【破文标题】佳易网页王 3.1算法分析
【破文作者】surge[PYG]
【作者邮箱】[email protected]
【作者主页】无
【破解工具】peid,ollydbg
【破解平台】win2000professional+sp4
【软件名称】佳易网页王 3.1
【软件大小】7099KB
【原版下载】http://hecz.onlinedown.net/soft/13188.htm
【保护方式】注册码
【软件简介】佳易网页王是一个易学易用且功能强大的新型网页制作软件,它不仅具有FrontPage等流行网页制作软件的主要功能,而且更方便易用,功能更强大。它的最大特点是:即使不懂制作网页的专门技术,使用者也可以轻松地制作出专业水平的高质量网站。即使不懂网页编程技术,也可以轻松制作出具有BBS论坛、计数器、动态新闻发布、网站数据库应用等全功能的企业网站。因而可以确实有效地解决当前存在的网站建设难的问题。佳易网页王3.1推广版没有使用时间和使用次数的限制。不仅适用于初学者,也适用于计算机专业人员。还可用于教学课件和远程教学网站的建设。
------------------------------------------------------------------------
【破解过程】
/**************************************************************************/
peid检查,无壳,vb程序。
/**************************************************************************/
od载入,在msvbvm60.dll中下断点rtcMsgBox,返回后去掉断点向上找到关键代码。
006E6100 push ebp
006E6101 mov ebp, esp
006E6103 sub esp, 0C
006E6106 push <jmp.&MSVBVM60.__vbaExceptHandler> ; SE handler installation
006E610B mov eax, dword ptr fs:[0]
006E6111 push eax
006E6112 mov dword ptr fs:[0], esp
006E6119 sub esp, 0F0
006E611F push ebx
006E6120 push esi
006E6121 push edi
......
006E6260 push edx
006E6261 push eax
006E6262 call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>>; MSVBVM60.__vbaStrVarVal
006E6268 push eax
006E6269 push esi
006E626A call dword ptr ds:[edi+6F8] ; 跟进
......
006E62D5 cmp di, bx
006E62D8 je jyshare3.006E659E ; 跳走就死了。
/****************************************************************************/
跟进之后到这里了:
00413A6E jmp jyshare3.006E6920
......
006E6991 lea edx, dword ptr ss:[ebp-24]
006E6994 mov dword ptr ss:[ebp-38], esi
006E6997 push edx
006E6998 call jyshare3.006E82D0 ; 机器码MD5标准算法
006E699D lea edx, dword ptr ss:[ebp-48]
006E69A0 lea ecx, dword ptr ss:[ebp-34]
......
006E6A4F mov eax, 3
006E6A54 add esp, 10
006E6A57 add ax, si
006E6A5A jo jyshare3.006E6B90
006E6A60 mov esi, eax
006E6A62 jmp jyshare3.006E69DF ;跳到下面代码处
/****************************************************************************/
下面这段代码取MD5的1、4、7、10、13、16、19、22、25、28、31.位合并。
/****************************************************************************/
006E69DF cmp si, word ptr ss:[ebp-90]
006E69E6 jg short jyshare3.006E6A67
006E69E8 mov edx, dword ptr ss:[ebp-1C]
006E69EB lea eax, dword ptr ss:[ebp-48]
006E69EE movsx ecx, si
006E69F1 mov dword ptr ss:[ebp-80], edx
006E69F4 push eax
006E69F5 lea edx, dword ptr ss:[ebp-34]
006E69F8 push ecx
006E69F9 lea eax, dword ptr ss:[ebp-58]
006E69FC push edx
006E69FD push eax
006E69FE mov dword ptr ss:[ebp-88], 8
006E6A08 mov dword ptr ss:[ebp-40], 1
006E6A0F mov dword ptr ss:[ebp-48], 2
006E6A16 call ebx
006E6A18 lea ecx, dword ptr ss:[ebp-88]
006E6A1E lea edx, dword ptr ss:[ebp-58]
006E6A21 push ecx
006E6A22 lea eax, dword ptr ss:[ebp-68]
006E6A25 push edx
006E6A26 push eax
006E6A27 call edi
006E6A29 push eax
006E6A2A call dword ptr ds:[<&MSVBVM60.__vbaStrVarMove>; MSVBVM60.__vbaStrVarMove
006E6A30 mov edx, eax
006E6A32 lea ecx, dword ptr ss:[ebp-1C]
006E6A35 call dword ptr ds:[<&MSVBVM60.__vbaStrMove>] ; MSVBVM60.__vbaStrMove
006E6A3B lea ecx, dword ptr ss:[ebp-68]
006E6A3E lea edx, dword ptr ss:[ebp-58]
006E6A41 push ecx
006E6A42 lea eax, dword ptr ss:[ebp-48]
006E6A45 push edx
006E6A46 push eax
006E6A47 push 3
006E6A49 call dword ptr ds:[<&MSVBVM60.__vbaFreeVarLis>; MSVBVM60.__vbaFreeVarList
006E6A4F mov eax, 3
006E6A54 add esp, 10
006E6A57 add ax, si
006E6A5A jo jyshare3.006E6B90
006E6A60 mov esi, eax
006E6A62 jmp jyshare3.006E69DF
006E6A67 lea edx, dword ptr ss:[ebp-78]
/*******************************************************************/
这段代码把合并成的串反向
/*******************************************************************/
006E6A93 mov esi, eax
006E6A95 mov eax, 1
006E6A9A cmp si, ax
006E6A9D jl short jyshare3.006E6B02
006E6A9F mov dword ptr ss:[ebp-40], eax
006E6AA2 lea edx, dword ptr ss:[ebp-1C]
006E6AA5 movsx ecx, si
006E6AA8 lea eax, dword ptr ss:[ebp-48]
006E6AAB mov dword ptr ss:[ebp-70], edx
006E6AAE push eax
006E6AAF lea edx, dword ptr ss:[ebp-78]
006E6AB2 push ecx
006E6AB3 lea eax, dword ptr ss:[ebp-58]
006E6AB6 push edx
006E6AB7 push eax
006E6AB8 mov dword ptr ss:[ebp-48], 2
006E6ABF mov dword ptr ss:[ebp-78], 4008
006E6AC6 call ebx
006E6AC8 lea ecx, dword ptr ss:[ebp-34]
006E6ACB lea edx, dword ptr ss:[ebp-58]
006E6ACE push ecx
006E6ACF lea eax, dword ptr ss:[ebp-68]
006E6AD2 push edx
006E6AD3 push eax
006E6AD4 call edi
006E6AD6 mov edx, eax
006E6AD8 lea ecx, dword ptr ss:[ebp-34]
006E6ADB call dword ptr ds:[<&MSVBVM60.__vbaVarMove>] ; MSVBVM60.__vbaVarMove
006E6AE1 lea ecx, dword ptr ss:[ebp-58]
006E6AE4 lea edx, dword ptr ss:[ebp-48]
006E6AE7 push ecx
006E6AE8 push edx
006E6AE9 push 2
006E6AEB call dword ptr ds:[<&MSVBVM60.__vbaFreeVarLis>; MSVBVM60.__vbaFreeVarList
006E6AF1 or eax, FFFFFFFF
006E6AF4 add esp, 0C
006E6AF7 add ax, si
006E6AFA jo jyshare3.006E6B90
006E6B00 jmp short jyshare3.006E6A93
/*******************************************************************/
/*******************************************************************/
006E6B10 mov dword ptr ss:[ebp-78], 8008
006E6B17 call dword ptr ds:[<&MSVBVM60.__vbaVarTstEq>] ; 比较
006E6B1D test ax, ax
006E6B20 je short jyshare3.006E6B29
006E6B22 mov dword ptr ss:[ebp-38], -1
006E6B29 push jyshare3.006E6B67
006E6B2E jmp short jyshare3.006E6B48
006E6B30 lea eax, dword ptr ss:[ebp-68]
006E6B33 lea ecx, dword ptr ss:[ebp-58]
006E6B36 push eax
------------------------------------------------------------------------
【破解总结】
通过机器码算出MD5值之后,取31、28、25、22、19、16、13、10、7、4、1位合并成串就是注册码。
我的机器码:by9604
MD5运算后:C5D3F7EFBCD25C3D342F37A3155CEB10
最终注册码:1C172D5CE3C
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! |
|