您的位置:首页精文荟萃破解文章 → e书工场 V1.4算法分析初步

e书工场 V1.4算法分析初步

时间:2004/10/15 0:55:00来源:本站整理作者:蓝点我要评论(0)

 
软件介绍:
eBook Workshop (原亿唯e书,现中文名:e书工场 )是将 HTML 页面文件、图片、Flash等捆绑成 EXE 电子文档的制作软件。本软件可以说是吸收了目前其他同类软件的优点,采用文件流技术,所有文件都在内存中释放和读取,不产生垃圾文件;软件采用界面外壳,制作时可以选择界面,界面优美,可以不断升级界面;制作的电子书可以部分或全部加密,从而保护制作者的利益, 是制作EXE电子图书最佳选择。
-------------------------------------------
下载地址: http://www.skycn.com/soft/8520.html

破解工具:TRW2000

破解过程:
1、运行TRW2000后最小化

2、运行程序,弹出注册对话框,输入用户名和任意假注册码,先不要点“注册”按钮

3、Ctrl+N激活TRW2000

4、bpx hmemcpy → 这里用hmemcpy这个万能断点就OK了

5、按F5返回,点击注册按钮,程序被拦截

6、BC * → 清除所有断点

PMODULE → 直接进入程序领空

7、按F12键7次按F10键来到如下代码处

