法律文书、合同样本库 5.10破解手记--算法分析 作者:newlaos[CCG][DFCG]
软件名称:法律文书、合同样本库 5.10(行业软件) 整理日期:2003.4.23 最新版本:5.10 文件大小:3780KB 软件授权:共享软件 使用平台:Win9x/Me/NT/2000/XP 发布公司:"http://www.votolink.com/" 软件简介:万通联合一贯专注于法律咨询、商务咨询。在我们多年为客户服务的过程中,积累了大量的法律文书样本、标准合同样本和相关法律信息。我们把这些信息制作成了专业的信息软件,以共享软件的形式向广大用户提供。软件的内容主要包括:法律格式文书库、公司常用文书库 、行业合同样板库 、版权与著作权类 、律师办案宝典 等。
加密方式:ASPACK2.1+注册码 功能限制:功能限制 PJ工具:TRW20001.23注册版,W32Dasm8.93黄金版,FI2.5,OLLYDBG1.09B中文版,PE-scan3.31 PJ日期:2003-04-27 作者newlaos申明:只是学习,请不用于商业用途或是将本文方法制作的注册机任意传播,造成后果,本人一概不负。
注:笔者认为用eBook Edit Pro做软件,真的不保险! 即使是用它最强功能10位机器码+密钥,只要知道它的密钥(这个密钥竟然在程序运行中,以明文的形式出现),就可以用eBook Edit Pro自带的KeyMaker.exe,求得真正的注册码了。本文对算法的分析,也就等效于对KeyMaker.exe的加密分析。
1、用FI2.5查壳,发现加了ASPACK2.1的壳,用TRW2000进行手动脱壳,也可以用PE-scan3.31脱壳! 生成UNPACK.exe文件。
2、用W32Dasm黄金修正版本进行静态反汇编,找不到任何有用的信息,只了用TRW2000的万能断点大法了。
3、动态跟踪调试。请出国宝TRW2000,下断点BPX hmemcpy。输入假码78787878,点确定被断下来,F12和F10来到下列代码段
....... ....... :004786C0 50 push eax :004786C1 8D55F8 lea edx, dword ptr [ebp-08] :004786C4 8BC3 mov eax, ebx :004786C6 8B08 mov ecx, dword ptr [eax] :004786C8 FF91E4000000 call dword ptr [ecx+000000E4] :004786CE 8B45F8 mov eax, dword ptr [ebp-08] <===EAX=3754256370(机器码) :004786D1 8B8BF8020000 mov ecx, dword ptr [ebx+000002F8] <===ECX=lawtxt163424(这里竟然用明码形式显示密钥,就破解角度而言就太简单了:-) :004786D7 5A pop edx <===EDX=78787878(假码) :004786D8 E81FF7FFFF call 00477DFC <===不用问关键的CALL,F8跟进(其实到这里,已经可以利用eBook Edit Pro自带的KeyMaker.exe,求得真正的注册码了,即填入机器码,再填入密钥,最后点生成,就出来真正的注册码了)----得出结论用eBook Edit Pro做的程序并不保险呀!在OLLYDBG里密钥竟然也可以在内存椎栈中找到! :004786DD 8BD8 mov ebx, eax :004786DF 33C0 xor eax, eax :004786E1 5A pop edx :004786E2 59 pop ecx :004786E3 59 pop ecx * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00478675(C) | :004786E4 648910 mov dword ptr fs:[eax], edx :004786E7 6801874700 push 00478701
* Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004786FF(U) | :004786EC 8D45F8 lea eax, dword ptr [ebp-08] :004786EF BA02000000 mov edx, 00000002 :004786F4 E8CFB4F8FF call 00403BC8 :004786F9 C3 ret
---------004786D8 call 00477DFC 关键的CALL,F8跟进------------- :00477DFC 55 push ebp :00477DFD 8BEC mov ebp, esp :00477DFF 81C4FCFEFFFF add esp, FFFFFEFC :00477E05 53 push ebx :00477E06 56 push esi :00477E07 57 push edi :00477E08 33DB xor ebx, ebx :00477E0A 895DFC mov dword ptr [ebp-04], ebx :00477E0D 8BF9 mov edi, ecx :00477E0F 8BF2 mov esi, edx :00477E11 8BD8 mov ebx, eax :00477E13 33C0 xor eax, eax :00477E15 55 push ebp :00477E16 68637E4700 push 00477E63 :00477E1B 64FF30 push dword ptr fs:[eax] :00477E1E 648920 mov dword ptr fs:[eax], esp :00477E21 8D8DFCFEFFFF lea ecx, dword ptr [ebp+FFFFFEFC] :00477E27 8BD7 mov edx, edi <===EDX=lawtxt163424(作者定的密钥) :00477E29 8BC3 mov eax, ebx <===EAX=3754256370(机器码) :00477E2B E864FEFFFF call 00477C94 <===关键算法CALL,F8跟进 :00477E30 8D95FCFEFFFF lea edx, dword ptr [ebp+FFFFFEFC] :00477E36 8D45FC lea eax, dword ptr [ebp-04] :00477E39 E88ABFF8FF call 00403DC8 :00477E3E 8B45FC mov eax, dword ptr [ebp-04] <===真注册码Sey0kJw6CBL6 :00477E41 8BD6 mov edx, esi <===假码78787878 :00477E43 E8ECC0F8FF call 00403F34 :00477E48 0F94C0 sete al :00477E4B 8BD8 mov ebx, eax :00477E4D 33C0 xor eax, eax :00477E4F 5A pop edx :00477E50 59 pop ecx :00477E51 59 pop ecx :00477E52 648910 mov dword ptr fs:[eax], edx :00477E55 686A7E4700 push 00477E6A
* Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00477E68(U) | :00477E5A 8D45FC lea eax, dword ptr [ebp-04] :00477E5D E842BDF8FF call 00403BA4 :00477E62 C3 ret
--------00477E2B call 00477C94 算法CALL,F8跟进-------------- :00477C94 55 push ebp :00477C95 8BEC mov ebp, esp :00477C97 83C4E0 add esp, FFFFFFE0 :00477C9A 53 push ebx :00477C9B 56 push esi :00477C9C 57 push edi :00477C9D 33DB xor ebx, ebx :00477C9F 895DE0 mov dword ptr [ebp-20], ebx :00477CA2 895DE4 mov dword ptr [ebp-1C], ebx :00477CA5 895DE8 mov dword ptr [ebp-18], ebx :00477CA8 8BF9 mov edi, ecx :00477CAA 8955F8 mov dword ptr [ebp-08], edx :00477CAD 8945FC mov dword ptr [ebp-04], eax :00477CB0 8B45FC mov eax, dword ptr [ebp-04] <===EAX=3754256370(机器码) :00477CB3 E820C3F8FF call 00403FD8 :00477CB8 8B45F8 mov eax, dword ptr [ebp-08] <===EAX=lawtxt163424(作者定的密钥) :00477CBB E818C3F8FF call 00403FD8 :00477CC0 33C0 xor eax, eax :00477CC2 55 push ebp :00477CC3 68ED7D4700 push 00477DED :00477CC8 64FF30 push dword ptr fs:[eax] :00477CCB 648920 mov dword ptr fs:[eax], esp :00477CCE 837DFC00 [1] [2] [3] [4] [5] 下一页 |