菜鸟算法3
【文章标题】: 小巧名片王 V2.0算法分析【文章作者】: 千里之外
【作者邮箱】: [email protected]
【作者主页】: www.wm5.net.cn
【作者QQ号】: 506398911
【软件名称】: 小巧名片王 V2.0
【下载地址】: http://www.skycn.com/soft/36316.html#download
【保护方式】: 机器码
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD PEID
【操作平台】: WINXP2
【软件介绍】: 小巧名片王主要是为了管理您长期积累下来的众多名片
【作者声明】: 谢谢 fonge大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
--------------------------------------------------------------------------------
【详细过程】声明 发表时发现https://www.chinapyg.com/viewthread.php?tid=14949&extra=page%3D1 已经发过相同的帖子 但是本分析是有本人独立完成并没有抄袭lzq1973 作者的思路 特此声明
大家好 我是千里之外 在这里依然谢谢fonge大哥的热心指导是你给我指明了学习的方向 呵呵 我会继续努力的
搜索您使用的是试用版,请联系购买正版软件,联系邮箱[email protected]!可以很快的来到这里
00565C69 .8B00 MOV EAX,DWORD PTR DS:
00565C6B .C680 04040000>MOV BYTE PTR DS:,1
00565C72 .8D4D A8 LEA ECX,DWORD PTR SS:
00565C75 .A1 CC415800 MOV EAX,DWORD PTR DS:
00565C7A .8B00 MOV EAX,DWORD PTR DS:
00565C7C .8B90 44040000 MOV EDX,DWORD PTR DS:
00565C82 .A1 143F5800 MOV EAX,DWORD PTR DS:
00565C87 .8B00 MOV EAX,DWORD PTR DS:
00565C89 .E8 C6DEFFFF CALL MPW.00563B54 ;算法CALL
00565C8E .8B55 A8 MOV EDX,DWORD PTR SS:
00565C91 .A1 CC415800 MOV EAX,DWORD PTR DS:
00565C96 .8B00 MOV EAX,DWORD PTR DS:
00565C98 .8B80 48040000 MOV EAX,DWORD PTR DS:
00565C9E .E8 0DF0E9FF CALL MPW.00404CB0
00565CA3 .74 44 JE SHORT MPW.00565CE9
00565CA5 .8D4D A4 LEA ECX,DWORD PTR SS:
00565CA8 .A1 CC415800 MOV EAX,DWORD PTR DS:
00565CAD .8B00 MOV EAX,DWORD PTR DS:
00565CAF .8B90 44040000 MOV EDX,DWORD PTR DS:
00565CB5 .A1 143F5800 MOV EAX,DWORD PTR DS:
00565CBA .8B00 MOV EAX,DWORD PTR DS:
00565CBC .E8 93DEFFFF CALL MPW.00563B54
00565CC1 .8D45 A4 LEA EAX,DWORD PTR SS:
00565CC4 .BA 2C605600 MOV EDX,MPW.0056602C ;-sql
00565CC9 .E8 9EEEE9FF CALL MPW.00404B6C
00565CCE .8B55 A4 MOV EDX,DWORD PTR SS:
00565CD1 .A1 CC415800 MOV EAX,DWORD PTR DS:
00565CD6 .8B00 MOV EAX,DWORD PTR DS:
00565CD8 .8B80 48040000 MOV EAX,DWORD PTR DS:
00565CDE .E8 CDEFE9FF CALL MPW.00404CB0
00565CE3 .0F85 9D000000 JNZ MPW.00565D86
00565CE9 >A1 CC415800 MOV EAX,DWORD PTR DS:
00565CEE .8B00 MOV EAX,DWORD PTR DS:
00565CF0 .C680 40040000>MOV BYTE PTR DS:,0
00565CF7 .83FB 32 CMP EBX,32
00565CFA .0F8C DC000000 JL MPW.00565DDC
00565D00 .A1 CC415800 MOV EAX,DWORD PTR DS:
00565D05 .8B00 MOV EAX,DWORD PTR DS:
00565D07 .80B8 04040000>CMP BYTE PTR DS:,0
00565D0E .75 42 JNZ SHORT MPW.00565D52
00565D10 .8D45 A0 LEA EAX,DWORD PTR SS:
00565D13 .50 PUSH EAX
00565D14 .A1 CC415800 MOV EAX,DWORD PTR DS:
00565D19 .8B00 MOV EAX,DWORD PTR DS:
00565D1B .8B80 48040000 MOV EAX,DWORD PTR DS:
00565D21 .B9 03000000 MOV ECX,3
算法CALL处
00563B54/$55 PUSH EBP
00563B55|.8BEC MOV EBP,ESP
00563B57|.51 PUSH ECX
00563B58|.B9 04000000 MOV ECX,4
00563B5D|>6A 00 /PUSH 0
00563B5F|.6A 00 |PUSH 0
00563B61|.49 |DEC ECX
00563B62|.^ 75 F9 \JNZ SHORT MPW.00563B5D
00563B64|.51 PUSH ECX
00563B65|.874D FC XCHG DWORD PTR SS:,ECX
00563B68|.53 PUSH EBX
00563B69|.56 PUSH ESI
00563B6A|.57 PUSH EDI
00563B6B|.8BF9 MOV EDI,ECX
00563B6D|.8955 FC MOV DWORD PTR SS:,EDX
00563B70|.8B45 FC MOV EAX,DWORD PTR SS: ;我的机器码=5JXEC425
00563B73|.E8 DC11EAFF CALL MPW.00404D54
00563B78|.33C0 XOR EAX,EAX
00563B7A|.55 PUSH EBP
00563B7B|.68 153D5600 PUSH MPW.00563D15
00563B80|.64:FF30 PUSH DWORD PTR FS:
00563B83|.64:8920 MOV DWORD PTR FS:,ESP
00563B86|.8BC7 MOV EAX,EDI
00563B88|.E8 170DEAFF CALL MPW.004048A4
00563B8D|.8B45 FC MOV EAX,DWORD PTR SS:
00563B90|.E8 CF0FEAFF CALL MPW.00404B64
00563B95|.8BF0 MOV ESI,EAX
00563B97|.85F6 TEST ESI,ESI
00563B99|.7E 26 JLE SHORT MPW.00563BC1
00563B9B|.BB 01000000 MOV EBX,1
00563BA0|>8D4D EC /LEA ECX,DWORD PTR SS:
00563BA3|.8B45 FC |MOV EAX,DWORD PTR SS:
00563BA6|.0FB64418 FF |MOVZX EAX,BYTE PTR DS:
00563BAB|.33D2 |XOR EDX,EDX
00563BAD|.E8 DE60EAFF |CALL MPW.00409C90
00563BB2|.8B55 EC |MOV EDX,DWORD PTR SS:
00563BB5|.8D45 F8 |LEA EAX,DWORD PTR SS:
00563BB8|.E8 AF0FEAFF |CALL MPW.00404B6C
00563BBD|.43 |INC EBX
00563BBE|.4E |DEC ESI
00563BBF|.^ 75 DF \JNZ SHORT MPW.00563BA0
00563BC1|>8B45 F8 MOV EAX,DWORD PTR SS: ;上面是取每位机器码的ASCII并依次连接记为seax=354A584543343235
00563BC4|.E8 9B0FEAFF CALL MPW.00404B64
00563BC9|.8BF0 MOV ESI,EAX
00563BCB|.85F6 TEST ESI,ESI
00563BCD|.7E 2C JLE SHORT MPW.00563BFB
00563BCF|.BB 01000000 MOV EBX,1
00563BD4|>8B45 F8 /MOV EAX,DWORD PTR SS:
00563BD7|.E8 880FEAFF |CALL MPW.00404B64
00563BDC|.2BC3 |SUB EAX,EBX
00563BDE|.8B55 F8 |MOV EDX,DWORD PTR SS:
00563BE1|.8A1402 |MOV DL,BYTE PTR DS:
00563BE4|.8D45 E8 |LEA EAX,DWORD PTR SS:
00563BE7|.E8 A00EEAFF |CALL MPW.00404A8C
00563BEC|.8B55 E8 |MOV EDX,DWORD PTR SS:
00563BEF|.8D45 F4 |LEA EAX,DWORD PTR SS:
00563BF2|.E8 750FEAFF |CALL MPW.00404B6C
00563BF7|.43 |INC EBX
00563BF8|.4E |DEC ESI
00563BF9|.^ 75 D9 \JNZ SHORT MPW.00563BD4 ;将上面数s反向排列记为s1 532343345485A453
00563BFB|>8D45 F8 LEA EAX,DWORD PTR SS:
00563BFE|.50 PUSH EAX
00563BFF|.B9 04000000 MOV ECX,4
00563C04|.BA 01000000 MOV EDX,1
00563C09|.8B45 F4 MOV EAX,DWORD PTR SS: ;532343345485A453
00563C0C|.E8 B311EAFF CALL MPW.00404DC4
00563C11|.8D45 F4 LEA EAX,DWORD PTR SS:
00563C14|.50 PUSH EAX
00563C15|.B9 04000000 MOV ECX,4
00563C1A|.BA 05000000 MOV EDX,5
00563C1F|.8B45 F4 MOV EAX,DWORD PTR SS:
00563C22|.E8 9D11EAFF CALL MPW.00404DC4
00563C27|.8B45 F8 MOV EAX,DWORD PTR SS: ;取s1的前四位 5323
00563C2A|.E8 350FEAFF CALL MPW.00404B64
00563C2F|.83F8 04 CMP EAX,4
00563C32|.7D 2F JGE SHORT MPW.00563C63
00563C34|.8B45 F8 MOV EAX,DWORD PTR SS:
00563C37|.E8 280FEAFF CALL MPW.00404B64
00563C3C|.8BD8 MOV EBX,EAX
00563C3E|.83FB 03 CMP EBX,3
00563C41|.7F 20 JG SHORT MPW.00563C63
00563C43|>8D4D E4 /LEA ECX,DWORD PTR SS:
00563C46|.8BC3 |MOV EAX,EBX
00563C48|.C1E0 02 |SHL EAX,2
00563C4B|.33D2 |XOR EDX,EDX
00563C4D|.E8 3E60EAFF |CALL MPW.00409C90
00563C52|.8B55 E4 |MOV EDX,DWORD PTR SS:
00563C55|.8D45 F8 |LEA EAX,DWORD PTR SS:
00563C58|.E8 0F0FEAFF |CALL MPW.00404B6C
00563C5D|.43 |INC EBX
00563C5E|.83FB 04 |CMP EBX,4
00563C61|.^ 75 E0 \JNZ SHORT MPW.00563C43
00563C63|>8B45 F4 MOV EAX,DWORD PTR SS: ;取s1的5到8位 4334
00563C66|.E8 F90EEAFF CALL MPW.00404B64
00563C6B|.83F8 04 CMP EAX,4
00563C6E|.7D 2F JGE SHORT MPW.00563C9F
00563C70|.8B45 F4 MOV EAX,DWORD PTR SS:
00563C73|.E8 EC0EEAFF CALL MPW.00404B64
00563C78|.8BD8 MOV EBX,EAX
00563C7A|.83FB 03 CMP EBX,3
00563C7D|.7F 20 JG SHORT MPW.00563C9F
00563C7F|>8D4D E0 /LEA ECX,DWORD PTR SS:
00563C82|.8BC3 |MOV EAX,EBX
00563C84|.C1E0 02 |SHL EAX,2
00563C87|.33D2 |XOR EDX,EDX
00563C89|.E8 0260EAFF |CALL MPW.00409C90
00563C8E|.8B55 E0 |MOV EDX,DWORD PTR SS:
00563C91|.8D45 F4 |LEA EAX,DWORD PTR SS:
00563C94|.E8 D30EEAFF |CALL MPW.00404B6C
00563C99|.43 |INC EBX
00563C9A|.83FB 04 |CMP EBX,4
00563C9D|.^ 75 E0 \JNZ SHORT MPW.00563C7F
00563C9F|>8D45 F0 LEA EAX,DWORD PTR SS:
00563CA2|.BA 2C3D5600 MOV EDX,MPW.00563D2C ;ASCII "MPW456ei878"
00563CA7|.E8 900CEAFF CALL MPW.0040493C
00563CAC|.8D45 DC LEA EAX,DWORD PTR SS:
00563CAF|.50 PUSH EAX
00563CB0|.B9 04000000 MOV ECX,4
00563CB5|.BA 01000000 MOV EDX,1
00563CBA|.8B45 F0 MOV EAX,DWORD PTR SS:
00563CBD|.E8 0211EAFF CALL MPW.00404DC4
00563CC2|.FF75 DC PUSH DWORD PTR SS: ;固定字符 MPW4
00563CC5|.68 403D5600 PUSH MPW.00563D40 ;-
00563CCA|.FF75 F8 PUSH DWORD PTR SS: ;5323
00563CCD|.8D45 D8 LEA EAX,DWORD PTR SS:
00563CD0|.50 PUSH EAX
00563CD1|.B9 05000000 MOV ECX,5
00563CD6|.BA 05000000 MOV EDX,5
00563CDB|.8B45 F0 MOV EAX,DWORD PTR SS:
00563CDE|.E8 E110EAFF CALL MPW.00404DC4
00563CE3|.FF75 D8 PUSH DWORD PTR SS: ;固定字符 56ei8
00563CE6|.68 403D5600 PUSH MPW.00563D40 ;-
00563CEB|.FF75 F4 PUSH DWORD PTR SS: ;4334
00563CEE|.8BC7 MOV EAX,EDI
00563CF0|.BA 06000000 MOV EDX,6
00563CF5|.E8 2A0FEAFF CALL MPW.00404C24
00563CFA|.33C0 XOR EAX,EAX
00563CFC|.5A POP EDX
00563CFD|.59 POP ECX
00563CFE|.59 POP ECX
00563CFF|.64:8910 MOV DWORD PTR FS:,EDX
00563D02|.68 1C3D5600 PUSH MPW.00563D1C
00563D07|>8D45 D8 LEA EAX,DWORD PTR SS:
00563D0A|.BA 0A000000 MOV EDX,0A
00563D0F|.E8 B40BEAFF CALL MPW.004048C8
00563D14\.C3 RETN
00563D15 .^ E9 AE04EAFF JMP MPW.004041C8
00563D1A .^ EB EB JMP SHORT MPW.00563D07
00563D1C .5F POP EDI
00563D1D .5E POP ESI
00563D1E .5B POP EBX
00563D1F .8BE5 MOV ESP,EBP
00563D21 .5D POP EBP ;将上面压入的字符依次连接 得到注册码MPW4-532356ei8-4334
00563D22 .C3 RETN
--------------------------------------------------------------------------------
【经验总结】
1.依次取机器码的ASCII 并顺次连接 记为s
2.将s反向排列记为s1
3.取s1前4位记为@ 取s1的5到8位记为$
4.取固定字符 MPW456ei8
5.将以上信息按这样排列 MPW4-@56ei8-$ 这就是注册码
--------------------------------------------------------------------------------
【版权声明】: 谢谢 fonge大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
2007年05月24日 23:07:36
[ 本帖最后由 千里之外 于 2007-5-24 23:17 编辑 ] 支持下自己动手。/:08 对照着学习。 学习下,谢谢了啊·! 00563BC1|>8B45 F8 MOV EAX,DWORD PTR SS: ;上面是取每位机器码的ASCII并依次连接记为seax=354A584543343235
这句不是很明白,根据LZ的意思,
5JXEC425转换成ASCII应该是
53 74 88 69 67 52 50 53
eax=354A584543343235
你这个值是哪里来的??
回复 #5 yosen2001 的帖子
eax=354A584543343235 --16进制53 74 88 69 67 52 50 53 --10进制 下一学习下,谢谢. 对照学习了一下,呵呵,顶 学习学习. LZ可以把后面的注释说明写的更详细些,那样会有更多人看的,希望你做的更好/:09
页:
[1]