0167:004C7B0C 8D55F8 LEA EDX,[EBP-08]
0167:004C7B0F A140034D00 MOV EAX,[004D0340]
0167:004C7B14 8B00 MOV EAX,[EAX]
0167:004C7B16 8B80D0020000 MOV EAX,[EAX+02D0]
0167:004C7B1C E86BB6F6FF CALL 0043318C
0167:004C7B21 8D45F4 LEA EAX,[EBP-0C]
0167:004C7B24 BA10854C00 MOV EDX,004C8510
0167:004C7B29 E83EC2F3FF CALL 00403D6C
0167:004C7B2E 8D55F8 LEA EDX,[EBP-08]
0167:004C7B31 8B45FC MOV EAX,[EBP-04] 用户名a1到EAX
0167:004C7B34 E85B6CFFFF CALL 004BE794 //关键CALL-A,F8进入
0167:004C7B39 8B45F8 MOV EAX,[EBP-08]
0167:004C7B3C E813C4F3FF CALL 00403F54 D EAX可见经过用户名计算的中间字符串b1
0167:004C7B41 8945EC MOV [EBP-14],EAX
0167:004C7B44 8B45F4 MOV EAX,[EBP-0C]
0167:004C7B47 E808C4F3FF CALL 00403F54 字符串"bestloveyang"
0167:004C7B4C 8945E8 MOV [EBP-18],EAX
0167:004C7B4F C745F063000000 MOV DWORD [EBP-10],63 //设置常数0x63
0167:004C7B56 8D45E0 LEA EAX,[EBP-20]
0167:004C7B59 B9FF000000 MOV ECX,FF
0167:004C7B5E BA01000000 MOV EDX,01
0167:004C7B63 E834C6F3FF CALL 0040419C
0167:004C7B68 8D45D8 LEA EAX,[EBP-28]
0167:004C7B6B B9FF000000 MOV ECX,FF
0167:004C7B70 BA01000000 MOV EDX,01
0167:004C7B75 E822C6F3FF CALL 0040419C
0167:004C7B7A C745E401000000 MOV DWORD [EBP-1C],01
0167:004C7B81 C645DE01 MOV BYTE [EBP-22],01
0167:004C7B85 8D45E0 LEA EAX,[EBP-20]
0167:004C7B88 50 PUSH EAX
0167:004C7B89 8B4DE8 MOV ECX,[EBP-18]
0167:004C7B8C 8B55E4 MOV EDX,[EBP-1C]
0167:004C7B8F 8B45F8 MOV EAX,[EBP-08]
0167:004C7B92 E8C5C5F3FF CALL 0040415C 中间字符串b1
0167:004C7B97 8B45E4 MOV EAX,[EBP-1C]
0167:004C7B9A 0345E8 ADD EAX,[EBP-18]
0167:004C7B9D 48 DEC EAX
0167:004C7B9E 3B45EC CMP EAX,[EBP-14]
0167:004C7BA1 7E16 JNG 004C7BB9
0167:004C7BA3 8B45EC MOV EAX,[EBP-14]
0167:004C7BA6 40 INC EAX
0167:004C7BA7 2B45E4 SUB EAX,[EBP-1C]
0167:004C7BAA 8945E8 MOV [EBP-18],EAX
0167:004C7BAD 807DDE00 CMP BYTE [EBP-22],00
0167:004C7BB1 7406 JZ 004C7BB9
0167:004C7BB3 8B45EC MOV EAX,[EBP-14]
0167:004C7BB6 8945E8 MOV [EBP-18],EAX
0167:004C7BB9 C645DE00 MOV BYTE [EBP-22],00
0167:004C7BBD 8B75E8 MOV ESI,[EBP-18]
0167:004C7BC0 85F6 TEST ESI,ESI
0167:004C7BC2 7E47 JNG 004C7C0B
0167:004C7BC4 BB01000000 MOV EBX,01
0167:004C7BC9 8B45E0 MOV EAX,[EBP-20] 中间字符串b1
0167:004C7BCC 0FB67C18FF MOVZX EDI,BYTE [EAX+EBX-01] 逐位取ASCII码
0167:004C7BD1 8B45F4 MOV EAX,[EBP-0C] 字符串"bestloveyang"
0167:004C7BD4 0FB64418FF MOVZX EAX,BYTE [EAX+EBX-01] 逐位取ASCII码
0167:004C7BD9 33F8 XOR EDI,EAX XOR运算
0167:004C7BDB 8D45E0 LEA EAX,[EBP-20]
0167:004C7BDE B901000000 MOV ECX,01
0167:004C7BE3 8BD3 MOV EDX,EBX
0167:004C7BE5 E8B2C5F3FF CALL 0040419C
0167:004C7BEA 8BC7 MOV EAX,EDI
0167:004C7BEC 8845DF MOV [EBP-21],AL
0167:004C7BEF 8D45CC LEA EAX,[EBP-34]
0167:004C7BF2 8A55DF MOV DL,[EBP-21]
0167:004C7BF5 E882C2F3FF CALL 00403E7C
0167:004C7BFA 8B45CC MOV EAX,[EBP-34]
0167:004C7BFD 8D55E0 LEA EDX,[EBP-20]
0167:004C7C00 8BCB MOV ECX,EBX
0167:004C7C02 E8DDC5F3FF CALL 004041E4
0167:004C7C07 43 INC EBX
0167:004C7C08 4E DEC ESI
0167:004C7C09 75BE JNZ 004C7BC9 按用户名长度循环,超过字符串"bestloveyang"
的长度的用户名,按字符串"bestloveyang"长度运算
0167:004C7C0B 8D45D8 LEA EAX,[EBP-28]
0167:004C7C0E 8B55E0 MOV EDX,[EBP-20] 这里是计算的结果,计为c1
0167:004C7C11 E846C3F3FF CALL 00403F5C
0167:004C7C16 8B45E8 MOV EAX,[EBP-18]
0167:004C7C19 0145E4 ADD [EBP-1C],EAX
0167:004C7C1C 8B45E4 MOV EAX,[EBP-1C]
0167:004C7C1F 3B45EC CMP EAX,[EBP-14]
0167:004C7C22 0F8E5DFFFFFF JNG NEAR 004C7B85
0167:004C7C28 8D45F8 LEA EAX,[EBP-08]
0167:004C7C2B 8B55D8 MOV EDX,[EBP-28]
0167:004C7C2E E839C1F3FF CALL 00403D6C
0167:004C7C33 8B45F8 MOV EAX,[EBP-08]
0167:004C7C36 E819C3F3FF CALL 00403F54
0167:004C7C3B 83F804 CMP EAX,BYTE +04
0167:004C7C3E 7D10 JNL 004C7C50
0167:004C7C40 8D45F8 LEA EAX,[EBP-08]
0167:004C7C43 8B4DF8 MOV ECX,[EBP-08]
0167:004C7C46 BA28854C00 MOV EDX,004C8528
0167:004C7C4B E850C3F3FF CALL 00403FA0
0167:004C7C50 8B45F8 MOV EAX,[EBP-08]
0167:004C7C53 E8FCC2F3FF CALL 00403F54
0167:004C7C58 8BC8 MOV ECX,EAX
0167:004C7C5A 83E904 SUB ECX,BYTE +04
0167:004C7C5D 8D45F8 LEA EAX,[EBP-08]
0167:004C7C60 BA01000000 MOV EDX,01
0167:004C7C65 E832C5F3FF CALL 0040419C
0167:004C7C6A 8B45F8 MOV EAX,[EBP-08]
0167:004C7C6D E8E2C2F3FF CALL 00403F54
0167:004C7C72 8945EC MOV [EBP-14],EAX
0167:004C7C75 8D45D8 LEA EAX,[EBP-28]
0167:004C7C78 B9FF000000 MOV ECX,FF
0167:004C7C7D BA01000000 MOV EDX,01
0167:004C7C82 E815C5F3FF CALL 0040419C
0167:004C7C87 8B75EC MOV ESI,[EBP-14]
0167:004C7C8A 85F6 TEST ESI,ESI
0167:004C7C8C 7E2B JNG 004C7CB9
0167:004C7C8E BB01000000 MOV EBX,01
0167:004C7C93 8D45D4 LEA EAX,[EBP-2C]
0167:004C7C96 50 PUSH EAX
0167:004C7C97 8B55EC MOV EDX,[EBP-14]
0167:004C7C9A 2BD3 SUB EDX,EBX
0167:004C7C9C 42 INC EDX
0167:004C7C9D B901000000 MOV ECX,01
0167:004C7CA2 8B45F8 MOV EAX,[EBP-08]
0167:004C7CA5 E8B2C4F3FF CALL 0040415C
0167:004C7CAA 8D45D8 LEA EAX,[EBP-28]
0167:004C7CAD 8B55D4 MOV EDX,[EBP-2C]
0167:004C7CB0 E8A7C2F3FF CALL 00403F5C
0167:004C7CB5 43 INC EBX
0167:004C7CB6 4E DEC ESI
0167:004C7CB7 75DA JNZ 004C7C93
0167:004C7CB9 8D45F8 LEA EAX,[EBP-08]
0167:004C7CBC 8B55D8 MOV EDX,[EBP-28]
0167:004C7CBF E8A8C0F3FF CALL 00403D6C
0167:004C7CC4 8D45D8 LEA EAX,[EBP-28]
0167:004C7CC7 B9FF000000 MOV ECX,FF
0167:004C7CCC BA01000000 MOV EDX,01
0167:004C7CD1 E8C6C4F3FF CALL 0040419C
0167:004C7CD6 8D55D8 LEA EDX,[EBP-28]
0167:004C7CD9 A140034D00 MOV EAX,[004D0340]
0167:004C7CDE 8B00 MOV EAX,[EAX]
0167:004C7CE0 8B80D4020000 MOV EAX,[EAX+02D4]
0167:004C7CE6 E8A1B4F6FF CALL 0043318C
0167:004C7CEB 8B75EC MOV ESI,[EBP-14]
0167:004C7CEE 85F6 TEST ESI,ESI
0167:004C7CF0 0F8EB1000000 JNG NEAR 004C7DA7
0167:004C7CF6 BB01000000 MOV EBX,01
0167:004C7CFB 8B45F8 MOV EAX,[EBP-08]
0167:004C7CFE 0FB67C18FF MOVZX EDI,BYTE [EAX+EBX-01] 逐位取c1
0167:004C7D03 037DF0 ADD EDI,[EBP-10] 加上常数0x63
0167:004C7D06 81FFFF000000 CMP EDI,FF
0167:004C7D0C 7E06 JNG 004C7D14
0167:004C7D0E 81EFFF000000 SUB EDI,FF
0167:004C7D14 85FF TEST EDI,EDI
0167:004C7D16 7D06 JNL 004C7D1E
0167:004C7D18 81C7FF000000 ADD EDI,FF
0167:004C7D1E 8D45C4 LEA EAX,[EBP-3C]
0167:004C7D21 8BD3 MOV EDX,EBX
0167:004C7D23 4A DEC EDX
0167:004C7D24 03D2 ADD EDX,EDX
0167:004C7D26 8B4DD8 MOV ECX,[EBP-28]
0167:004C7D29 8A1411 MOV DL,[ECX+EDX]
0167:004C7D2C 885001 MOV [EAX+01],DL
0167:004C7D2F C60001 MOV BYTE [EAX],01
0167:004C7D32 8D55C4 LEA EDX,[EBP-3C]
0167:004C7D35 8D45C0 LEA EAX,[EBP-40]
0167:004C7D38 E88BADF3FF CALL 00402AC8
0167:004C7D3D 8D45BC LEA EAX,[EBP-44]
0167:004C7D40 8BD3 MOV EDX,EBX
0167:004C7D42 4A DEC EDX
0167:004C7D43 03D2 ADD EDX,EDX
0167:004C7D45 8B4DD8 MOV ECX,[EBP-28]
0167:004C7D48 8A541101 MOV DL,[ECX+EDX+01]
0167:004C7D4C 885001 MOV [EAX+01],DL
0167:004C7D4F C60001 MOV BYTE [EAX],01
0167:004C7D52 8D55BC LEA EDX,[EBP-44]
0167:004C7D55 8D45C0 LEA EAX,[EBP-40]
0167:004C7D58 B102 MOV CL,02
0167:004C7D5A E839ADF3FF CALL 00402A98
0167:004C7D5F 8D55C0 LEA EDX,[EBP-40]
0167:004C7D62 8D45C8 LEA EAX,[EBP-38]
0167:004C7D65 E88EC1F3FF CALL 00403EF8
0167:004C7D6A 8B45C8 MOV EAX,[EBP-38]
0167:004C7D6D 50 PUSH EAX
0167:004C7D6E 8D45B8 LEA EAX,[EBP-48]
0167:004C7D71 50 PUSH EAX
0167:004C7D72 897DB0 MOV [EBP-50],EDI
0167:004C7D75 C645B400 MOV BYTE [EBP-4C],00
0167:004C7D79 8D55B0 LEA EDX,[EBP-50]
0167:004C7D7C 33C9 XOR ECX,ECX
0167:004C7D7E B838854C00 MOV EAX,004C8538
0167:004C7D83 E8201AF4FF CALL 004097A8
0167:004C7D88 8B55B8 MOV EDX,[EBP-48]
0167:004C7D8B 58 POP EAX
0167:004C7D8C E8D3C2F3FF CALL 00404064 每2位注册码进行比较,D EDX可见2位真注册码
0167:004C7D91 0F9445D3 SETZ [EBP-2D]
0167:004C7D95 807DD300 CMP BYTE [EBP-2D],00
0167:004C7D99 0F84F8060000 JZ NEAR 004C8497 不对就死了
0167:004C7D9F 43 INC EBX
0167:004C7DA0 4E DEC ESI
0167:004C7DA1 0F8554FFFFFF JNZ NEAR 004C7CFB
0167:004C7DA7 8D55F8 LEA EDX,[EBP-08]
0167:004C7DAA A140034D00 MOV EAX,[004D0340]
0167:004C7DAF 8B00 MOV EAX,[EAX]
0167:004C7DB1 8B80D0020000 MOV EAX,[EAX+02D0]
0167:004C7DB7 E8D0B3F6FF CALL 0043318C
0167:004C7DBC 8D45F4 LEA EAX,[EBP-0C]
0167:004C7DBF BA48854C00 MOV EDX,004C8548
0167:004C7DC4 E8A3BFF3FF CALL 00403D6C
0167:004C7DC9 8D55F8 LEA EDX,[EBP-08]
0167:004C7DCC 8B45FC MOV EAX,[EBP-04]
0167:004C7DCF E8C069FFFF CALL 004BE794
0167:004C7DD4 8B45F8 MOV EAX,[EBP-08]
0167:004C7DD7 E878C1F3FF CALL 00403F54
0167:004C7DDC 8945EC MOV [EBP-14],EAX
0167:004C7DDF 8B45F4 MOV EAX,[EBP-0C]
0167:004C7DE2 E86DC1F3FF CALL 00403F54
0167:004C7DE7 8945E8 MOV [EBP-18],EAX
0167:004C7DEA C745F014000000 MOV DWORD [EBP-10],14
0167:004C7DF1 8D45D8 LEA EAX,[EBP-28]
0167:004C7DF4 B9FF000000 MOV ECX,FF
0167:004C7DF9 BA01000000 MOV EDX,01
0167:004C7DFE E899C3F3FF CALL 0040419C
0167:004C7E03 8B75EC MOV ESI,[EBP-14]
0167:004C7E06 85F6 TEST ESI,ESI
0167:004C7E08 7E2B JNG 004C7E35
0167:004C7E0A BB01000000 MOV EBX,01
0167:004C7E0F 8D45D4 LEA EAX,[EBP-2C]
0167:004C7E12 50 PUSH EAX
0167:004C7E13 8B55EC MOV EDX,[EBP-14]
0167:004C7E16 2BD3 SUB EDX,EBX
0167:004C7E18 42 INC EDX
0167:004C7E19 B901000000 MOV ECX,01
0167:004C7E1E 8B45F8 MOV EAX,[EBP-08]
0167:004C7E21 E836C3F3FF CALL 0040415C
0167:004C7E26 8D45D8 LEA EAX,[EBP-28]
0167:004C7E29 8B55D4 MOV EDX,[EBP-2C]
0167:004C7E2C E82BC1F3FF CALL 00403F5C
0167:004C7E31 43 INC EBX
0167:004C7E32 4E DEC ESI
0167:004C7E33 75DA JNZ 004C7E0F
0167:004C7E35 8D45F8 LEA EAX,[EBP-08]
0167:004C7E38 8B55D8 MOV EDX,[EBP-28]
0167:004C7E3B E82CBFF3FF CALL 00403D6C
0167:004C7E40 8D45E0 LEA EAX,[EBP-20]
0167:004C7E43 B9FF000000 MOV ECX,FF
0167:004C7E48 BA01000000 MOV EDX,01
0167:004C7E4D E84AC3F3FF CALL 0040419C
0167:004C7E52 8D45D8 LEA EAX,[EBP-28]
0167:004C7E55 B9FF000000 MOV ECX,FF
0167:004C7E5A BA01000000 MOV EDX,01
0167:004C7E5F E838C3F3FF CALL 0040419C
0167:004C7E64 C745E401000000 MOV DWORD [EBP-1C],01
0167:004C7E6B C645DE01 MOV BYTE [EBP-22],01
0167:004C7E6F 8D45E0 LEA EAX,[EBP-20]
0167:004C7E72 50 PUSH EAX
0167:004C7E73 8B4DE8 MOV ECX,[EBP-18]
0167:004C7E76 8B55E4 MOV EDX,[EBP-1C]
0167:004C7E79 8B45F8 MOV EAX,[EBP-08]
0167:004C7E7C E8DBC2F3FF CALL 0040415C
0167:004C7E81 8B45E4 MOV EAX,[EBP-1C]
0167:004C7E84 0345E8 ADD EAX,[EBP-18]
0167:004C7E87 48 DEC EAX
0167:004C7E88 3B45EC CMP EAX,[EBP-14]
0167:004C7E8B 7E16 JNG 004C7EA3
0167:004C7E8D 8B45EC MOV EAX,[EBP-14]
0167:004C7E90 40 INC EAX
0167:004C7E91 2B45E4 SUB EAX,[EBP-1C]
0167:004C7E94 8945E8 MOV [EBP-18],EAX
0167:004C7E97 807DDE00 CMP BYTE [EBP-22],00
0167:004C7E9B 7406 JZ 004C7EA3
0167:004C7E9D 8B45EC MOV EAX,[EBP-14]
0167:004C7EA0 8945E8 MOV [EBP-18],EAX
0167:004C7EA3 C645DE00 MOV BYTE [EBP-22],00
0167:004C7EA7 8B75E8 MOV ESI,[EBP-18]
0167:004C7EAA 85F6 TEST ESI,ESI
0167:004C7EAC 7E47 JNG 004C7EF5
0167:004C7EAE BB01000000 MOV EBX,01
0167:004C7EB3 8B45E0 MOV EAX,[EBP-20] //前后倒置的中间字符串b1
0167:004C7EB6 0FB67C18FF MOVZX EDI,BYTE [EAX+EBX-01]
0167:004C7EBB 8B45F4 MOV EAX,[EBP-0C] //字符串"yangyi"
0167:004C7EBE 0FB64418FF MOVZX EAX,BYTE [EAX+EBX-01]
0167:004C7EC3 33F8 XOR EDI,EAX XOR运算
0167:004C7EC5 8D45E0 LEA EAX,[EBP-20]
0167:004C7EC8 B901000000 MOV ECX,01
0167:004C7ECD 8BD3 MOV EDX,EBX
0167:004C7ECF E8C8C2F3FF CALL 0040419C
0167:004C7ED4 8BC7 MOV EAX,EDI
0167:004C7ED6 8845DF MOV [EBP-21],AL
0167:004C7ED9 8D45AC LEA EAX,[EBP-54]
0167:004C7EDC 8A55DF MOV DL,[EBP-21]
0167:004C7EDF E898BFF3FF CALL 00403E7C
0167:004C7EE4 8B45AC MOV EAX,[EBP-54]
0167:004C7EE7 8D55E0 LEA EDX,[EBP-20]
0167:004C7EEA 8BCB MOV ECX,EBX
0167:004C7EEC E8F3C2F3FF CALL 004041E4
0167:004C7EF1 43 INC EBX
0167:004C7EF2 4E DEC ESI
0167:004C7EF3 75BE JNZ 004C7EB3 循环
0167:004C7EF5 8D45D8 LEA EAX,[EBP-28]
0167:004C7EF8 8B55E0 MOV EDX,[EBP-20]
0167:004C7EFB E85CC0F3FF CALL 00403F5C
0167:004C7F00 8B45E8 MOV EAX,[EBP-18]
0167:004C7F03 0145E4 ADD [EBP-1C],EAX
0167:004C7F06 8B45E4 MOV EAX,[EBP-1C]
0167:004C7F09 3B45EC CMP EAX,[EBP-14]
0167:004C7F0C 0F8E5DFFFFFF JNG NEAR 004C7E6F
0167:004C7F12 8D45F8 LEA EAX,[EBP-08]
0167:004C7F15 8B55D8 MOV EDX,[EBP-28]
0167:004C7F18 E84FBEF3FF CALL 00403D6C
0167:004C7F1D 8B45F8 MOV EAX,[EBP-08]
0167:004C7F20 E82FC0F3FF CALL 00403F54
0167:004C7F25 83F804 CMP EAX,BYTE +04
0167:004C7F28 7D10 JNL 004C7F3A
0167:004C7F2A 8D45F8 LEA EAX,[EBP-08]
0167:004C7F2D 8B4DF8 MOV ECX,[EBP-08]
0167:004C7F30 BA28854C00 MOV EDX,004C8528
0167:004C7F35 E866C0F3FF CALL 00403FA0
0167:004C7F3A 8B45F8 MOV EAX,[EBP-08]
0167:004C7F3D E812C0F3FF CALL 00403F54
0167:004C7F42 8BC8 MOV ECX,EAX
0167:004C7F44 83E904 SUB ECX,BYTE +04
0167:004C7F47 8D45F8 LEA EAX,[EBP-08]
0167:004C7F4A BA01000000 MOV EDX,01
0167:004C7F4F E848C2F3FF CALL 0040419C
0167:004C7F54 8B45F8 MOV EAX,[EBP-08]
0167:004C7F57 E8F8BFF3FF CALL 00403F54
0167:004C7F5C 8945EC MOV [EBP-14],EAX
0167:004C7F5F 8D45D8 LEA EAX,[EBP-28]
0167:004C7F62 B9FF000000 MOV ECX,FF
0167:004C7F67 BA01000000 MOV EDX,01
0167:004C7F6C E82BC2F3FF CALL 0040419C
0167:004C7F71 8D55D8 LEA EDX,[EBP-28]
0167:004C7F74 A140034D00 MOV EAX,[004D0340]
0167:004C7F79 8B00 MOV EAX,[EAX]
0167:004C7F7B 8B80E8020000 MOV EAX,[EAX+02E8]
0167:004C7F81 E806B2F6FF CALL 0043318C
0167:004C7F86 8B75EC MOV ESI,[EBP-14]
0167:004C7F89 85F6 TEST ESI,ESI
0167:004C7F8B 0F8EB1000000 JNG NEAR 004C8042
0167:004C7F91 BB01000000 MOV EBX,01
0167:004C7F96 8B45F8 MOV EAX,[EBP-08]
0167:004C7F99 0FB67C18FF MOVZX EDI,BYTE [EAX+EBX-01] c2
0167:004C7F9E 037DF0 ADD EDI,[EBP-10] 加常数0x14
0167:004C7FA1 81FFFF000000 CMP EDI,FF
0167:004C7FA7 7E06 JNG 004C7FAF
0167:004C7FA9 81EFFF000000 SUB EDI,FF
0167:004C7FAF 85FF TEST EDI,EDI
0167:004C7FB1 7D06 JNL 004C7FB9
0167:004C7FB3 81C7FF000000 ADD EDI,FF
0167:004C7FB9 8D45C4 LEA EAX,[EBP-3C]
0167:004C7FBC 8BD3 MOV EDX,EBX
0167:004C7FBE 4A DEC EDX
0167:004C7FBF 03D2 ADD EDX,EDX
0167:004C7FC1 8B4DD8 MOV ECX,[EBP-28]
0167:004C7FC4 8A1411 MOV DL,[ECX+EDX]
0167:004C7FC7 885001 MOV [EAX+01],DL
0167:004C7FCA C60001 MOV BYTE [EAX],01
0167:004C7FCD 8D55C4 LEA EDX,[EBP-3C]
0167:004C7FD0 8D45C0 LEA EAX,[EBP-40]
0167:004C7FD3 E8F0AAF3FF CALL 00402AC8
0167:004C7FD8 8D45BC LEA EAX,[EBP-44]
0167:004C7FDB 8BD3 MOV EDX,EBX
0167:004C7FDD 4A DEC EDX
0167:004C7FDE 03D2 ADD EDX,EDX
0167:004C7FE0 8B4DD8 MOV ECX,[EBP-28]
0167:004C7FE3 8A541101 MOV DL,[ECX+EDX+01]
0167:004C7FE7 885001 MOV [EAX+01],DL
0167:004C7FEA C60001 MOV BYTE [EAX],01
0167:004C7FED 8D55BC LEA EDX,[EBP-44]
0167:004C7FF0 8D45C0 LEA EAX,[EBP-40]
0167:004C7FF3 B102 MOV CL,02
0167:004C7FF5 E89EAAF3FF CALL 00402A98
0167:004C7FFA 8D55C0 LEA EDX,[EBP-40]
0167:004C7FFD 8D45A8 LEA EAX,[EBP-58]
0167:004C8000 E8F3BEF3FF CALL 00403EF8
0167:004C8005 8B45A8 MOV EAX,[EBP-58]
0167:004C8008 50 PUSH EAX
0167:004C8009 8D45A4 LEA EAX,[EBP-5C]
0167:004C800C 50 PUSH EAX
0167:004C800D 897DB0 MOV [EBP-50],EDI
0167:004C8010 C645B400 MOV BYTE [EBP-4C],00
0167:004C8014 8D55B0 LEA EDX,[EBP-50]
0167:004C8017 33C9 XOR ECX,ECX
0167:004C8019 B838854C00 MOV EAX,004C8538
0167:004C801E E88517F4FF CALL 004097A8
0167:004C8023 8B55A4 MOV EDX,[EBP-5C]
0167:004C8026 58 POP EAX
0167:004C8027 E838C0F3FF CALL 00404064 每2位注册码进行比较,D EDX可见2位真注册码
0167:004C802C 0F9445D3 SETZ [EBP-2D]
0167:004C8030 807DD300 CMP BYTE [EBP-2D],00
0167:004C8034 0F845D040000 JZ NEAR 004C8497 不对就死!
0167:004C803A 43 INC EBX
0167:004C803B 4E DEC ESI
0167:004C803C 0F8554FFFFFF JNZ NEAR 004C7F96
0167:004C8042 8D55F8 LEA EDX,[EBP-08]
0167:004C8045 A140034D00 MOV EAX,[004D0340]
0167:004C804A 8B00 MOV EAX,[EAX]
0167:004C804C 8B80D0020000 MOV EAX,[EAX+02D0]
0167:004C8052 E835B1F6FF CALL 0043318C
0167:004C8057 8D45F4 LEA EAX,[EBP-0C]
0167:004C805A BA58854C00 MOV EDX,004C8558
0167:004C805F E808BDF3FF CALL 00403D6C
0167:004C8064 8D55F8 LEA EDX,[EBP-08]
0167:004C8067 8B45FC MOV EAX,[EBP-04]
0167:004C806A E82567FFFF CALL 004BE794
0167:004C806F 8B45F8 MOV EAX,[EBP-08]
0167:004C8072 E8DDBEF3FF CALL 00403F54
0167:004C8077 8945EC MOV [EBP-14],EAX
0167:004C807A 8B45F4 MOV EAX,[EBP-0C]
0167:004C807D E8D2BEF3FF CALL 00403F54
0167:004C8082 8945E8 MOV [EBP-18],EAX
0167:004C8085 C745F08C000000 MOV DWORD [EBP-10],8C
0167:004C808C 8D45D8 LEA EAX,[EBP-28]
0167:004C808F 8B4DD8 MOV ECX,[EBP-28]
0167:004C8092 BA6C854C00 MOV EDX,004C856C
0167:004C8097 E804BFF3FF CALL 00403FA0
0167:004C809C 8D45D8 LEA EAX,[EBP-28]
0167:004C809F B9FF000000 MOV ECX,FF
0167:004C80A4 BA01000000 MOV EDX,01
0167:004C80A9 E8EEC0F3FF CALL 0040419C
0167:004C80AE BB01000000 MOV EBX,01
0167:004C80B3 8D45D4 LEA EAX,[EBP-2C]
0167:004C80B6 50 PUSH EAX
0167:004C80B7 8B55EC MOV EDX,[EBP-14]
0167:004C80BA 2BD3 SUB EDX,EBX
0167:004C80BC 42 INC EDX
0167:004C80BD B901000000 MOV ECX,01
0167:004C80C2 8B45F8 MOV EAX,[EBP-08]
0167:004C80C5 E892C0F3FF CALL 0040415C
0167:004C80CA 8D45D8 LEA EAX,[EBP-28]
0167:004C80CD 8B55D4 MOV EDX,[EBP-2C]
0167:004C80D0 E887BEF3FF CALL 00403F5C
0167:004C80D5 43 INC EBX
0167:004C80D6 83FB05 CMP EBX,BYTE +05
0167:004C80D9 75D8 JNZ 004C80B3
0167:004C80DB 8D45F8 LEA EAX,[EBP-08]
0167:004C80DE 8B55D8 MOV EDX,[EBP-28]
0167:004C80E1 E886BCF3FF CALL 00403D6C
0167:004C80E6 8B45F8 MOV EAX,[EBP-08]
0167:004C80E9 E866BEF3FF CALL 00403F54
0167:004C80EE 8945EC MOV [EBP-14],EAX
0167:004C80F1 8D45D8 LEA EAX,[EBP-28]
0167:004C80F4 B9FF000000 MOV ECX,FF
0167:004C80F9 BA01000000 MOV EDX,01
0167:004C80FE E899C0F3FF CALL 0040419C
0167:004C8103 8B75EC MOV ESI,[EBP-14]
0167:004C8106 85F6 TEST ESI,ESI
0167:004C8108 7E2B JNG 004C8135
0167:004C810A BB01000000 MOV EBX,01
0167:004C810F 8D45D4 LEA EAX,[EBP-2C]
0167:004C8112 50 PUSH EAX
0167:004C8113 8B55EC MOV EDX,[EBP-14]
0167:004C8116 2BD3 SUB EDX,EBX
0167:004C8118 42 INC EDX
0167:004C8119 B901000000 MOV ECX,01
0167:004C811E 8B45F8 MOV EAX,[EBP-08]
0167:004C8121 E836C0F3FF CALL 0040415C
0167:004C8126 8D45D8 LEA EAX,[EBP-28]
0167:004C8129 8B55D4 MOV EDX,[EBP-2C]
0167:004C812C E82BBEF3FF CALL 00403F5C
0167:004C8131 43 INC EBX
0167:004C8132 4E DEC ESI
0167:004C8133 75DA JNZ 004C810F
0167:004C8135 8D45F8 LEA EAX,[EBP-08]
0167:004C8138 8B55D8 MOV EDX,[EBP-28]
0167:004C813B E82CBCF3FF CALL 00403D6C
0167:004C8140 8D45E0 LEA EAX,[EBP-20]
0167:004C8143 B9FF000000 MOV ECX,FF
0167:004C8148 BA01000000 MOV EDX,01
0167:004C814D E84AC0F3FF CALL 0040419C
0167:004C8152 8D45D8 LEA EAX,[EBP-28]
0167:004C8155 B9FF000000 MOV ECX,FF
0167:004C815A BA01000000 MOV EDX,01
0167:004C815F E838C0F3FF CALL 0040419C
0167:004C8164 C745E401000000 MOV DWORD [EBP-1C],01
0167:004C816B C645DE01 MOV BYTE [EBP-22],01
0167:004C816F 8D45E0 LEA EAX,[EBP-20]
0167:004C8172 50 PUSH EAX
0167:004C8173 8B4DE8 MOV ECX,[EBP-18]
0167:004C8176 8B55E4 MOV EDX,[EBP-1C]
0167:004C8179 8B45F8 MOV EAX,[EBP-08]
0167:004C817C E8DBBFF3FF CALL 0040415C
0167:004C8181 8B45E4 MOV EAX,[EBP-1C]
0167:004C8184 0345E8 ADD EAX,[EBP-18]
0167:004C8187 48 DEC EAX
0167:004C8188 3B45EC CMP EAX,[EBP-14]
0167:004C818B 7E16 JNG 004C81A3
0167:004C818D 8B45EC MOV EAX,[EBP-14]
0167:004C8190 40 INC EAX
0167:004C8191 2B45E4 SUB EAX,[EBP-1C]
0167:004C8194 8945E8 MOV [EBP-18],EAX
0167:004C8197 807DDE00 CMP BYTE [EBP-22],00
0167:004C819B 7406 JZ 004C81A3
0167:004C819D 8B45EC MOV EAX,[EBP-14]
0167:004C81A0 8945E8 MOV [EBP-18],EAX
0167:004C81A3 C645DE00 MOV BYTE [EBP-22],00
0167:004C81A7 8B75E8 MOV ESI,[EBP-18]
0167:004C81AA 85F6 TEST ESI,ESI
0167:004C81AC 7E47 JNG 004C81F5
0167:004C81AE BB01000000 MOV EBX,01
0167:004C81B3 8B45E0 MOV EAX,[EBP-20] 中间字符串b1的最后4位
0167:004C81B6 0FB67C18FF MOVZX EDI,BYTE [EAX+EBX-01]
0167:004C81BB 8B45F4 MOV EAX,[EBP-0C] 字符串"ILoveYang"
0167:004C81BE 0FB64418FF MOVZX EAX,BYTE [EAX+EBX-01]
0167:004C81C3 33F8 XOR EDI,EAX XOR运算
0167:004C81C5 8D45E0 LEA EAX,[EBP-20]
0167:004C81C8 B901000000 MOV ECX,01
0167:004C81CD 8BD3 MOV EDX,EBX
0167:004C81CF E8C8BFF3FF CALL 0040419C
0167:004C81D4 8BC7 MOV EAX,EDI
0167:004C81D6 8845DF MOV [EBP-21],AL
0167:004C81D9 8D45A0 LEA EAX,[EBP-60]
0167:004C81DC 8A55DF MOV DL,[EBP-21]
0167:004C81DF E898BCF3FF CALL 00403E7C
0167:004C81E4 8B45A0 MOV EAX,[EBP-60]
0167:004C81E7 8D55E0 LEA EDX,[EBP-20]
0167:004C81EA 8BCB MOV ECX,EBX
0167:004C81EC E8F3BFF3FF CALL 004041E4
0167:004C81F1 43 INC EBX
0167:004C81F2 4E DEC ESI
0167:004C81F3 75BE JNZ 004C81B3 //循环
0167:004C81F5 8D45D8 LEA EAX,[EBP-28]
0167:004C81F8 8B55E0 MOV EDX,[EBP-20] //c3
0167:004C81FB E85CBDF3FF CALL 00403F5C
0167:004C8200 8B45E8 MOV EAX,[EBP-18]
0167:004C8203 0145E4 ADD [EBP-1C],EAX
0167:004C8206 8B45E4 MOV EAX,[EBP-1C]
0167:004C8209 3B45EC CMP EAX,[EBP-14]
0167:004C820C 0F8E5DFFFFFF JNG NEAR 004C816F
0167:004C8212 8D45F8 LEA EAX,[EBP-08]
0167:004C8215 8B55D8 MOV EDX,[EBP-28]
0167:004C8218 E84FBBF3FF CALL 00403D6C
0167:004C821D 8D45D8 LEA EAX,[EBP-28]
0167:004C8220 B9FF000000 MOV ECX,FF
0167:004C8225 BA01000000 MOV EDX,01
0167:004C822A E86DBFF3FF CALL 0040419C
0167:004C822F 8D55D8 LEA EDX,[EBP-28]
0167:004C8232 A140034D00 MOV EAX,[004D0340]
0167:004C8237 8B00 MOV EAX,[EAX]
0167:004C8239 8B80EC020000 MOV EAX,[EAX+02EC]
0167:004C823F E848AFF6FF CALL 0043318C
0167:004C8244 8B75EC MOV ESI,[EBP-14]
0167:004C8247 85F6 TEST ESI,ESI
0167:004C8249 0F8EB1000000 JNG NEAR 004C8300
0167:004C824F BB01000000 MOV EBX,01
0167:004C8254 8B45F8 MOV EAX,[EBP-08]
0167:004C8257 0FB67C18FF MOVZX EDI,BYTE [EAX+EBX-01] 逐位取c3
0167:004C825C 037DF0 ADD EDI,[EBP-10] 加上常数0x8C
0167:004C825F 81FFFF000000 CMP EDI,FF
0167:004C8265 7E06 JNG 004C826D
0167:004C8267 81EFFF000000 SUB EDI,FF
0167:004C826D 85FF TEST EDI,EDI
0167:004C826F 7D06 JNL 004C8277
0167:004C8271 81C7FF000000 ADD EDI,FF
0167:004C8277 8D45C4 LEA EAX,[EBP-3C]
0167:004C827A 8BD3 MOV EDX,EBX
0167:004C827C 4A DEC EDX
0167:004C827D 03D2 ADD EDX,EDX
0167:004C827F 8B4DD8 MOV ECX,[EBP-28]
0167:004C8282 8A1411 MOV DL,[ECX+EDX]
0167:004C8285 885001 MOV [EAX+01],DL
0167:004C8288 C60001 MOV BYTE [EAX],01
0167:004C828B 8D55C4 LEA EDX,[EBP-3C]
0167:004C828E 8D45C0 LEA EAX,[EBP-40]
0167:004C8291 E832A8F3FF CALL 00402AC8
0167:004C8296 8D45BC LEA EAX,[EBP-44]
0167:004C8299 8BD3 MOV EDX,EBX
0167:004C829B 4A DEC EDX
0167:004C829C 03D2 ADD EDX,EDX
0167:004C829E 8B4DD8 MOV ECX,[EBP-28]
0167:004C82A1 8A541101 MOV DL,[ECX+EDX+01]
0167:004C82A5 885001 MOV [EAX+01],DL
0167:004C82A8 C60001 MOV BYTE [EAX],01
0167:004C82AB 8D55BC LEA EDX,[EBP-44]
0167:004C82AE 8D45C0 LEA EAX,[EBP-40]
0167:004C82B1 B102 MOV CL,02
0167:004C82B3 E8E0A7F3FF CALL 00402A98
0167:004C82B8 8D55C0 LEA EDX,[EBP-40]
0167:004C82BB 8D459C LEA EAX,[EBP-64]
0167:004C82BE E835BCF3FF CALL 00403EF8
0167:004C82C3 8B459C MOV EAX,[EBP-64]
0167:004C82C6 50 PUSH EAX
0167:004C82C7 8D4598 LEA EAX,[EBP-68]
0167:004C82CA 50 PUSH EAX
0167:004C82CB 897DB0 MOV [EBP-50],EDI
0167:004C82CE C645B400 MOV BYTE [EBP-4C],00
0167:004C82D2 8D55B0 LEA EDX,[EBP-50]
0167:004C82D5 33C9 XOR ECX,ECX
0167:004C82D7 B838854C00 MOV EAX,004C8538
0167:004C82DC E8C714F4FF CALL 004097A8
0167:004C82E1 8B5598 MOV EDX,[EBP-68]
0167:004C82E4 58 POP EAX
0167:004C82E5 E87ABDF3FF CALL 00404064 每2位注册码进行比较,D EDX可见2位真注册码
0167:004C82EA 0F9445D3 SETZ [EBP-2D]
0167:004C82EE 807DD300 CMP BYTE [EBP-2D],00
0167:004C82F2 0F849F010000 JZ NEAR 004C8497 不对就死了!
0167:004C82F8 43 INC EBX
0167:004C82F9 4E DEC ESI
0167:004C82FA 0F8554FFFFFF JNZ NEAR 004C8254
0167:004C8300 807DD300 CMP BYTE [EBP-2D],00
0167:004C8304 0F846C010000 JZ NEAR 004C8476
0167:004C830A B201 MOV DL,01
0167:004C830C A1207D4700 MOV EAX,[00477D20]
0167:004C8311 E80AFBFAFF CALL 00477E20
0167:004C8316 8BD8 MOV EBX,EAX
0167:004C8318 BA01000080 MOV EDX,80000001
0167:004C831D 8BC3 MOV EAX,EBX
0167:004C831F E89CFBFAFF CALL 00477EC0
0167:004C8324 B101 MOV CL,01
0167:004C8326 BA7C854C00 MOV EDX,004C857C
0167:004C832B 8BC3 MOV EAX,EBX
0167:004C832D E8F2FBFAFF CALL 00477F24
0167:004C8332 84C0 TEST AL,AL
0167:004C8334 0F84D6000000 JZ NEAR 004C8410
0167:004C833A 8D55F8 LEA EDX,[EBP-08]
0167:004C833D A140034D00 MOV EAX,[004D0340]
0167:004C8342 8B00 MOV EAX,[EAX]
0167:004C8344 8B80D0020000 MOV EAX,[EAX+02D0]
0167:004C834A E83DAEF6FF CALL 0043318C
0167:004C834F 8D45F4 LEA EAX,[EBP-0C]
0167:004C8352 50 PUSH EAX
0167:004C8353 8D957CFFFFFF LEA EDX,[EBP+FFFFFF7C]
0167:004C8359 A140034D00 MOV EAX,[004D0340]
0167:004C835E 8B00 MOV EAX,[EAX]
0167:004C8360 8B80D4020000 MOV EAX,[EAX+02D4]

