佳易网页王 3.1算法分析
【破文标题】佳易网页王 3.1算法分析【破文作者】surge
【作者邮箱】[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:
006E6111 push eax
006E6112 mov dword ptr fs:, 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: ;跟进
......
006E62D5 cmp di, bx
006E62D8 je jyshare3.006E659E ;跳走就死了。
/****************************************************************************/
跟进之后到这里了:
00413A6E jmp jyshare3.006E6920
......
006E6991 lea edx, dword ptr ss:
006E6994 mov dword ptr ss:, esi
006E6997 push edx
006E6998 call jyshare3.006E82D0 ;机器码MD5标准算法
006E699D lea edx, dword ptr ss:
006E69A0 lea ecx, dword ptr ss:
......
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:
006E69E6 jg short jyshare3.006E6A67
006E69E8 mov edx, dword ptr ss:
006E69EB lea eax, dword ptr ss:
006E69EE movsx ecx, si
006E69F1 mov dword ptr ss:, edx
006E69F4 push eax
006E69F5 lea edx, dword ptr ss:
006E69F8 push ecx
006E69F9 lea eax, dword ptr ss:
006E69FC push edx
006E69FD push eax
006E69FE mov dword ptr ss:, 8
006E6A08 mov dword ptr ss:, 1
006E6A0F mov dword ptr ss:, 2
006E6A16 call ebx
006E6A18 lea ecx, dword ptr ss:
006E6A1E lea edx, dword ptr ss:
006E6A21 push ecx
006E6A22 lea eax, dword ptr ss:
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:
006E6A35 call dword ptr ds:[<&MSVBVM60.__vbaStrMove>];MSVBVM60.__vbaStrMove
006E6A3B lea ecx, dword ptr ss:
006E6A3E lea edx, dword ptr ss:
006E6A41 push ecx
006E6A42 lea eax, dword ptr ss:
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:
/*******************************************************************/
这段代码把合并成的串反向
/*******************************************************************/
006E6A93 mov esi, eax
006E6A95 mov eax, 1
006E6A9A cmp si, ax
006E6A9D jl short jyshare3.006E6B02
006E6A9F mov dword ptr ss:, eax
006E6AA2 lea edx, dword ptr ss:
006E6AA5 movsx ecx, si
006E6AA8 lea eax, dword ptr ss:
006E6AAB mov dword ptr ss:, edx
006E6AAE push eax
006E6AAF lea edx, dword ptr ss:
006E6AB2 push ecx
006E6AB3 lea eax, dword ptr ss:
006E6AB6 push edx
006E6AB7 push eax
006E6AB8 mov dword ptr ss:, 2
006E6ABF mov dword ptr ss:, 4008
006E6AC6 call ebx
006E6AC8 lea ecx, dword ptr ss:
006E6ACB lea edx, dword ptr ss:
006E6ACE push ecx
006E6ACF lea eax, dword ptr ss:
006E6AD2 push edx
006E6AD3 push eax
006E6AD4 call edi
006E6AD6 mov edx, eax
006E6AD8 lea ecx, dword ptr ss:
006E6ADB call dword ptr ds:[<&MSVBVM60.__vbaVarMove>];MSVBVM60.__vbaVarMove
006E6AE1 lea ecx, dword ptr ss:
006E6AE4 lea edx, dword ptr ss:
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:, 8008
006E6B17 call dword ptr ds:[<&MSVBVM60.__vbaVarTstEq>] ;比较
006E6B1D test ax, ax
006E6B20 je short jyshare3.006E6B29
006E6B22 mov dword ptr ss:, -1
006E6B29 push jyshare3.006E6B67
006E6B2E jmp short jyshare3.006E6B48
006E6B30 lea eax, dword ptr ss:
006E6B33 lea ecx, dword ptr ss:
006E6B36 push eax
------------------------------------------------------------------------
【破解总结】
通过机器码算出MD5值之后,取31、28、25、22、19、16、13、10、7、4、1位合并成串就是注册码。
我的机器码:by9604
MD5运算后:C5D3F7EFBCD25C3D342F37A3155CEB10
最终注册码:1C172D5CE3C
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! 不知道是不是明码比较? 是明码比较,没什么难度,太难的我搞不定,功力还不够。 有空试试
Windows 美化大师~~
算法多~~ 嗯!还算比较简单!
支持一下! 能分析出算法就很不错,练习算法是不是明码不重要 分析也 比较 吃支持楼主
页:
[1]