首页 网络安全 安全学院 查看内容

新华词典V2008 build 11.20算法分析

2009-4-13 11:06 725 0

摘要: 【破文标题】新华词典V2008 build 11.20算法分析【破文作者】canyun【作者邮箱】[email protected]【破解工具】OD,Peid,DEDE【破解平台】WinXP【软件名称】...
关键词: nbsp dword eax ptr mov ebp unpacked edx 005457 005456

【破文标题】新华词典V2008 build 11.20算法分析【破文作者】canyun【作者邮箱】[email protected]【破解工具】OD,Peid,DEDE【破解平台】WinXP【软件名称】新华字典词典V2008 build 11.20【软件大小】10.4M【原版下载】http://www.duote.com/soft/2382.html【保护方式】注册码【软件简介】〖新华字典词典〗软件是一个精巧、全面、新颖的桌面资料工具。软件收集了中国所有的国标汉字,所有的规范成语,全面收集,权威、科学。是一个优秀的学习工具助手。新华字典包括汉字拼音、笔划、部首、检字法、五笔编码,字源、组词、举例、意思等等。详尽、齐全、细致、深入。成语词典包括拼音、出处、举例等等。歇后语典包括前部分及后部分。新华字典、成语词典、歇后语典都包括模糊检索功能。方便、快捷、高效。软件同时集成了众多的资料,包括名人名言、对联、名句欣赏、魔鬼词典、绕口令、千字文、三字经、百家姓、昔时贤文、俗语、谚语等等。是一款不可多得的优秀工具软件。【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)------------------------------------------------------------------------【破解过程】1. 查壳脱壳ASPack 2.12 -> Alexey Solodovnikov,简单脱之,发现是Borland Delphi 6.0 - 7.02. 定位注册事件   用DEDE查找按钮事件地址005457D03.算法分析005457D0    55                     push ebp005457D1    8BEC                   mov ebp,esp005457D3    81C4 98FEFFFF          add esp,-168005457D9    33C9                   xor ecx,ecx005457DB    898D 9CFEFFFF          mov dword ptr ss:[ebp-164],ecx005457E1    898D 98FEFFFF          mov dword ptr ss:[ebp-168],ecx005457E7    898D A8FEFFFF          mov dword ptr ss:[ebp-158],ecx005457ED    898D A4FEFFFF          mov dword ptr ss:[ebp-15C],ecx005457F3    898D A0FEFFFF          mov dword ptr ss:[ebp-160],ecx005457F9    8945 FC                mov dword ptr ss:[ebp-4],eax005457FC    33C0                   xor eax,eax005457FE    55                     push ebp005457FF    68 F7595400            push unpacked.005459F700545804    64:FF30                push dword ptr fs:[eax]00545807    64:8920                mov dword ptr fs:[eax],esp0054580A    8D95 A8FEFFFF          lea edx,dword ptr ss:[ebp-158]00545810    8B45 FC                mov eax,dword ptr ss:[ebp-4]00545813    8B80 80050000          mov eax,dword ptr ds:[eax+580]00545819    E8 FE1DF0FF            call unpacked.0044761C                   ; 取假注册码0054581E    8B85 A8FEFFFF          mov eax,dword ptr ss:[ebp-158]00545824    50                     push eax00545825    8D95 A0FEFFFF          lea edx,dword ptr ss:[ebp-160]0054582B    8B45 FC                mov eax,dword ptr ss:[ebp-4]0054582E    8B80 78050000          mov eax,dword ptr ds:[eax+578]00545834    E8 E31DF0FF            call unpacked.0044761C                   ; 取验证码00545839    8B85 A0FEFFFF          mov eax,dword ptr ss:[ebp-160]0054583F    E8 783FECFF            call unpacked.004097BC                   ; 将验证码转化为16进制=A00545844    03C0                   add eax,eax                              ; A*2=B00545846    8D04C0                 lea eax,dword ptr ds:[eax+eax*8]         ; B+B*8=C00545849    8D95 A4FEFFFF          lea edx,dword ptr ss:[ebp-15C]0054584F    E8 9CFEFFFF            call unpacked.005456F0                   ; 算法关键00545854    8B95 A4FEFFFF          mov edx,dword ptr ss:[ebp-15C]0054585A    58                     pop eax0054585B    E8 94F7EBFF            call unpacked.00404FF4                   ;内存注册机地址00545860    0F85 48010000          jnz unpacked.005459AE                    ;关键跳**********************************进入关键call unpacked.005456F0***************************005456F0    55                     push ebp005456F1    8BEC                   mov ebp,esp005456F3    33C9                   xor ecx,ecx005456F5    51                     push ecx005456F6    51                     push ecx005456F7    51                     push ecx005456F8    51                     push ecx005456F9    53                     push ebx005456FA    56                     push esi005456FB    8BF2                   mov esi,edx005456FD    8BD8                   mov ebx,eax005456FF    33C0                   xor eax,eax00545701    55                     push ebp00545702    68 C0575400            push unpacked.005457C000545707    64:FF30                push dword ptr fs:[eax]0054570A    64:8920                mov dword ptr fs:[eax],esp0054570D    81F3 F1250B00          xor ebx,0B25F1                           ; C XOR 0B25F1=D00545713    8BC3                   mov eax,ebx                              ; EAX=D00545715    33D2                   xor edx,edx00545717    52                     push edx00545718    50                     push eax00545719    8D45 FC                lea eax,dword ptr ss:[ebp-4]0054571C    E8 6740ECFF            call unpacked.00409788                   ; 算法一 将D转换为十进制E00545721    8B45 FC                mov eax,dword ptr ss:[ebp-4]00545724    0FB600                 movzx eax,byte ptr ds:[eax]              ; 取出E的第一位ASCII00545727    8B55 FC                mov edx,dword ptr ss:[ebp-4]0054572A    0FB652 01              movzx edx,byte ptr ds:[edx+1]            ; 取出E的第二位ASCII0054572E    03C2                   add eax,edx                              ; 两位相加=F00545730    B9 05000000            mov ecx,500545735    99                     cdq00545736    F7F9                   idiv ecx                                 ; F\5 商存在EAX,余数存在EDX00545738    80C2 34                add dl,34                                ; 余数+34=G0054573B    8855 F8                mov byte ptr ss:[ebp-8],dl0054573E    8B45 FC                mov eax,dword ptr ss:[ebp-4]00545741    0FB640 02              movzx eax,byte ptr ds:[eax+2]            ; 取出E的第三位ASCII00545745    8B55 FC                mov edx,dword ptr ss:[ebp-4]00545748    0FB652 03              movzx edx,byte ptr ds:[edx+3]            ; 取出E的第四位ASCII0054574C    03C2                   add eax,edx                              ; 两位相加=H0054574E    B9 05000000            mov ecx,500545753    99                     cdq00545754    F7F9                   idiv ecx                                 ; H\5 商存在EAX,余数存在EDX00545756    8BDA                   mov ebx,edx00545758    80C3 33                add bl,33                                ; 余数+33=I0054575B    885D F9                mov byte ptr ss:[ebp-7],bl0054575E    8D45 F4                lea eax,dword ptr ss:[ebp-C]00545761    8A55 F8                mov dl,byte ptr ss:[ebp-8]00545764    E8 6FF6EBFF            call unpacked.00404DD800545769    8B45 F4                mov eax,dword ptr ss:[ebp-C]0054576C    8D55 FC                lea edx,dword ptr ss:[ebp-4]0054576F    B9 1B000000            mov ecx,1B00545774    E8 17FAEBFF            call unpacked.0040519000545779    8D45 F0                lea eax,dword ptr ss:[ebp-10]0054577C    8BD3                   mov edx,ebx0054577E    E8 55F6EBFF            call unpacked.00404DD800545783    8B45 F0                mov eax,dword ptr ss:[ebp-10]00545786    8D55 FC                lea edx,dword ptr ss:[ebp-4]00545789    B9 19000000            mov ecx,190054578E    E8 FDF9EBFF            call unpacked.00405190                   ; 注册码=E&G&I ;三个数连接************************VB算法源码*********************************Private Sub Text1_Change()Dim A, E, G, H, SN As StringDim x, y, B, C, D As LongA = Val(Text1.Text)B = A * 2C = B + B * 8D = C Xor 730609E = Trim(Str(D))x = Asc(Mid(E, 1, 1)) + Asc(Mid(E, 2, 1))G = x Mod 5 + 4y = Asc(Mid(E, 3, 1)) + Asc(Mid(E, 4, 1))H = y Mod 5 + 3SN = E & G & HText2.Text = SNEnd Sub*********************内存注册机*********************************中断地址:0054585B中断次数:1第一字节:E8指令长度:5注册码保存在:EDX------------------------------------------------------------------------【版权声明】本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部