-----------------------------//关键CALL-A//------------------

0167:004BE795 8BEC MOV EBP,ESP
0167:004BE797 6A00 PUSH BYTE +00
0167:004BE799 6A00 PUSH BYTE +00
0167:004BE79B 6A00 PUSH BYTE +00
0167:004BE79D 53 PUSH EBX
0167:004BE79E 8BDA MOV EBX,EDX
0167:004BE7A0 33C0 XOR EAX,EAX
0167:004BE7A2 55 PUSH EBP
0167:004BE7A3 6825E84B00 PUSH DWORD 004BE825
0167:004BE7A8 64FF30 PUSH DWORD [FS:EAX]
0167:004BE7AB 648920 MOV [FS:EAX],ESP
0167:004BE7AE B201 MOV DL,01
0167:004BE7B0 A17C924B00 MOV EAX,[004B927C]
0167:004BE7B5 E816ABFFFF CALL 004B92D0
0167:004BE7BA 8945FC MOV [EBP-04],EAX
0167:004BE7BD 33C0 XOR EAX,EAX
0167:004BE7BF 55 PUSH EBP
0167:004BE7C0 6803E84B00 PUSH DWORD 004BE803
0167:004BE7C5 64FF30 PUSH DWORD [FS:EAX]
0167:004BE7C8 648920 MOV [FS:EAX],ESP
0167:004BE7CB 8D45F8 LEA EAX,[EBP-08]
0167:004BE7CE 8B13 MOV EDX,[EBX]
0167:004BE7D0 E89755F4FF CALL 00403D6C
0167:004BE7D5 8D4DF4 LEA ECX,[EBP-0C]
0167:004BE7D8 8B55F8 MOV EDX,[EBP-08] 用户名a1
0167:004BE7DB 8B45FC MOV EAX,[EBP-04]
0167:004BE7DE E8D9ABFFFF CALL 004B93BC //关键CALL-B,进入
0167:004BE7E3 8BC3 MOV EAX,EBX
0167:004BE7E5 8B55F4 MOV EDX,[EBP-0C]
0167:004BE7E8 E83B55F4FF CALL 00403D28
0167:004BE7ED 33C0 XOR EAX,EAX
0167:004BE7EF 5A POP EDX
0167:004BE7F0 59 POP ECX
0167:004BE7F1 59 POP ECX
0167:004BE7F2 648910 MOV [FS:EAX],EDX
0167:004BE7F5 680AE84B00 PUSH DWORD 004BE80A
0167:004BE7FA 8B45FC MOV EAX,[EBP-04]
0167:004BE7FD E84A47F4FF CALL 00402F4C

