【破文标题】Cartoon Maker 5.95算法分析
【破文作者】tianxj
【作者邮箱】tianxj_2007@126.com
【作者主页】WwW.ChiNaPYG.CoM
【破解工具】PEiD,OD
【破解平台】D-Windows XP SP2
【软件名称】Cartoon Maker 5.95
【软件大小】1049KB
【软件类别】国外软件/图像处理
【软件语言】英文
【更新时间】2008-8-21
【原版下载】华军软件园
【保护方式】注册码
【软件简介】
Cartoon Maker可以将照片制作成有趣和令人惊讶的卡通效果,你可以利用它为自己或家人与朋友制作卡通化的照片,它也可以加上素描的效果,让卡通画制作轻而易举。
功能介绍:
扭曲分为球形,垂直,水平,还可外扩或内收
螺旋分为顺时针,逆时针,手动操作
素描分为钢笔和铅笔
轮廓分为直线,曲线,钢笔,文本,还可以选择颜色
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
初学破解与编程,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"sorry!your usercode or serialnumber is wrong!"
**************************************************************
二、用PEiD对AVIMPEGConverter.exe查壳,为 Borland Delphi 6.0 - 7.0
**************************************************************
三、运行OD,打开AVIMPEGConverter.exe,右键超级字串参考查找ASCII.
发现"sorry!your usercode or serialnumber is wrong!"
004B54F8 . 55 PUSH EBP 004B54F9 . 8BEC MOV EBP,ESP 004B54FB . B9 10000000 MOV ECX,10 004B5500 > 6A 00 PUSH 0 004B5502 . 6A 00 PUSH 0 004B5504 . 49 DEC ECX 004B5505 .^ 75 F9 JNZ SHORT Cartoon_.004B5500 004B5507 . 53 PUSH EBX 004B5508 . 56 PUSH ESI 004B5509 . 57 PUSH EDI 004B550A . 8BD8 MOV EBX,EAX 004B550C . 33C0 XOR EAX,EAX 004B550E . 55 PUSH EBP 004B550F . 68 DE584B00 PUSH Cartoon_.004B58DE 004B5514 . 64:FF30 PUSH DWORD PTR FS:[EAX] 004B5517 . 64:8920 MOV DWORD PTR FS:[EAX],ESP 004B551A . 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20] 004B551D . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B5523 . E8 B470F8FF CALL Cartoon_.0043C5DC 004B5528 . 837D E0 00 CMP DWORD PTR SS:[EBP-20],0 004B552C . 75 15 JNZ SHORT Cartoon_.004B5543 ; //用户码不为空则跳 004B552E . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B5534 . BA F4584B00 MOV EDX,Cartoon_.004B58F4 ; fill in your usercode 004B5539 . E8 CE70F8FF CALL Cartoon_.0043C60C 004B553E . E9 41030000 JMP Cartoon_.004B5884 004B5543 > 8D55 DC LEA EDX,DWORD PTR SS:[EBP-24] 004B5546 . 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304] 004B554C . E8 8B70F8FF CALL Cartoon_.0043C5DC 004B5551 . 837D DC 00 CMP DWORD PTR SS:[EBP-24],0 004B5555 . 75 15 JNZ SHORT Cartoon_.004B556C ; //序列号不为空则跳 004B5557 . 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304] 004B555D . BA 14594B00 MOV EDX,Cartoon_.004B5914 ; fill in serial number 004B5562 . E8 A570F8FF CALL Cartoon_.0043C60C 004B5567 . E9 18030000 JMP Cartoon_.004B5884 004B556C > 8D55 D8 LEA EDX,DWORD PTR SS:[EBP-28] 004B556F . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B5575 . E8 6270F8FF CALL Cartoon_.0043C5DC 004B557A . 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28] ; //用户码 004B557D . 8A00 MOV AL,BYTE PTR DS:[EAX] ; //取用户码第1位ASC值 004B557F . 8845 FF MOV BYTE PTR SS:[EBP-1],AL ; //[EBP-1]=AL=用户码第1位ASC值 004B5582 . 8D55 D4 LEA EDX,DWORD PTR SS:[EBP-2C] 004B5585 . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B558B . E8 4C70F8FF CALL Cartoon_.0043C5DC 004B5590 . 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C] ; //用户码 004B5593 . 8A40 01 MOV AL,BYTE PTR DS:[EAX+1] ; //取用户码第2位ASC值 004B5596 . 8845 FE MOV BYTE PTR SS:[EBP-2],AL ; //[EBP-2]=AL=用户码第2位ASC值 004B5599 . 8D55 D0 LEA EDX,DWORD PTR SS:[EBP-30] 004B559C . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B55A2 . E8 3570F8FF CALL Cartoon_.0043C5DC 004B55A7 . 8B45 D0 MOV EAX,DWORD PTR SS:[EBP-30] ; //用户码 004B55AA . 8A40 02 MOV AL,BYTE PTR DS:[EAX+2] ; //取用户码第3位ASC值 004B55AD . 8845 FD MOV BYTE PTR SS:[EBP-3],AL ; //[EBP-3]=AL=用户码第3位ASC值 004B55B0 . 8D55 CC LEA EDX,DWORD PTR SS:[EBP-34] 004B55B3 . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B55B9 . E8 1E70F8FF CALL Cartoon_.0043C5DC 004B55BE . 8B45 CC MOV EAX,DWORD PTR SS:[EBP-34] ; //用户码 004B55C1 . 8A40 03 MOV AL,BYTE PTR DS:[EAX+3] ; //取用户码第4位ASC值 004B55C4 . 8845 FC MOV BYTE PTR SS:[EBP-4],AL ; //[EBP-4]=AL=用户码第4位ASC值 004B55C7 . 8D55 C8 LEA EDX,DWORD PTR SS:[EBP-38] 004B55CA . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B55D0 . E8 0770F8FF CALL Cartoon_.0043C5DC 004B55D5 . 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38] ; //用户码 004B55D8 . 8A40 04 MOV AL,BYTE PTR DS:[EAX+4] ; //取用户码第5位ASC值 004B55DB . 8845 FB MOV BYTE PTR SS:[EBP-5],AL ; //[EBP-5]=AL=用户码第5位ASC值 004B55DE . 8D55 C4 LEA EDX,DWORD PTR SS:[EBP-3C] 004B55E1 . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B55E7 . E8 F06FF8FF CALL Cartoon_.0043C5DC 004B55EC . 8B45 C4 MOV EAX,DWORD PTR SS:[EBP-3C] ; //用户码 004B55EF . 8A40 05 MOV AL,BYTE PTR DS:[EAX+5] ; //AL=用户码第6位ASC值 004B55F2 . 33D2 XOR EDX,EDX ; //EDX=0 004B55F4 . 8A55 FF MOV DL,BYTE PTR SS:[EBP-1] ; //DL=[EBP-1]=用户码第1位ASC值 004B55F7 . 83C2 02 ADD EDX,2 ; //EDX=EDX+2 004B55FA . 0FB675 FE MOVZX ESI,BYTE PTR SS:[EBP-2] ; //ESI=[EBP-2]=用户码第2位ASC值 004B55FE . 83C6 09 ADD ESI,9 ; //ESI=ESI+9 004B5601 . 33C9 XOR ECX,ECX ; //ECX=0 004B5603 . 8A4D FD MOV CL,BYTE PTR SS:[EBP-3] ; //CL=[EBP-3]=用户码第3位ASC值 004B5606 . 41 INC ECX ; //ECX=ECX+1 004B5607 . 894D F4 MOV DWORD PTR SS:[EBP-C],ECX ; //[EBP-C]=ECX 004B560A . 0FB67D FC MOVZX EDI,BYTE PTR SS:[EBP-4] ; //EDI=[EBP-4]=用户码第4位ASC值 004B560E . 83EF 04 SUB EDI,4 ; //EDI=EDI-4 004B5611 . 33C9 XOR ECX,ECX ; //ECX=0 004B5613 . 8A4D FB MOV CL,BYTE PTR SS:[EBP-5] ; //CL=[EBP-5]=用户码第5位ASC值 004B5616 . 49 DEC ECX ; //ECX=ECX-1 004B5617 . 894D F0 MOV DWORD PTR SS:[EBP-10],ECX ; //[EBP-10]=ECX 004B561A . 25 FF000000 AND EAX,0FF ; //EAX=EAX and 0FF 004B561F . 83C0 05 ADD EAX,5 ; //EAX=EAX+5 004B5622 . 8855 EF MOV BYTE PTR SS:[EBP-11],DL ; //[EBP-11]=DL 004B5625 . 8BD6 MOV EDX,ESI ; //EDX=ESI 004B5627 . 8855 EE MOV BYTE PTR SS:[EBP-12],DL ; //[EBP-12]=DL 004B562A . 8A55 F4 MOV DL,BYTE PTR SS:[EBP-C] ; //DL=[EBP-C] 004B562D . 8855 ED MOV BYTE PTR SS:[EBP-13],DL ; //[EBP-13]=DL 004B5630 . 8BD7 MOV EDX,EDI ; //EDX=EDI 004B5632 . 8855 EC MOV BYTE PTR SS:[EBP-14],DL ; //[EBP-14]=DL 004B5635 . 8A55 F0 MOV DL,BYTE PTR SS:[EBP-10] ; //DL=[EBP-10] 004B5638 . 8855 EB MOV BYTE PTR SS:[EBP-15],DL ; //[EBP-15]=DL 004B563B . 8845 EA MOV BYTE PTR SS:[EBP-16],AL ; //[EBP-16]=AL 004B563E . 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48] 004B5641 . 8A55 ED MOV DL,BYTE PTR SS:[EBP-13] ; //DL=[EBP-13] 004B5644 . 8850 01 MOV BYTE PTR DS:[EAX+1],DL ; //[EAX+1]=DL 004B5647 . C600 01 MOV BYTE PTR DS:[EAX],1 ; //[EAX]=1 004B564A . 8D55 B8 LEA EDX,DWORD PTR SS:[EBP-48] 004B564D . 8D45 B4 LEA EAX,DWORD PTR SS:[EBP-4C] 004B5650 . E8 83D8F4FF CALL Cartoon_.00402ED8 004B5655 . 8D45 B0 LEA EAX,DWORD PTR SS:[EBP-50] 004B5658 . 8A55 EA MOV DL,BYTE PTR SS:[EBP-16] ; //DL=[EBP-16] 004B565B . 8850 01 MOV BYTE PTR DS:[EAX+1],DL ; //[EAX+1]=DL 004B565E . C600 01 MOV BYTE PTR DS:[EAX],1 ; //[EAX]=1 004B5661 . 8D55 B0 LEA EDX,DWORD PTR SS:[EBP-50] 004B5664 . 8D45 B4 LEA EAX,DWORD PTR SS:[EBP-4C] 004B5667 . B1 02 MOV CL,2 004B5669 . E8 3AD8F4FF CALL Cartoon_.00402EA8 004B566E . 8D55 B4 LEA EDX,DWORD PTR SS:[EBP-4C] 004B5671 . 8D45 BC LEA EAX,DWORD PTR SS:[EBP-44] 004B5674 . E8 37F1F4FF CALL Cartoon_.004047B0 004B5679 . FF75 BC PUSH DWORD PTR SS:[EBP-44] ; //取上面2个ASC值对应的字符 004B567C . 8D55 AC LEA EDX,DWORD PTR SS:[EBP-54] 004B567F . 8BC6 MOV EAX,ESI ; //EAX=ESI 004B5681 . E8 7E34F5FF CALL Cartoon_.00408B04 ; //取EAX的10进制字符 004B5686 . FF75 AC PUSH DWORD PTR SS:[EBP-54] ; //EAX的10进制字符 004B5689 . 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58] 004B568C . 8A55 EB MOV DL,BYTE PTR SS:[EBP-15] ; //DL=[EBP-15] 004B568F . E8 A0F0F4FF CALL Cartoon_.00404734 004B5694 . FF75 A8 PUSH DWORD PTR SS:[EBP-58] 004B5697 . 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C] 004B569A . 8A55 EE MOV DL,BYTE PTR SS:[EBP-12] ; //DL=[EBP-12] 004B569D . E8 92F0F4FF CALL Cartoon_.00404734 004B56A2 . FF75 A4 PUSH DWORD PTR SS:[EBP-5C] 004B56A5 . 8D55 A0 LEA EDX,DWORD PTR SS:[EBP-60] 004B56A8 . 8BC7 MOV EAX,EDI ; //EAX=EDI 004B56AA . E8 5534F5FF CALL Cartoon_.00408B04 ; //取EAX的10进制字符 004B56AF . FF75 A0 PUSH DWORD PTR SS:[EBP-60] ; //EAX的10进制字符 004B56B2 . 8D45 9C LEA EAX,DWORD PTR SS:[EBP-64] 004B56B5 . 8A55 EF MOV DL,BYTE PTR SS:[EBP-11] ; //DL=[EBP-11] 004B56B8 . E8 77F0F4FF CALL Cartoon_.00404734 004B56BD . FF75 9C PUSH DWORD PTR SS:[EBP-64] 004B56C0 . 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68] 004B56C3 . 8A55 EC MOV DL,BYTE PTR SS:[EBP-14] ; //DL=[EBP-14] 004B56C6 . E8 69F0F4FF CALL Cartoon_.00404734 004B56CB . FF75 98 PUSH DWORD PTR SS:[EBP-68] 004B56CE . 8D45 C0 LEA EAX,DWORD PTR SS:[EBP-40] 004B56D1 . BA 07000000 MOV EDX,7 004B56D6 . E8 F1F1F4FF CALL Cartoon_.004048CC 004B56DB . 8B55 C0 MOV EDX,DWORD PTR SS:[EBP-40] ; //上面的字符全部相连 004B56DE . 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308] 004B56E4 . E8 236FF8FF CALL Cartoon_.0043C60C 004B56E9 . 8D45 94 LEA EAX,DWORD PTR SS:[EBP-6C] 004B56EC . 50 PUSH EAX 004B56ED . 8D55 90 LEA EDX,DWORD PTR SS:[EBP-70] 004B56F0 . 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304] 004B56F6 . E8 E16EF8FF CALL Cartoon_.0043C5DC 004B56FB . 8B45 90 MOV EAX,DWORD PTR SS:[EBP-70] ; |//试练码 004B56FE . B9 08000000 MOV ECX,8 ; | 004B5703 . BA 01000000 MOV EDX,1 ; | 004B5708 . E8 1B0CF8FF CALL Cartoon_.00436328 ; \//取试练码的1-8位 004B570D . 8B45 94 MOV EAX,DWORD PTR SS:[EBP-6C] ; //试练码的1-8位 004B5710 . 50 PUSH EAX 004B5711 . 8D45 8C LEA EAX,DWORD PTR SS:[EBP-74] 004B5714 . 50 PUSH EAX 004B5715 . 8D55 88 LEA EDX,DWORD PTR SS:[EBP-78] 004B5718 . 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308] 004B571E . E8 B96EF8FF CALL Cartoon_.0043C5DC 004B5723 . 8B45 88 MOV EAX,DWORD PTR SS:[EBP-78] ; |//相连字符串 004B5726 . B9 08000000 MOV ECX,8 ; | 004B572B . BA 01000000 MOV EDX,1 ; | 004B5730 . E8 F30BF8FF CALL Cartoon_.00436328 ; \//取相连字符串的1-8位,即真码 004B5735 . 8B55 8C MOV EDX,DWORD PTR SS:[EBP-74] ; //真码 004B5738 . 58 POP EAX ; //试练码的1-8位 004B5739 . E8 12F2F4FF CALL Cartoon_.00404950 ; //比较CALL 004B573E . 0F85 10010000 JNZ Cartoon_.004B5854 ; //关键跳转 004B5744 . 8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC] 004B574A . BA 34594B00 MOV EDX,Cartoon_.004B5934 ; congratulation! registration is successful! 004B574F . E8 B86EF8FF CALL Cartoon_.0043C60C 004B5754 . A1 24AD4C00 MOV EAX,DWORD PTR DS:[4CAD24] 004B5759 . 8B00 MOV EAX,DWORD PTR DS:[EAX] 004B575B . 8B80 10030000 MOV EAX,DWORD PTR DS:[EAX+310] 004B5761 . BA 68594B00 MOV EDX,Cartoon_.004B5968 ; registered 004B5766 . E8 218FF9FF CALL Cartoon_.0044E68C 004B576B . 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C] 004B5771 . 33D2 XOR EDX,EDX 004B5773 . 8B08 MOV ECX,DWORD PTR DS:[EAX] 004B5775 . FF51 64 CALL DWORD PTR DS:[ECX+64] 004B5778 . 8B83 10030000 MOV EAX,DWORD PTR DS:[EBX+310] 004B577E . BA 7C594B00 MOV EDX,Cartoon_.004B597C ; close 004B5783 . E8 846EF8FF CALL Cartoon_.0043C60C 004B5788 . A1 D0A84C00 MOV EAX,DWORD PTR DS:[4CA8D0] 004B578D . C600 00 MOV BYTE PTR DS:[EAX],0 004B5790 . B2 01 MOV DL,1 004B5792 . A1 384D4700 MOV EAX,DWORD PTR DS:[474D38] 004B5797 . E8 9CF6FBFF CALL Cartoon_.00474E38 004B579C . 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX 004B579F . 33C0 XOR EAX,EAX 004B57A1 . 55 PUSH EBP 004B57A2 . 68 4D584B00 PUSH Cartoon_.004B584D 004B57A7 . 64:FF30 PUSH DWORD PTR FS:[EAX] 004B57AA . 64:8920 MOV DWORD PTR FS:[EAX],ESP 004B57AD . BA 02000080 MOV EDX,80000002 004B57B2 . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004B57B5 . E8 1EF7FBFF CALL Cartoon_.00474ED8 004B57BA . 33C9 XOR ECX,ECX 004B57BC . BA 8C594B00 MOV EDX,Cartoon_.004B598C ; \software\liangzhu\cartoonmaker 004B57C1 . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004B57C4 . E8 4FF8FBFF CALL Cartoon_.00475018 004B57C9 . 84C0 TEST AL,AL 004B57CB . 74 31 JE SHORT Cartoon_.004B57FE 004B57CD . 8D55 84 LEA EDX,DWORD PTR SS:[EBP-7C] 004B57D0 . 83C8 FF OR EAX,FFFFFFFF 004B57D3 . E8 2C33F5FF CALL Cartoon_.00408B04 004B57D8 . 8B4D 84 MOV ECX,DWORD PTR SS:[EBP-7C] 004B57DB . BA B4594B00 MOV EDX,Cartoon_.004B59B4 ; times 004B57E0 . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004B57E3 . E8 CCF9FBFF CALL Cartoon_.004751B4 004B57E8 . A1 24AD4C00 MOV EAX,DWORD PTR DS:[4CAD24] 004B57ED . 8B00 MOV EAX,DWORD PTR DS:[EAX] 004B57EF . 8B80 10030000 MOV EAX,DWORD PTR DS:[EAX+310] 004B57F5 . 33D2 XOR EDX,EDX 004B57F7 . E8 548FF9FF CALL Cartoon_.0044E750 004B57FC . EB 39 JMP SHORT Cartoon_.004B5837 004B57FE > BA 8C594B00 MOV EDX,Cartoon_.004B598C ; \software\liangzhu\cartoonmaker 004B5803 . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004B5806 . E8 31F7FBFF CALL Cartoon_.00474F3C 004B580B . BA 8C594B00 MOV EDX,Cartoon_.004B598C ; \software\liangzhu\cartoonmaker 004B5810 . B1 01 MOV CL,1 004B5812 . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004B5815 . E8 FEF7FBFF CALL Cartoon_.00475018 004B581A . 8D55 80 LEA EDX,DWORD PTR SS:[EBP-80] 004B581D . B8 01000000 MOV EAX,1 004B5822 . E8 DD32F5FF CALL Cartoon_.00408B04 004B5827 . 8B4D 80 MOV ECX,DWORD PTR SS:[EBP-80] 004B582A . BA B4594B00 MOV EDX,Cartoon_.004B59B4 ; times 004B582F . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004B5832 . E8 7DF9FBFF CALL Cartoon_.004751B4 004B5837 > 33C0 XOR EAX,EAX 004B5839 . 5A POP EDX 004B583A . 59 POP ECX 004B583B . 59 POP ECX 004B583C . 64:8910 MOV DWORD PTR FS:[EAX],EDX 004B583F . 68 84584B00 PUSH Cartoon_.004B5884 004B5844 > 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004B5847 . E8 F4DEF4FF CALL Cartoon_.00403740 004B584C . C3 RETN 004B584D .^ E9 82E6F4FF JMP Cartoon_.00403ED4 004B5852 .^ EB F0 JMP SHORT Cartoon_.004B5844 004B5854 > 8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC] 004B585A . BA C4594B00 MOV EDX,Cartoon_.004B59C4 ; sorry!your usercode or serialnumber is wrong! 004B585F . E8 A86DF8FF CALL Cartoon_.0043C60C 004B5864 . 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300] 004B586A . BA FC594B00 MOV EDX,Cartoon_.004B59FC ; Try again 004B586F . E8 986DF8FF CALL Cartoon_.0043C60C 004B5874 . 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304] 004B587A . BA FC594B00 MOV EDX,Cartoon_.004B59FC ; Try again 004B587F . E8 886DF8FF CALL Cartoon_.0043C60C 004B5884 > 33C0 XOR EAX,EAX 004B5886 . 5A POP EDX 004B5887 . 59 POP ECX 004B5888 . 59 POP ECX 004B5889 . 64:8910 MOV DWORD PTR FS:[EAX],EDX 004B588C . 68 E5584B00 PUSH Cartoon_.004B58E5 004B5891 > 8D45 80 LEA EAX,DWORD PTR SS:[EBP-80] 004B5894 . BA 02000000 MOV EDX,2 004B5899 . E8 DAECF4FF CALL Cartoon_.00404578 004B589E . 8D45 88 LEA EAX,DWORD PTR SS:[EBP-78] 004B58A1 . E8 AEECF4FF CALL Cartoon_.00404554 004B58A6 . 8D45 8C LEA EAX,DWORD PTR SS:[EBP-74] 004B58A9 . E8 A6ECF4FF CALL Cartoon_.00404554 004B58AE . 8D45 90 LEA EAX,DWORD PTR SS:[EBP-70] 004B58B1 . E8 9EECF4FF CALL Cartoon_.00404554 004B58B6 . 8D45 94 LEA EAX,DWORD PTR SS:[EBP-6C] 004B58B9 . BA 07000000 MOV EDX,7 004B58BE . E8 B5ECF4FF CALL Cartoon_.00404578 004B58C3 . 8D45 BC LEA EAX,DWORD PTR SS:[EBP-44] 004B58C6 . BA 02000000 MOV EDX,2 004B58CB . E8 A8ECF4FF CALL Cartoon_.00404578 004B58D0 . 8D45 C4 LEA EAX,DWORD PTR SS:[EBP-3C] 004B58D3 . BA 08000000 MOV EDX,8 004B58D8 . E8 9BECF4FF CALL Cartoon_.00404578 004B58DD . C3 RETN 004B58DE .^ E9 F1E5F4FF JMP Cartoon_.00403ED4 004B58E3 .^ EB AC JMP SHORT Cartoon_.004B5891 004B58E5 . 5F POP EDI 004B58E6 . 5E POP ESI 004B58E7 . 5B POP EBX 004B58E8 . 8BE5 MOV ESP,EBP 004B58EA . 5D POP EBP 004B58EB . C3 RETN
【破解说明】
1、这段时间工硕的课终于上完了,继续学习《加密与解密》
2、明明说的是一款国外软件,打开软件首先看到是中国美女刘亦菲,中国的美眉走向世界了!
--------------------------------------------------------------
【算法总结】
--------------------------------------------------------------
【算法注册机】
KeyMake作算法注册机
KeyGen.rek
.const
.data
szHomePage db "http://www.chinapyg.com",0
szEmail db "mailto:tianxj_2007@126.com",0
szErrMess db "输入的序列号不正确!",0
szFMT db "%d",0
szBuffer1 db 50 dup (0)
szBuffer2 db 50 dup (0)
szBuffer3 db 50 dup (0)
szBuffer4 db 50 dup (0)
szBuffer5 db 50 dup (0)
szBuffer6 db 50 dup (0)
hKey db 50 dup(0)
.code
MOV AL,BYTE PTR DS:[EAX]
MOV BYTE PTR SS:[EBP-1],AL
LEA EAX,hInput1
MOV AL,BYTE PTR DS:[EAX+1]
MOV BYTE PTR SS:[EBP-2],AL
LEA EAX,hInput1
MOV AL,BYTE PTR DS:[EAX+2]
MOV BYTE PTR SS:[EBP-3],AL
LEA EAX,hInput1
MOV AL,BYTE PTR DS:[EAX+3]
MOV BYTE PTR SS:[EBP-4],AL
LEA EAX,hInput1
MOV AL,BYTE PTR DS:[EAX+4]
MOV BYTE PTR SS:[EBP-5],AL
LEA EAX,hInput1
MOV AL,BYTE PTR DS:[EAX+5]
XOR EDX,EDX
MOV DL,BYTE PTR SS:[EBP-1]
ADD EDX,2
MOVZX ESI,BYTE PTR SS:[EBP-2]
ADD ESI,9
XOR ECX,ECX
MOV CL,BYTE PTR SS:[EBP-3]
INC ECX
MOV DWORD PTR SS:[EBP-0Ch],ECX
MOVZX EDI,BYTE PTR SS:[EBP-4]
SUB EDI,4
XOR ECX,ECX
MOV CL,BYTE PTR SS:[EBP-5]
DEC ECX
MOV DWORD PTR SS:[EBP-10h],ECX
AND EAX,0FF
ADD EAX,5
MOV BYTE PTR SS:[EBP-11h],DL
MOV EDX,ESI
MOV BYTE PTR SS:[EBP-12h],DL
MOV DL,BYTE PTR SS:[EBP-0Ch]
MOV BYTE PTR SS:[EBP-13h],DL
MOV EDX,EDI
MOV BYTE PTR SS:[EBP-14h],DL
MOV DL,BYTE PTR SS:[EBP-10h]
MOV BYTE PTR SS:[EBP-15h],DL
MOV BYTE PTR SS:[EBP-16h],AL
MOV DL,BYTE PTR SS:[EBP-13h]
MOV BYTE PTR SS:[szBuffer1],DL
MOV DL,BYTE PTR SS:[EBP-16h]
MOV BYTE PTR SS:[szBuffer1+1],DL
invoke wsprintf,addr szBuffer2,addr szFMT,ESI
MOV DL,BYTE PTR SS:[EBP-15h]
MOV BYTE PTR SS:[szBuffer3],DL
MOV DL,BYTE PTR SS:[EBP-12h]
MOV BYTE PTR SS:[szBuffer3+1],DL
invoke wsprintf,addr szBuffer4,addr szFMT,EDI
MOV DL,BYTE PTR SS:[EBP-11h]
MOV BYTE PTR SS:[szBuffer5],DL
MOV DL,BYTE PTR SS:[EBP-14h]
MOV BYTE PTR SS:[szBuffer5+1],DL
;为了软件的生存发展,这里省略了几行代码;如果是学习研究,可以单独向我索要
XOR EAX,EAX
XOR EBX,EBX
tianxj:
MOV BL,BYTE PTR SS:[ESI+EAX]
MOV BYTE PTR SS:[hKey+EAX],BL
INC EAX
CMP EAX,8
jnz tianxj
LEA EAX,hKey
--------------------------------------------------------------
【内存注册机】
中断地址 004B5739
中断次数 1
第一字节 E8
指令长度 5
内存方式-寄存器-EDX
--------------------------------------------------------------
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!