【文章标题】: 小巧名片王 V2.0算法分析
【文章作者】: 千里之外
【作者邮箱】: 506398911@qq.com
【作者主页】: 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大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
--------------------------------------------------------------------------------
【详细过程】
声明:发表这篇破文时发现前辈发过相同的文章 但此文由本人独立完成 并无抄袭 特此声明 谢谢大家
大家好 我是千里之外 在这里依然谢谢fonge大哥的热心指导 是你给我指明了学习的方向 呵呵 我会继续努力的
搜索 您使用的是试用版,请联系购买正版软件,联系邮箱vtsoft@21cn.com! 可以很快的来到这里
00565C69 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565C6B . C680 04040000>MOV BYTE PTR DS:[EAX+404],1
00565C72 . 8D4D A8 LEA ECX,DWORD PTR SS:[EBP-58]
00565C75 . A1 CC415800 MOV EAX,DWORD PTR DS:[5841CC]
00565C7A . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565C7C . 8B90 44040000 MOV EDX,DWORD PTR DS:[EAX+444]
00565C82 . A1 143F5800 MOV EAX,DWORD PTR DS:[583F14]
00565C87 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565C89 . E8 C6DEFFFF CALL MPW.00563B54 ; 算法CALL
00565C8E . 8B55 A8 MOV EDX,DWORD PTR SS:[EBP-58]
00565C91 . A1 CC415800 MOV EAX,DWORD PTR DS:[5841CC]
00565C96 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565C98 . 8B80 48040000 MOV EAX,DWORD PTR DS:[EAX+448]
00565C9E . E8 0DF0E9FF CALL MPW.00404CB0
00565CA3 . 74 44 JE SHORT MPW.00565CE9
00565CA5 . 8D4D A4 LEA ECX,DWORD PTR SS:[EBP-5C]
00565CA8 . A1 CC415800 MOV EAX,DWORD PTR DS:[5841CC]
00565CAD . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565CAF . 8B90 44040000 MOV EDX,DWORD PTR DS:[EAX+444]
00565CB5 . A1 143F5800 MOV EAX,DWORD PTR DS:[583F14]
00565CBA . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565CBC . E8 93DEFFFF CALL MPW.00563B54
00565CC1 . 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
00565CC4 . BA 2C605600 MOV EDX,MPW.0056602C ; -sql
00565CC9 . E8 9EEEE9FF CALL MPW.00404B6C
00565CCE . 8B55 A4 MOV EDX,DWORD PTR SS:[EBP-5C]
00565CD1 . A1 CC415800 MOV EAX,DWORD PTR DS:[5841CC]
00565CD6 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565CD8 . 8B80 48040000 MOV EAX,DWORD PTR DS:[EAX+448]
00565CDE . E8 CDEFE9FF CALL MPW.00404CB0
00565CE3 . 0F85 9D000000 JNZ MPW.00565D86
00565CE9 > A1 CC415800 MOV EAX,DWORD PTR DS:[5841CC]
00565CEE . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565CF0 . C680 40040000>MOV BYTE PTR DS:[EAX+440],0
00565CF7 . 83FB 32 CMP EBX,32
00565CFA . 0F8C DC000000 JL MPW.00565DDC
00565D00 . A1 CC415800 MOV EAX,DWORD PTR DS:[5841CC]
00565D05 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565D07 . 80B8 04040000>CMP BYTE PTR DS:[EAX+404],0
00565D0E . 75 42 JNZ SHORT MPW.00565D52
00565D10 . 8D45 A0 LEA EAX,DWORD PTR SS:[EBP-60]
00565D13 . 50 PUSH EAX
00565D14 . A1 CC415800 MOV EAX,DWORD PTR DS:[5841CC]
00565D19 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
00565D1B . 8B80 48040000 MOV EAX,DWORD PTR DS:[EAX+448]
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:[EBP-4],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:[EBP-4],EDX
00563B70 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 我的机器码=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:[EAX]
00563B83 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00563B86 |. 8BC7 MOV EAX,EDI
00563B88 |. E8 170DEAFF CALL MPW.004048A4
00563B8D |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
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:[EBP-14]
00563BA3 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
00563BA6 |. 0FB64418 FF |MOVZX EAX,BYTE PTR DS:[EAX+EBX-1]
00563BAB |. 33D2 |XOR EDX,EDX
00563BAD |. E8 DE60EAFF |CALL MPW.00409C90
00563BB2 |. 8B55 EC |MOV EDX,DWORD PTR SS:[EBP-14]
00563BB5 |. 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8]
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:[EBP-8] ; 上面是取每位机器码的ASCII并依次连接记为s eax=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:[EBP-8]
00563BD7 |. E8 880FEAFF |CALL MPW.00404B64
00563BDC |. 2BC3 |SUB EAX,EBX
00563BDE |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8]
00563BE1 |. 8A1402 |MOV DL,BYTE PTR DS:[EDX+EAX]
00563BE4 |. 8D45 E8 |LEA EAX,DWORD PTR SS:[EBP-18]
00563BE7 |. E8 A00EEAFF |CALL MPW.00404A8C
00563BEC |. 8B55 E8 |MOV EDX,DWORD PTR SS:[EBP-18]
00563BEF |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C]
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:[EBP-8]
00563BFE |. 50 PUSH EAX
00563BFF |. B9 04000000 MOV ECX,4
00563C04 |. BA 01000000 MOV EDX,1
00563C09 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 532343345485A453
00563C0C |. E8 B311EAFF CALL MPW.00404DC4
00563C11 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
00563C14 |. 50 PUSH EAX
00563C15 |. B9 04000000 MOV ECX,4
00563C1A |. BA 05000000 MOV EDX,5
00563C1F |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00563C22 |. E8 9D11EAFF CALL MPW.00404DC4
00563C27 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 取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:[EBP-8]
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:[EBP-1C]
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:[EBP-1C]
00563C55 |. 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8]
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:[EBP-C] ; 取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:[EBP-C]
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:[EBP-20]
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:[EBP-20]
00563C91 |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C]
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:[EBP-10]
00563CA2 |. BA 2C3D5600 MOV EDX,MPW.00563D2C ; ASCII "MPW456ei878"
00563CA7 |. E8 900CEAFF CALL MPW.0040493C
00563CAC |. 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
00563CAF |. 50 PUSH EAX
00563CB0 |. B9 04000000 MOV ECX,4
00563CB5 |. BA 01000000 MOV EDX,1
00563CBA |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00563CBD |. E8 0211EAFF CALL MPW.00404DC4
00563CC2 |. FF75 DC PUSH DWORD PTR SS:[EBP-24] ; 固定字符 MPW4
00563CC5 |. 68 403D5600 PUSH MPW.00563D40 ; -
00563CCA |. FF75 F8 PUSH DWORD PTR SS:[EBP-8] ; 5323
00563CCD |. 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
00563CD0 |. 50 PUSH EAX
00563CD1 |. B9 05000000 MOV ECX,5
00563CD6 |. BA 05000000 MOV EDX,5
00563CDB |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00563CDE |. E8 E110EAFF CALL MPW.00404DC4
00563CE3 |. FF75 D8 PUSH DWORD PTR SS:[EBP-28] ; 固定字符 56ei8
00563CE6 |. 68 403D5600 PUSH MPW.00563D40 ; -
00563CEB |. FF75 F4 PUSH DWORD PTR SS:[EBP-C] ; 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:[EAX],EDX
00563D02 |. 68 1C3D5600 PUSH MPW.00563D1C
00563D07 |> 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
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.取固定字符 MPW4 56ei8
5.将以上信息按这样排列 MPW4-@56ei8-$ 这就是注册码
--------------------------------------------------------------------------------
【版权声明】: 谢谢 fonge大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
2007年05月24日 23:07:36
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!