------------------------//关键CALL-B//------------------
0167:004B93BC 55 PUSH EBP
0167:004B93BD 8BEC MOV EBP,ESP
0167:004B93BF 83C4E0 ADD ESP,BYTE -20
0167:004B93C2 53 PUSH EBX
0167:004B93C3 56 PUSH ESI
0167:004B93C4 57 PUSH EDI
0167:004B93C5 33DB XOR EBX,EBX
0167:004B93C7 895DE0 MOV [EBP-20],EBX
0167:004B93CA 895DE4 MOV [EBP-1C],EBX
0167:004B93CD 895DE8 MOV [EBP-18],EBX
0167:004B93D0 895DEC MOV [EBP-14],EBX
0167:004B93D3 8BF1 MOV ESI,ECX
0167:004B93D5 8955F8 MOV [EBP-08],EDX
0167:004B93D8 8945FC MOV [EBP-04],EAX
0167:004B93DB 8B45F8 MOV EAX,[EBP-08]
0167:004B93DE E825ADF4FF CALL 00404108
0167:004B93E3 33C0 XOR EAX,EAX
0167:004B93E5 55 PUSH EBP
0167:004B93E6 6877954B00 PUSH DWORD 004B9577
0167:004B93EB 64FF30 PUSH DWORD [FS:EAX]
0167:004B93EE 648920 MOV [FS:EAX],ESP
0167:004B93F1 8BC6 MOV EAX,ESI
0167:004B93F3 E8DCA8F4FF CALL 00403CD4
0167:004B93F8 8B45F8 MOV EAX,[EBP-08] //用户名a1
0167:004B93FB E854ABF4FF CALL 00403F54 计算用户名长度
0167:004B9400 8BF8 MOV EDI,EAX
0167:004B9402 C745F401000000 MOV DWORD [EBP-0C],01
0167:004B9409 85FF TEST EDI,EDI
0167:004B940B 7507 JNZ 004B9414
0167:004B940D 33DB XOR EBX,EBX
0167:004B940F E940010000 JMP 004B9554
0167:004B9414 8B45F8 MOV EAX,[EBP-08] 用户名
0167:004B9417 8B55F4 MOV EDX,[EBP-0C]
0167:004B941A 8A5C10FF MOV BL,[EAX+EDX-01] 取用户名ASCII码(这里是1,4,7..等和3取mod为1的位置)
0167:004B941E FF45F4 INC DWORD [EBP-0C]
0167:004B9421 4F DEC EDI
0167:004B9422 33C0 XOR EAX,EAX EAX清零
0167:004B9424 8AC3 MOV AL,BL 用户名ASCII码---->AL
0167:004B9426 C1E802 SHR EAX,02 AL=AL\4(除2^2)
0167:004B9429 8845F3 MOV [EBP-0D],AL
0167:004B942C 8D4DF2 LEA ECX,[EBP-0E]
0167:004B942F 8A55F3 MOV DL,[EBP-0D]
0167:004B9432 8B45FC MOV EAX,[EBP-04]
0167:004B9435 E8D2FEFFFF CALL 004B930C //这个CALL里面是按上面计算的AL位置查表B1
B1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
0167:004B943A 84C0 TEST AL,AL
0167:004B943C 7507 JNZ 004B9445
0167:004B943E B301 MOV BL,01
0167:004B9440 E90F010000 JMP 004B9554
0167:004B9445 8D45EC LEA EAX,[EBP-14] //d ecx可见算得的一位字符!
0167:004B9448 8A55F2 MOV DL,[EBP-0E]
0167:004B944B E82CAAF4FF CALL 00403E7C
0167:004B9450 8B55EC MOV EDX,[EBP-14]
0167:004B9453 8BC6 MOV EAX,ESI
0167:004B9455 E802ABF4FF CALL 00403F5C
0167:004B945A 8BC3 MOV EAX,EBX
0167:004B945C 85FF TEST EDI,EDI
0167:004B945E 7504 JNZ 004B9464
0167:004B9460 33DB XOR EBX,EBX
0167:004B9462 EB0D JMP SHORT 004B9471
0167:004B9464 8B55F8 MOV EDX,[EBP-08]
0167:004B9467 8B4DF4 MOV ECX,[EBP-0C]
0167:004B946A 8A5C0AFF MOV BL,[EDX+ECX-01] 取用户名ASCII码(这里是2,5,8..等和3取mod为2的位置)
0167:004B946E FF45F4 INC DWORD [EBP-0C]
0167:004B9471 4F DEC EDI
0167:004B9472 2403 AND AL,03 AL是上一轮的值
0167:004B9474 C1E004 SHL EAX,04 左移4位,就是乘以2^4
0167:004B9477 33D2 XOR EDX,EDX
0167:004B9479 8AD3 MOV DL,BL 用户名ASCII码(
0167:004B947B C1EA04 SHR EDX,04
0167:004B947E 02C2 ADD AL,DL AL和上面DL的值相加
0167:004B9480 8845F3 MOV [EBP-0D],AL
0167:004B9483 8D4DF2 LEA ECX,[EBP-0E]
0167:004B9486 8A55F3 MOV DL,[EBP-0D]
0167:004B9489 8B45FC MOV EAX,[EBP-04]
0167:004B948C E87BFEFFFF CALL 004B930C //这个CALL里面是按上面计算的AL位置查表B1
0167:004B9491 84C0 TEST AL,AL
0167:004B9493 7507 JNZ 004B949C
0167:004B9495 B301 MOV BL,01
0167:004B9497 E9B8000000 JMP 004B9554
0167:004B949C 8D45E8 LEA EAX,[EBP-18]
0167:004B949F 8A55F2 MOV DL,[EBP-0E]
0167:004B94A2 E8D5A9F4FF CALL 00403E7C
0167:004B94A7 8B55E8 MOV EDX,[EBP-18]
0167:004B94AA 8BC6 MOV EAX,ESI
0167:004B94AC E8ABAAF4FF CALL 00403F5C
0167:004B94B1 8BC3 MOV EAX,EBX
0167:004B94B3 85FF TEST EDI,EDI
0167:004B94B5 7D06 JNL 004B94BD
0167:004B94B7 C645F23D MOV BYTE [EBP-0E],3D
0167:004B94BB EB3D JMP SHORT 004B94FA
0167:004B94BD 85FF TEST EDI,EDI
0167:004B94BF 7504 JNZ 004B94C5
0167:004B94C1 33DB XOR EBX,EBX
0167:004B94C3 EB0D JMP SHORT 004B94D2
0167:004B94C5 8B55F8 MOV EDX,[EBP-08]
0167:004B94C8 8B4DF4 MOV ECX,[EBP-0C]
0167:004B94CB 8A5C0AFF MOV BL,[EDX+ECX-01] 取用户名ASCII码(这里是3,6,9..等和3取mod为0的位置)
0167:004B94CF FF45F4 INC DWORD [EBP-0C]
0167:004B94D2 4F DEC EDI
0167:004B94D3 240F AND AL,0F 上面的值,and 0xF
0167:004B94D5 C1E002 SHL EAX,02 AL=AL*4
0167:004B94D8 33D2 XOR EDX,EDX
0167:004B94DA 8AD3 MOV DL,BL
0167:004B94DC C1EA06 SHR EDX,06 EDX=用户名ASCII码/2^6
0167:004B94DF 02C2 ADD AL,DL AL=AL+DL
0167:004B94E1 8845F3 MOV [EBP-0D],AL
0167:004B94E4 8D4DF2 LEA ECX,[EBP-0E]
0167:004B94E7 8A55F3 MOV DL,[EBP-0D]
0167:004B94EA 8B45FC MOV EAX,[EBP-04] //还是查表
0167:004B94ED E81AFEFFFF CALL 004B930C
0167:004B94F2 84C0 TEST AL,AL
0167:004B94F4 7504 JNZ 004B94FA
0167:004B94F6 B301 MOV BL,01
0167:004B94F8 EB5A JMP SHORT 004B9554
0167:004B94FA 8D45E4 LEA EAX,[EBP-1C]
0167:004B94FD 8A55F2 MOV DL,[EBP-0E]
0167:004B9500 E877A9F4FF CALL 00403E7C
0167:004B9505 8B55E4 MOV EDX,[EBP-1C]
0167:004B9508 8BC6 MOV EAX,ESI
0167:004B950A E84DAAF4FF CALL 00403F5C
0167:004B950F 85FF TEST EDI,EDI 如果计算出来的结果不是4的倍数
0167:004B9511 7D06 JNL 004B9519 不跳
0167:004B9513 C645F23D MOV BYTE [EBP-0E],3D 在后面加"="
0167:004B9517 EB1C JMP SHORT 004B9535
0167:004B9519 80E33F AND BL,3F 这是第3倍位置的后面加的一个字符计算
0167:004B951C 885DF3 MOV [EBP-0D],BL
0167:004B951F 8D4DF2 LEA ECX,[EBP-0E]
0167:004B9522 8A55F3 MOV DL,[EBP-0D]
0167:004B9525 8B45FC MOV EAX,[EBP-04]
0167:004B9528 E8DFFDFFFF CALL 004B930C 查表
0167:004B952D 84C0 TEST AL,AL
0167:004B952F 7504 JNZ 004B9535
0167:004B9531 B301 MOV BL,01
0167:004B9533 EB1F JMP SHORT 004B9554
0167:004B9535 8D45E0 LEA EAX,[EBP-20]
0167:004B9538 8A55F2 MOV DL,[EBP-0E]
0167:004B953B E83CA9F4FF CALL 00403E7C
0167:004B9540 8B55E0 MOV EDX,[EBP-20]
0167:004B9543 8BC6 MOV EAX,ESI
0167:004B9545 E812AAF4FF CALL 00403F5C
0167:004B954A 85FF TEST EDI,EDI
0167:004B954C 0F8FC2FEFFFF JG NEAR 004B9414
0167:004B9552 33DB XOR EBX,EBX
0167:004B9554 33C0 XOR EAX,EAX
0167:004B9556 5A POP EDX
0167:004B9557 59 POP ECX
0167:004B9558 59 POP ECX
0167:004B9559 648910 MOV [FS:EAX],EDX
0167:004B955C 687E954B00 PUSH DWORD 004B957E
0167:004B9561 8D45E0 LEA EAX,[EBP-20]
0167:004B9564 BA04000000 MOV EDX,04
0167:004B9569 E88AA7F4FF CALL 00403CF8
0167:004B956E 8D45F8 LEA EAX,[EBP-08]
0167:004B9571 E85EA7F4FF CALL 00403CD4

注册信息保存:
HKEY_CURRENT_USER\Software\Ada99\eBook Workshop
删掉这个主键即可回到未注册!

    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程