- UID
- 28352
注册时间2007-2-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 开心 2024-5-1 14:44 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
【破文标题】Magic Photo Recovery 2.0.2算法分析
【破文作者】tianxj
【作者邮箱】[email protected]
【作者主页】WwW.ChiNaPYG.CoM
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】CrackMe1
【软件大小】906KB
【软件类别】国外软件/数据恢复
【软件授权】共享版
【软件语言】英文
【更新时间】2008-10-13
【原版下载】自己找一下
【保护方式】注册码
【软件简介】Magic Photo Recovery是一款恢复软件,假如,你不小心从您的电脑,相机,闪存卡,或记忆卡中删除了你的相片,你可以通过这款软件轻松的找回来
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"Wrong registration data!"
**************************************************************
二、用PEiD对Magic Photo Recovery.exe查壳,为 ASPack 2.12 -> Alexey Solodovnikov
用PEiD插件脱壳后为 Borland Delphi 6.0 - 7.0
**************************************************************
三、用DeDe查找按钮事件,运行OD,打开Magic Photo Recovery.exe.unpacked_.exe
==============================================================- 005246B8 . 55 PUSH EBP
- 005246B9 . 8BEC MOV EBP, ESP
- 005246BB . B9 0E000000 MOV ECX, 0E
- 005246C0 > 6A 00 PUSH 0
- 005246C2 . 6A 00 PUSH 0
- 005246C4 . 49 DEC ECX
- 005246C5 .^ 75 F9 JNZ SHORT Magic_Ph.005246C0
- 005246C7 . 53 PUSH EBX
- 005246C8 . 56 PUSH ESI
- 005246C9 . 57 PUSH EDI
- 005246CA . 8945 FC MOV DWORD PTR [EBP-4], EAX
- 005246CD . 33C0 XOR EAX, EAX
- 005246CF . 55 PUSH EBP
- 005246D0 . 68 214B5200 PUSH Magic_Ph.00524B21
- 005246D5 . 64:FF30 PUSH DWORD PTR FS:[EAX]
- 005246D8 . 64:8920 MOV DWORD PTR FS:[EAX], ESP
- 005246DB . 33C0 XOR EAX, EAX
- 005246DD . 55 PUSH EBP
- 005246DE . 68 734A5200 PUSH Magic_Ph.00524A73
- 005246E3 . 64:FF30 PUSH DWORD PTR FS:[EAX]
- 005246E6 . 64:8920 MOV DWORD PTR FS:[EAX], ESP
- 005246E9 . 8D55 F0 LEA EDX, DWORD PTR [EBP-10]
- 005246EC . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 005246EF . 8B98 60030000 MOV EBX, DWORD PTR [EAX+360]
- 005246F5 . 8BC3 MOV EAX, EBX
- 005246F7 . E8 3CD7F2FF CALL Magic_Ph.00451E38
- 005246FC . 8B45 F0 MOV EAX, DWORD PTR [EBP-10] ; //用户名
- 005246FF . 8D55 F4 LEA EDX, DWORD PTR [EBP-C]
- 00524702 . E8 3151EEFF CALL Magic_Ph.00409838
- 00524707 . 8B55 F4 MOV EDX, DWORD PTR [EBP-C] ; //用户名
- 0052470A . 8BC3 MOV EAX, EBX
- 0052470C . E8 57D7F2FF CALL Magic_Ph.00451E68
- 00524711 . 8D55 E8 LEA EDX, DWORD PTR [EBP-18]
- 00524714 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524717 . 8B98 64030000 MOV EBX, DWORD PTR [EAX+364]
- 0052471D . 8BC3 MOV EAX, EBX
- 0052471F . E8 14D7F2FF CALL Magic_Ph.00451E38
- 00524724 . 8B45 E8 MOV EAX, DWORD PTR [EBP-18] ; //试练码
- 00524727 . 8D55 EC LEA EDX, DWORD PTR [EBP-14]
- 0052472A . E8 0951EEFF CALL Magic_Ph.00409838
- 0052472F . 8B55 EC MOV EDX, DWORD PTR [EBP-14] ; //试练码
- 00524732 . 8BC3 MOV EAX, EBX
- 00524734 . E8 2FD7F2FF CALL Magic_Ph.00451E68
- 00524739 . 8D55 E4 LEA EDX, DWORD PTR [EBP-1C]
- 0052473C . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 0052473F . 8B80 60030000 MOV EAX, DWORD PTR [EAX+360]
- 00524745 . E8 EED6F2FF CALL Magic_Ph.00451E38
- 0052474A . 837D E4 00 CMP DWORD PTR [EBP-1C], 0
- 0052474E . 75 54 JNZ SHORT Magic_Ph.005247A4 ; //用户名为空则跳
- 00524750 . 6A 30 PUSH 30
- 00524752 . 8D55 E0 LEA EDX, DWORD PTR [EBP-20]
- 00524755 . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 0052475A . 8B00 MOV EAX, DWORD PTR [EAX]
- 0052475C . E8 E7B6F4FF CALL Magic_Ph.0046FE48
- 00524761 . 8B45 E0 MOV EAX, DWORD PTR [EBP-20]
- 00524764 . E8 5B0EEEFF CALL Magic_Ph.004055C4
- 00524769 . 50 PUSH EAX
- 0052476A . A1 28E55200 MOV EAX, DWORD PTR [52E528]
- 0052476F . 8B40 1C MOV EAX, DWORD PTR [EAX+1C]
- 00524772 . E8 4D0EEEFF CALL Magic_Ph.004055C4
- 00524777 . 8BD0 MOV EDX, EAX
- 00524779 . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 0052477E . 8B00 MOV EAX, DWORD PTR [EAX]
- 00524780 . 59 POP ECX
- 00524781 . E8 12BFF4FF CALL Magic_Ph.00470698
- 00524786 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524789 . 8B80 60030000 MOV EAX, DWORD PTR [EAX+360]
- 0052478F . 8B10 MOV EDX, DWORD PTR [EAX]
- 00524791 . FF92 D4000000 CALL DWORD PTR [EDX+D4]
- 00524797 . 33C0 XOR EAX, EAX
- 00524799 . 5A POP EDX
- 0052479A . 59 POP ECX
- 0052479B . 59 POP ECX
- 0052479C . 64:8910 MOV DWORD PTR FS:[EAX], EDX
- 0052479F . E9 D9020000 JMP Magic_Ph.00524A7D
- 005247A4 > 8D55 DC LEA EDX, DWORD PTR [EBP-24]
- 005247A7 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 005247AA . 8B80 64030000 MOV EAX, DWORD PTR [EAX+364]
- 005247B0 . E8 83D6F2FF CALL Magic_Ph.00451E38
- 005247B5 . 837D DC 00 CMP DWORD PTR [EBP-24], 0
- 005247B9 . 75 54 JNZ SHORT Magic_Ph.0052480F ; //注册码为空则跳
- 005247BB . 6A 30 PUSH 30
- 005247BD . 8D55 D8 LEA EDX, DWORD PTR [EBP-28]
- 005247C0 . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 005247C5 . 8B00 MOV EAX, DWORD PTR [EAX]
- 005247C7 . E8 7CB6F4FF CALL Magic_Ph.0046FE48
- 005247CC . 8B45 D8 MOV EAX, DWORD PTR [EBP-28]
- 005247CF . E8 F00DEEFF CALL Magic_Ph.004055C4
- 005247D4 . 50 PUSH EAX
- 005247D5 . A1 28E55200 MOV EAX, DWORD PTR [52E528]
- 005247DA . 8B40 20 MOV EAX, DWORD PTR [EAX+20]
- 005247DD . E8 E20DEEFF CALL Magic_Ph.004055C4
- 005247E2 . 8BD0 MOV EDX, EAX
- 005247E4 . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 005247E9 . 8B00 MOV EAX, DWORD PTR [EAX]
- 005247EB . 59 POP ECX
- 005247EC . E8 A7BEF4FF CALL Magic_Ph.00470698
- 005247F1 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 005247F4 . 8B80 64030000 MOV EAX, DWORD PTR [EAX+364]
- 005247FA . 8B10 MOV EDX, DWORD PTR [EAX]
- 005247FC . FF92 D4000000 CALL DWORD PTR [EDX+D4]
- 00524802 . 33C0 XOR EAX, EAX
- 00524804 . 5A POP EDX
- 00524805 . 59 POP ECX
- 00524806 . 59 POP ECX
- 00524807 . 64:8910 MOV DWORD PTR FS:[EAX], EDX
- 0052480A . E9 6E020000 JMP Magic_Ph.00524A7D
- 0052480F > 8D55 D4 LEA EDX, DWORD PTR [EBP-2C]
- 00524812 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524815 . 8B80 64030000 MOV EAX, DWORD PTR [EAX+364]
- 0052481B . E8 18D6F2FF CALL Magic_Ph.00451E38
- 00524820 . 8B45 D4 MOV EAX, DWORD PTR [EBP-2C] ; //试练码
- 00524823 . 50 PUSH EAX
- 00524824 . 8D55 CC LEA EDX, DWORD PTR [EBP-34]
- 00524827 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 0052482A . 8B80 60030000 MOV EAX, DWORD PTR [EAX+360]
- 00524830 . E8 03D6F2FF CALL Magic_Ph.00451E38
- 00524835 . 8B45 CC MOV EAX, DWORD PTR [EBP-34] ; //用户名
- 00524838 . 8D55 D0 LEA EDX, DWORD PTR [EBP-30]
- 0052483B . E8 A03EFFFF CALL Magic_Ph.005186E0 ; //关键CALL
- 00524840 . 8B55 D0 MOV EDX, DWORD PTR [EBP-30] ; //真码
- 00524843 . 58 POP EAX ; //假码
- 00524844 . E8 C70CEEFF CALL Magic_Ph.00405510 ; //比较CALL
- 00524849 . 0F85 AA010000 JNZ Magic_Ph.005249F9 ; //关键跳转
- 0052484F . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524852 . C680 84030000>MOV BYTE PTR [EAX+384], 1
- 00524859 . 8D55 C8 LEA EDX, DWORD PTR [EBP-38]
- 0052485C . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 0052485F . 8B80 60030000 MOV EAX, DWORD PTR [EAX+360]
- 00524865 . E8 CED5F2FF CALL Magic_Ph.00451E38
- 0052486A . 8B55 C8 MOV EDX, DWORD PTR [EBP-38]
- 0052486D . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524870 . 05 88030000 ADD EAX, 388
- 00524875 . E8 DA08EEFF CALL Magic_Ph.00405154
- 0052487A . 8D55 C4 LEA EDX, DWORD PTR [EBP-3C]
- 0052487D . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 00524882 . 8B00 MOV EAX, DWORD PTR [EAX]
- 00524884 . E8 BFB5F4FF CALL Magic_Ph.0046FE48
- 00524889 . 8B55 C4 MOV EDX, DWORD PTR [EBP-3C]
- 0052488C . A1 80E25200 MOV EAX, DWORD PTR [52E280]
- 00524891 . 8B00 MOV EAX, DWORD PTR [EAX]
- 00524893 . E8 D0D5F2FF CALL Magic_Ph.00451E68
- 00524898 . A1 80E25200 MOV EAX, DWORD PTR [52E280]
- 0052489D . 8B00 MOV EAX, DWORD PTR [EAX]
- 0052489F . 8B80 A8030000 MOV EAX, DWORD PTR [EAX+3A8]
- 005248A5 . 33D2 XOR EDX, EDX
- 005248A7 . E8 ACD4F2FF CALL Magic_Ph.00451D58
- 005248AC . B2 01 MOV DL, 1
- 005248AE . A1 98934200 MOV EAX, DWORD PTR [429398]
- 005248B3 . E8 E04BF0FF CALL Magic_Ph.00429498
- 005248B8 . 8945 F8 MOV DWORD PTR [EBP-8], EAX
- 005248BB . 33C0 XOR EAX, EAX
- 005248BD . 55 PUSH EBP
- 005248BE . 68 64495200 PUSH Magic_Ph.00524964
- 005248C3 . 64:FF30 PUSH DWORD PTR FS:[EAX]
- 005248C6 . 64:8920 MOV DWORD PTR FS:[EAX], ESP
- 005248C9 . BA 01000080 MOV EDX, 80000001
- 005248CE . 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 005248D1 . E8 624CF0FF CALL Magic_Ph.00429538
- 005248D6 . 68 3C4B5200 PUSH Magic_Ph.00524B3C ; ASCII "Software\East Imperial Soft"
- 005248DB . 8D55 BC LEA EDX, DWORD PTR [EBP-44]
- 005248DE . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 005248E3 . 8B00 MOV EAX, DWORD PTR [EAX]
- 005248E5 . E8 5EB5F4FF CALL Magic_Ph.0046FE48
- 005248EA . FF75 BC PUSH DWORD PTR [EBP-44]
- 005248ED . 68 644B5200 PUSH Magic_Ph.00524B64 ; ASCII "\Settings"
- 005248F2 . 8D45 C0 LEA EAX, DWORD PTR [EBP-40]
- 005248F5 . BA 03000000 MOV EDX, 3
- 005248FA . E8 850BEEFF CALL Magic_Ph.00405484
- 005248FF . 8B55 C0 MOV EDX, DWORD PTR [EBP-40]
- 00524902 . B1 01 MOV CL, 1
- 00524904 . 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 00524907 . E8 904CF0FF CALL Magic_Ph.0042959C
- 0052490C . 8D55 B8 LEA EDX, DWORD PTR [EBP-48]
- 0052490F . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524912 . 8B80 60030000 MOV EAX, DWORD PTR [EAX+360]
- 00524918 . E8 1BD5F2FF CALL Magic_Ph.00451E38
- 0052491D . 8B4D B8 MOV ECX, DWORD PTR [EBP-48]
- 00524920 . BA 784B5200 MOV EDX, Magic_Ph.00524B78 ; ASCII "UserName"
- 00524925 . 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 00524928 . E8 C34FF0FF CALL Magic_Ph.004298F0
- 0052492D . 8D55 B4 LEA EDX, DWORD PTR [EBP-4C]
- 00524930 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524933 . 8B80 64030000 MOV EAX, DWORD PTR [EAX+364]
- 00524939 . E8 FAD4F2FF CALL Magic_Ph.00451E38
- 0052493E . 8B4D B4 MOV ECX, DWORD PTR [EBP-4C]
- 00524941 . BA 8C4B5200 MOV EDX, Magic_Ph.00524B8C ; ASCII "LicenseKey"
- 00524946 . 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 00524949 . E8 A24FF0FF CALL Magic_Ph.004298F0
- 0052494E . 33C0 XOR EAX, EAX
- 00524950 . 5A POP EDX
- 00524951 . 59 POP ECX
- 00524952 . 59 POP ECX
- 00524953 . 64:8910 MOV DWORD PTR FS:[EAX], EDX
- 00524956 . 68 6B495200 PUSH Magic_Ph.0052496B
- 0052495B > 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 0052495E . E8 D1F8EDFF CALL Magic_Ph.00404234
- 00524963 . C3 RETN
- 00524964 .^ E9 9F00EEFF JMP Magic_Ph.00404A08
- 00524969 .^ EB F0 JMP SHORT Magic_Ph.0052495B
- 0052496B . 6A 40 PUSH 40
- 0052496D . A1 28E55200 MOV EAX, DWORD PTR [52E528]
- 00524972 . FF70 24 PUSH DWORD PTR [EAX+24]
- 00524975 . 68 A04B5200 PUSH Magic_Ph.00524BA0 ; ASCII "
- "
- 0052497A . 8D45 AC LEA EAX, DWORD PTR [EBP-54]
- 0052497D . 50 PUSH EAX
- 0052497E . 8D55 A0 LEA EDX, DWORD PTR [EBP-60]
- 00524981 . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00524984 . 8B80 60030000 MOV EAX, DWORD PTR [EAX+360]
- 0052498A . E8 A9D4F2FF CALL Magic_Ph.00451E38
- 0052498F . 8B45 A0 MOV EAX, DWORD PTR [EBP-60] ; |
- 00524992 . 8945 A4 MOV DWORD PTR [EBP-5C], EAX ; |
- 00524995 . C645 A8 0B MOV BYTE PTR [EBP-58], 0B ; |
- 00524999 . 8D55 A4 LEA EDX, DWORD PTR [EBP-5C] ; |
- 0052499C . A1 28E55200 MOV EAX, DWORD PTR [52E528] ; |
- 005249A1 . 8B40 28 MOV EAX, DWORD PTR [EAX+28] ; |
- 005249A4 . 33C9 XOR ECX, ECX ; |
- 005249A6 . E8 7D63EEFF CALL Magic_Ph.0040AD28 ; \Magic_Ph.0040AD28
- 005249AB . FF75 AC PUSH DWORD PTR [EBP-54]
- 005249AE . 8D45 B0 LEA EAX, DWORD PTR [EBP-50]
- 005249B1 . BA 03000000 MOV EDX, 3
- 005249B6 . E8 C90AEEFF CALL Magic_Ph.00405484
- 005249BB . 8B45 B0 MOV EAX, DWORD PTR [EBP-50]
- 005249BE . E8 010CEEFF CALL Magic_Ph.004055C4
- 005249C3 . 50 PUSH EAX
- 005249C4 . 8D55 9C LEA EDX, DWORD PTR [EBP-64]
- 005249C7 . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 005249CC . 8B00 MOV EAX, DWORD PTR [EAX]
- 005249CE . E8 75B4F4FF CALL Magic_Ph.0046FE48
- 005249D3 . 8B45 9C MOV EAX, DWORD PTR [EBP-64]
- 005249D6 . E8 E90BEEFF CALL Magic_Ph.004055C4
- 005249DB . 8BC8 MOV ECX, EAX
- 005249DD . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 005249E2 . 8B00 MOV EAX, DWORD PTR [EAX]
- 005249E4 . 5A POP EDX
- 005249E5 . E8 AEBCF4FF CALL Magic_Ph.00470698
- 005249EA . 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 005249ED . C780 94020000>MOV DWORD PTR [EAX+294], 1
- 005249F7 . EB 70 JMP SHORT Magic_Ph.00524A69
- 005249F9 > 6A 30 PUSH 30
- 005249FB . A1 28E55200 MOV EAX, DWORD PTR [52E528]
- 00524A00 . FF70 2C PUSH DWORD PTR [EAX+2C]
- 00524A03 . 68 A04B5200 PUSH Magic_Ph.00524BA0 ; ASCII "
- "
- 00524A08 . 8D45 94 LEA EAX, DWORD PTR [EBP-6C]
- 00524A0B . 50 PUSH EAX ; /Arg1
- 00524A0C . B8 AC4B5200 MOV EAX, Magic_Ph.00524BAC ; |ASCII "[email protected]"
- 00524A11 . 8945 A4 MOV DWORD PTR [EBP-5C], EAX ; |
- 00524A14 . C645 A8 0B MOV BYTE PTR [EBP-58], 0B ; |
- 00524A18 . 8D55 A4 LEA EDX, DWORD PTR [EBP-5C] ; |
- 00524A1B . A1 28E55200 MOV EAX, DWORD PTR [52E528] ; |
- 00524A20 . 8B40 30 MOV EAX, DWORD PTR [EAX+30] ; |
- 00524A23 . 33C9 XOR ECX, ECX ; |
- 00524A25 . E8 FE62EEFF CALL Magic_Ph.0040AD28 ; \Magic_Ph.0040AD28
- 00524A2A . FF75 94 PUSH DWORD PTR [EBP-6C]
- 00524A2D . 8D45 98 LEA EAX, DWORD PTR [EBP-68]
- 00524A30 . BA 03000000 MOV EDX, 3
- 00524A35 . E8 4A0AEEFF CALL Magic_Ph.00405484
- 00524A3A . 8B45 98 MOV EAX, DWORD PTR [EBP-68]
- 00524A3D . E8 820BEEFF CALL Magic_Ph.004055C4
- 00524A42 . 50 PUSH EAX
- 00524A43 . 8D55 90 LEA EDX, DWORD PTR [EBP-70]
- 00524A46 . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 00524A4B . 8B00 MOV EAX, DWORD PTR [EAX]
- 00524A4D . E8 F6B3F4FF CALL Magic_Ph.0046FE48
- 00524A52 . 8B45 90 MOV EAX, DWORD PTR [EBP-70]
- 00524A55 . E8 6A0BEEFF CALL Magic_Ph.004055C4
- 00524A5A . 8BC8 MOV ECX, EAX
- 00524A5C . A1 48E65200 MOV EAX, DWORD PTR [52E648]
- 00524A61 . 8B00 MOV EAX, DWORD PTR [EAX]
- 00524A63 . 5A POP EDX
- 00524A64 . E8 2FBCF4FF CALL Magic_Ph.00470698
- 00524A69 > 33C0 XOR EAX, EAX
- 00524A6B . 5A POP EDX
- 00524A6C . 59 POP ECX
- 00524A6D . 59 POP ECX
- 00524A6E . 64:8910 MOV DWORD PTR FS:[EAX], EDX
- 00524A71 . EB 0A JMP SHORT Magic_Ph.00524A7D
- 00524A73 .^ E9 DCFCEDFF JMP Magic_Ph.00404754
- 00524A78 . E8 E700EEFF CALL Magic_Ph.00404B64
- 00524A7D > 33C0 XOR EAX, EAX
- 00524A7F . 5A POP EDX
- 00524A80 . 59 POP ECX
- 00524A81 . 59 POP ECX
- 00524A82 . 64:8910 MOV DWORD PTR FS:[EAX], EDX
- 00524A85 . 68 2B4B5200 PUSH Magic_Ph.00524B2B
- 00524A8A > 8D45 90 LEA EAX, DWORD PTR [EBP-70]
- 00524A8D . BA 04000000 MOV EDX, 4
- 00524A92 . E8 8D06EEFF CALL Magic_Ph.00405124
- 00524A97 . 8D45 A0 LEA EAX, DWORD PTR [EBP-60]
- 00524A9A . E8 6106EEFF CALL Magic_Ph.00405100
- 00524A9F . 8D45 AC LEA EAX, DWORD PTR [EBP-54]
- 00524AA2 . BA 02000000 MOV EDX, 2
- 00524AA7 . E8 7806EEFF CALL Magic_Ph.00405124
- 00524AAC . 8D45 B4 LEA EAX, DWORD PTR [EBP-4C]
- 00524AAF . BA 02000000 MOV EDX, 2
- 00524AB4 . E8 6B06EEFF CALL Magic_Ph.00405124
- 00524AB9 . 8D45 BC LEA EAX, DWORD PTR [EBP-44]
- 00524ABC . BA 03000000 MOV EDX, 3
- 00524AC1 . E8 5E06EEFF CALL Magic_Ph.00405124
- 00524AC6 . 8D45 C8 LEA EAX, DWORD PTR [EBP-38]
- 00524AC9 . BA 02000000 MOV EDX, 2
- 00524ACE . E8 5106EEFF CALL Magic_Ph.00405124
- 00524AD3 . 8D45 D0 LEA EAX, DWORD PTR [EBP-30]
- 00524AD6 . E8 2506EEFF CALL Magic_Ph.00405100
- 00524ADB . 8D45 D4 LEA EAX, DWORD PTR [EBP-2C]
- 00524ADE . E8 1D06EEFF CALL Magic_Ph.00405100
- 00524AE3 . 8D45 D8 LEA EAX, DWORD PTR [EBP-28]
- 00524AE6 . E8 1506EEFF CALL Magic_Ph.00405100
- 00524AEB . 8D45 DC LEA EAX, DWORD PTR [EBP-24]
- 00524AEE . E8 0D06EEFF CALL Magic_Ph.00405100
- 00524AF3 . 8D45 E0 LEA EAX, DWORD PTR [EBP-20]
- 00524AF6 . E8 0506EEFF CALL Magic_Ph.00405100
- 00524AFB . 8D45 E4 LEA EAX, DWORD PTR [EBP-1C]
- 00524AFE . BA 02000000 MOV EDX, 2
- 00524B03 . E8 1C06EEFF CALL Magic_Ph.00405124
- 00524B08 . 8D45 EC LEA EAX, DWORD PTR [EBP-14]
- 00524B0B . E8 F005EEFF CALL Magic_Ph.00405100
- 00524B10 . 8D45 F0 LEA EAX, DWORD PTR [EBP-10]
- 00524B13 . E8 E805EEFF CALL Magic_Ph.00405100
- 00524B18 . 8D45 F4 LEA EAX, DWORD PTR [EBP-C]
- 00524B1B . E8 E005EEFF CALL Magic_Ph.00405100
- 00524B20 . C3 RETN
- 00524B21 .^ E9 E2FEEDFF JMP Magic_Ph.00404A08
- 00524B26 .^ E9 5FFFFFFF JMP Magic_Ph.00524A8A
- 00524B2B . 5F POP EDI
- 00524B2C . 5E POP ESI
- 00524B2D . 5B POP EBX
- 00524B2E . 8BE5 MOV ESP, EBP
- 00524B30 . 5D POP EBP
- 00524B31 . C3 RETN
- ==============================================================
- 005186E0 /$ 55 PUSH EBP
- 005186E1 |. 8BEC MOV EBP, ESP
- 005186E3 |. B9 07000000 MOV ECX, 7
- 005186E8 |> 6A 00 /PUSH 0
- 005186EA |. 6A 00 |PUSH 0
- 005186EC |. 49 |DEC ECX
- 005186ED |.^ 75 F9 \JNZ SHORT Magic_Ph.005186E8
- 005186EF |. 51 PUSH ECX
- 005186F0 |. 53 PUSH EBX
- 005186F1 |. 56 PUSH ESI
- 005186F2 |. 8955 F8 MOV DWORD PTR [EBP-8], EDX
- 005186F5 |. 8BD8 MOV EBX, EAX
- 005186F7 |. 33C0 XOR EAX, EAX
- 005186F9 |. 55 PUSH EBP
- 005186FA |. 68 E5895100 PUSH Magic_Ph.005189E5
- 005186FF |. 64:FF30 PUSH DWORD PTR FS:[EAX]
- 00518702 |. 64:8920 MOV DWORD PTR FS:[EAX], ESP
- 00518705 |. 8D45 FC LEA EAX, DWORD PTR [EBP-4]
- 00518708 |. 8BD3 MOV EDX, EBX
- 0051870A |. E8 89CAEEFF CALL Magic_Ph.00405198
- 0051870F |. 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 00518712 |. E8 E9C9EEFF CALL Magic_Ph.00405100
- 00518717 |. 8B45 FC MOV EAX, DWORD PTR [EBP-4] ; //用户名
- 0051871A |. 85C0 TEST EAX, EAX
- 0051871C |. 74 05 JE SHORT Magic_Ph.00518723
- 0051871E |. 83E8 04 SUB EAX, 4
- 00518721 |. 8B00 MOV EAX, DWORD PTR [EAX] ; //用户名长度
- 00518723 |> 85C0 TEST EAX, EAX
- 00518725 |. 0F84 8A020000 JE Magic_Ph.005189B5
- 0051872B |. 8D55 F4 LEA EDX, DWORD PTR [EBP-C]
- 0051872E |. 8B45 FC MOV EAX, DWORD PTR [EBP-4] ; //用户名
- 00518731 |. E8 6610EFFF CALL Magic_Ph.0040979C ; //用户名转小写
- 00518736 |. 8B55 F4 MOV EDX, DWORD PTR [EBP-C] ; //小写用户名
- 00518739 |. 8D45 FC LEA EAX, DWORD PTR [EBP-4]
- 0051873C |. E8 57CAEEFF CALL Magic_Ph.00405198
- 00518741 |. 33DB XOR EBX, EBX ; //EBX=0
- 00518743 |. 8B45 FC MOV EAX, DWORD PTR [EBP-4] ; //小写用户名
- 00518746 |. 85C0 TEST EAX, EAX
- 00518748 |. 74 05 JE SHORT Magic_Ph.0051874F
- 0051874A |. 83E8 04 SUB EAX, 4
- 0051874D |. 8B00 MOV EAX, DWORD PTR [EAX] ; //用户名长度
- 0051874F |> 8BD0 MOV EDX, EAX ; //EDX=EAX=用户名长度
- 00518751 |. 85D2 TEST EDX, EDX
- 00518753 |. 7E 35 JLE SHORT Magic_Ph.0051878A
- 00518755 |. B8 01000000 MOV EAX, 1 ; //EAX=1
- 0051875A |> 8B4D FC /MOV ECX, DWORD PTR [EBP-4] ; //小写用户名
- 0051875D |. 48 |DEC EAX
- 0051875E |. 85C9 |TEST ECX, ECX
- 00518760 |. 74 05 |JE SHORT Magic_Ph.00518767
- 00518762 |. 3B41 FC |CMP EAX, DWORD PTR [ECX-4] ; //与用户名长度比较
- 00518765 |. 72 05 |JB SHORT Magic_Ph.0051876C
- 00518767 |> E8 98B9EEFF |CALL Magic_Ph.00404104
- 0051876C |> 40 |INC EAX
- 0051876D |. 0FB64C01 FF |MOVZX ECX, BYTE PTR [ECX+EAX-1] ; //依次取用户名ASCII码
- 00518772 |. 6BF0 15 |IMUL ESI, EAX, 15 ; //ESI=EAX*15
- 00518775 |. 81C6 8D020000 |ADD ESI, 28D ; //ESI=ESI+28D
- 0051877B |. 0FAFCE |IMUL ECX, ESI ; //ECX=ECX*ESI
- 0051877E |. 03D9 |ADD EBX, ECX ; //EBX=EBX+ECX
- 00518780 |. 81C3 C2040000 |ADD EBX, 4C2 ; //EBX=EBX+4C2
- 00518786 |. 40 |INC EAX ; //EAX=EAX+1
- 00518787 |. 4A |DEC EDX ; //EDX=EDX-1
- 00518788 |.^ 75 D0 \JNZ SHORT Magic_Ph.0051875A ; //循环
- 0051878A |> 81C3 48050000 ADD EBX, 548 ; //EBX=EBX+548
- 00518790 |. 8D55 F0 LEA EDX, DWORD PTR [EBP-10]
- 00518793 |. 8BC3 MOV EAX, EBX
- 00518795 |. E8 0A12EFFF CALL Magic_Ph.004099A4 ; //将EBX转10进制
- 0051879A |. 8B45 F0 MOV EAX, DWORD PTR [EBP-10] ; //10进制字符串
- 0051879D |. 8945 EC MOV DWORD PTR [EBP-14], EAX
- 005187A0 |. 8B75 EC MOV ESI, DWORD PTR [EBP-14]
- 005187A3 |. 85F6 TEST ESI, ESI
- 005187A5 |. 74 05 JE SHORT Magic_Ph.005187AC
- 005187A7 |. 83EE 04 SUB ESI, 4
- 005187AA |. 8B36 MOV ESI, DWORD PTR [ESI]
- 005187AC |> 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 005187AF |. 50 PUSH EAX
- 005187B0 |. 8D55 E8 LEA EDX, DWORD PTR [EBP-18]
- 005187B3 |. 8BC3 MOV EAX, EBX
- 005187B5 |. E8 EA11EFFF CALL Magic_Ph.004099A4
- 005187BA |. 8B45 E8 MOV EAX, DWORD PTR [EBP-18] ; |
- 005187BD |. 8BD6 MOV EDX, ESI ; |
- 005187BF |. 83EA 03 SUB EDX, 3 ; |
- 005187C2 |. B9 04000000 MOV ECX, 4 ; |
- 005187C7 |. E8 58CEEEFF CALL Magic_Ph.00405624 ; \//取10进制字符串3-6位
- 005187CC |. 33DB XOR EBX, EBX
- 005187CE |. 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 005187D1 |. 85C0 TEST EAX, EAX
- 005187D3 |. 74 05 JE SHORT Magic_Ph.005187DA
- 005187D5 |. 83E8 04 SUB EAX, 4
- 005187D8 |. 8B00 MOV EAX, DWORD PTR [EAX]
- 005187DA |> 8BD0 MOV EDX, EAX
- 005187DC |. 85D2 TEST EDX, EDX
- 005187DE |. 7E 2F JLE SHORT Magic_Ph.0051880F
- 005187E0 |. B8 01000000 MOV EAX, 1
- 005187E5 |> 8B4D FC /MOV ECX, DWORD PTR [EBP-4]
- 005187E8 |. 48 |DEC EAX
- 005187E9 |. 85C9 |TEST ECX, ECX
- 005187EB |. 74 05 |JE SHORT Magic_Ph.005187F2
- 005187ED |. 3B41 FC |CMP EAX, DWORD PTR [ECX-4]
- 005187F0 |. 72 05 |JB SHORT Magic_Ph.005187F7
- 005187F2 |> E8 0DB9EEFF |CALL Magic_Ph.00404104
- 005187F7 |> 40 |INC EAX
- 005187F8 |. 0FB64C01 FF |MOVZX ECX, BYTE PTR [ECX+EAX-1] ; //依次取用户名ASCII码
- 005187FD |. 6BF0 6B |IMUL ESI, EAX, 6B ; //ESI=EAX*6B
- 00518800 |. 83C6 0C |ADD ESI, 0C ; //ESI=ESI+0C
- 00518803 |. 0FAFCE |IMUL ECX, ESI ; //ECX=ECX*ESI
- 00518806 |. 03D9 |ADD EBX, ECX ; //EBX=EBX+ECX
- 00518808 |. 83C3 75 |ADD EBX, 75 ; //EBX=EBX+75
- 0051880B |. 40 |INC EAX
- 0051880C |. 4A |DEC EDX
- 0051880D |.^ 75 D6 \JNZ SHORT Magic_Ph.005187E5 ; //循环
- 0051880F |> 81C3 E3090000 ADD EBX, 9E3 ; //EBX=EBX+9E3
- 00518815 |. 8D55 E4 LEA EDX, DWORD PTR [EBP-1C]
- 00518818 |. 8BC3 MOV EAX, EBX
- 0051881A |. E8 8511EFFF CALL Magic_Ph.004099A4 ; //将EBX转10进制
- 0051881F |. 8B45 E4 MOV EAX, DWORD PTR [EBP-1C] ; //10进制字符串
- 00518822 |. 8945 EC MOV DWORD PTR [EBP-14], EAX
- 00518825 |. 8B75 EC MOV ESI, DWORD PTR [EBP-14]
- 00518828 |. 85F6 TEST ESI, ESI
- 0051882A |. 74 05 JE SHORT Magic_Ph.00518831
- 0051882C |. 83EE 04 SUB ESI, 4
- 0051882F |. 8B36 MOV ESI, DWORD PTR [ESI]
- 00518831 |> 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 00518834 |. FF30 PUSH DWORD PTR [EAX]
- 00518836 |. 68 FC895100 PUSH Magic_Ph.005189FC
- 0051883B |. 8D45 E0 LEA EAX, DWORD PTR [EBP-20]
- 0051883E |. 50 PUSH EAX
- 0051883F |. 8D55 DC LEA EDX, DWORD PTR [EBP-24]
- 00518842 |. 8BC3 MOV EAX, EBX
- 00518844 |. E8 5B11EFFF CALL Magic_Ph.004099A4
- 00518849 |. 8B45 DC MOV EAX, DWORD PTR [EBP-24] ; |
- 0051884C |. 8BD6 MOV EDX, ESI ; |
- 0051884E |. 83EA 03 SUB EDX, 3 ; |
- 00518851 |. B9 04000000 MOV ECX, 4 ; |
- 00518856 |. E8 C9CDEEFF CALL Magic_Ph.00405624 ; \//取10进制字符串3-6位
- 0051885B |. FF75 E0 PUSH DWORD PTR [EBP-20]
- 0051885E |. 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 00518861 |. BA 03000000 MOV EDX, 3
- 00518866 |. E8 19CCEEFF CALL Magic_Ph.00405484
- 0051886B |. 33DB XOR EBX, EBX
- 0051886D |. 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00518870 |. 85C0 TEST EAX, EAX
- 00518872 |. 74 05 JE SHORT Magic_Ph.00518879
- 00518874 |. 83E8 04 SUB EAX, 4
- 00518877 |. 8B00 MOV EAX, DWORD PTR [EAX]
- 00518879 |> 8BD0 MOV EDX, EAX
- 0051887B |. 85D2 TEST EDX, EDX
- 0051887D |. 7E 38 JLE SHORT Magic_Ph.005188B7
- 0051887F |. B8 01000000 MOV EAX, 1
- 00518884 |> 8B4D FC /MOV ECX, DWORD PTR [EBP-4]
- 00518887 |. 48 |DEC EAX
- 00518888 |. 85C9 |TEST ECX, ECX
- 0051888A |. 74 05 |JE SHORT Magic_Ph.00518891
- 0051888C |. 3B41 FC |CMP EAX, DWORD PTR [ECX-4]
- 0051888F |. 72 05 |JB SHORT Magic_Ph.00518896
- 00518891 |> E8 6EB8EEFF |CALL Magic_Ph.00404104
- 00518896 |> 40 |INC EAX
- 00518897 |. 0FB64C01 FF |MOVZX ECX, BYTE PTR [ECX+EAX-1] ; //依次取用户名ASCII码
- 0051889C |. 8BF0 |MOV ESI, EAX ; //ESI=EAX
- 0051889E |. 03F6 |ADD ESI, ESI ; //ESI=ESI+ESI
- 005188A0 |. 03F6 |ADD ESI, ESI ; //ESI=ESI+ESI
- 005188A2 |. 81C6 9F000000 |ADD ESI, 9F ; //ESI=ESI+9F
- 005188A8 |. 0FAFCE |IMUL ECX, ESI ; //ECX=ECX*ESI
- 005188AB |. 03D9 |ADD EBX, ECX ; //EBX=EBX+ECX
- 005188AD |. 81C3 12010000 |ADD EBX, 112 ; //EBX=EBX+112
- 005188B3 |. 40 |INC EAX
- 005188B4 |. 4A |DEC EDX
- 005188B5 |.^ 75 CD \JNZ SHORT Magic_Ph.00518884 ; //循环
- 005188B7 |> 81C3 02150000 ADD EBX, 1502 ; //EBX=EBX+1502
- 005188BD |. 8D55 D8 LEA EDX, DWORD PTR [EBP-28]
- 005188C0 |. 8BC3 MOV EAX, EBX
- 005188C2 |. E8 DD10EFFF CALL Magic_Ph.004099A4 ; //将EBX转10进制
- 005188C7 |. 8B45 D8 MOV EAX, DWORD PTR [EBP-28] ; //10进制字符串
- 005188CA |. 8945 EC MOV DWORD PTR [EBP-14], EAX
- 005188CD |. 8B75 EC MOV ESI, DWORD PTR [EBP-14]
- 005188D0 |. 85F6 TEST ESI, ESI
- 005188D2 |. 74 05 JE SHORT Magic_Ph.005188D9
- 005188D4 |. 83EE 04 SUB ESI, 4
- 005188D7 |. 8B36 MOV ESI, DWORD PTR [ESI]
- 005188D9 |> 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 005188DC |. FF30 PUSH DWORD PTR [EAX]
- 005188DE |. 68 FC895100 PUSH Magic_Ph.005189FC
- 005188E3 |. 8D45 D4 LEA EAX, DWORD PTR [EBP-2C]
- 005188E6 |. 50 PUSH EAX
- 005188E7 |. 8D55 D0 LEA EDX, DWORD PTR [EBP-30]
- 005188EA |. 8BC3 MOV EAX, EBX
- 005188EC |. E8 B310EFFF CALL Magic_Ph.004099A4
- 005188F1 |. 8B45 D0 MOV EAX, DWORD PTR [EBP-30] ; |
- 005188F4 |. 8BD6 MOV EDX, ESI ; |
- 005188F6 |. 83EA 03 SUB EDX, 3 ; |
- 005188F9 |. B9 04000000 MOV ECX, 4 ; |
- 005188FE |. E8 21CDEEFF CALL Magic_Ph.00405624 ; \//取10进制字符串3-6位
- 00518903 |. FF75 D4 PUSH DWORD PTR [EBP-2C]
- 00518906 |. 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 00518909 |. BA 03000000 MOV EDX, 3
- 0051890E |. E8 71CBEEFF CALL Magic_Ph.00405484
- 00518913 |. 33DB XOR EBX, EBX
- 00518915 |. 8B45 FC MOV EAX, DWORD PTR [EBP-4]
- 00518918 |. 85C0 TEST EAX, EAX
- 0051891A |. 74 05 JE SHORT Magic_Ph.00518921
- 0051891C |. 83E8 04 SUB EAX, 4
- 0051891F |. 8B00 MOV EAX, DWORD PTR [EAX]
- 00518921 |> 8BD0 MOV EDX, EAX
- 00518923 |. 85D2 TEST EDX, EDX
- 00518925 |. 7E 32 JLE SHORT Magic_Ph.00518959
- 00518927 |. B8 01000000 MOV EAX, 1
- 0051892C |> 8B4D FC /MOV ECX, DWORD PTR [EBP-4]
- 0051892F |. 48 |DEC EAX
- 00518930 |. 85C9 |TEST ECX, ECX
- 00518932 |. 74 05 |JE SHORT Magic_Ph.00518939
- 00518934 |. 3B41 FC |CMP EAX, DWORD PTR [ECX-4]
- 00518937 |. 72 05 |JB SHORT Magic_Ph.0051893E
- 00518939 |> E8 C6B7EEFF |CALL Magic_Ph.00404104
- 0051893E |> 40 |INC EAX
- 0051893F |. 0FB64C01 FF |MOVZX ECX, BYTE PTR [ECX+EAX-1] ; //依次取用户名ASCII码
- 00518944 |. 6BF0 5F |IMUL ESI, EAX, 5F ; //ESI=EAX*5F
- 00518947 |. 83C6 6F |ADD ESI, 6F ; //ESI=ESI+6F
- 0051894A |. 0FAFCE |IMUL ECX, ESI ; //ECX=ECX*ESI
- 0051894D |. 03D9 |ADD EBX, ECX ; //EBX=EBX+ECX
- 0051894F |. 81C3 6D180000 |ADD EBX, 186D ; //EBX=EBX+186D
- 00518955 |. 40 |INC EAX
- 00518956 |. 4A |DEC EDX
- 00518957 |.^ 75 D3 \JNZ SHORT Magic_Ph.0051892C ; //循环
- 00518959 |> 81C3 57040000 ADD EBX, 457 ; //EBX=EBX+457
- 0051895F |. 8D55 CC LEA EDX, DWORD PTR [EBP-34]
- 00518962 |. 8BC3 MOV EAX, EBX
- 00518964 |. E8 3B10EFFF CALL Magic_Ph.004099A4 ; //将EBX转10进制
- 00518969 |. 8B45 CC MOV EAX, DWORD PTR [EBP-34] ; //10进制字符串
- 0051896C |. 8945 EC MOV DWORD PTR [EBP-14], EAX
- 0051896F |. 8B75 EC MOV ESI, DWORD PTR [EBP-14]
- 00518972 |. 85F6 TEST ESI, ESI
- 00518974 |. 74 05 JE SHORT Magic_Ph.0051897B
- 00518976 |. 83EE 04 SUB ESI, 4
- 00518979 |. 8B36 MOV ESI, DWORD PTR [ESI]
- 0051897B |> 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 0051897E |. FF30 PUSH DWORD PTR [EAX]
- 00518980 |. 68 FC895100 PUSH Magic_Ph.005189FC
- 00518985 |. 8D45 C8 LEA EAX, DWORD PTR [EBP-38]
- 00518988 |. 50 PUSH EAX
- 00518989 |. 8D55 C4 LEA EDX, DWORD PTR [EBP-3C]
- 0051898C |. 8BC3 MOV EAX, EBX
- 0051898E |. E8 1110EFFF CALL Magic_Ph.004099A4
- 00518993 |. 8B45 C4 MOV EAX, DWORD PTR [EBP-3C] ; |
- 00518996 |. 8BD6 MOV EDX, ESI ; |
- 00518998 |. 83EA 03 SUB EDX, 3 ; |
- 0051899B |. B9 04000000 MOV ECX, 4 ; |
- 005189A0 |. E8 7FCCEEFF CALL Magic_Ph.00405624 ; \//取10进制字符串3-6位
- 005189A5 |. FF75 C8 PUSH DWORD PTR [EBP-38]
- 005189A8 |. 8B45 F8 MOV EAX, DWORD PTR [EBP-8]
- 005189AB |. BA 03000000 MOV EDX, 3
- 005189B0 |. E8 CFCAEEFF CALL Magic_Ph.00405484
- 005189B5 |> 33C0 XOR EAX, EAX
- 005189B7 |. 5A POP EDX
- 005189B8 |. 59 POP ECX
- 005189B9 |. 59 POP ECX
- 005189BA |. 64:8910 MOV DWORD PTR FS:[EAX], EDX
- 005189BD |. 68 EC895100 PUSH Magic_Ph.005189EC
- 005189C2 |> 8D45 C4 LEA EAX, DWORD PTR [EBP-3C]
- 005189C5 |. BA 0A000000 MOV EDX, 0A
- 005189CA |. E8 55C7EEFF CALL Magic_Ph.00405124
- 005189CF |. 8D45 F0 LEA EAX, DWORD PTR [EBP-10]
- 005189D2 |. BA 02000000 MOV EDX, 2
- 005189D7 |. E8 48C7EEFF CALL Magic_Ph.00405124
- 005189DC |. 8D45 FC LEA EAX, DWORD PTR [EBP-4]
- 005189DF |. E8 1CC7EEFF CALL Magic_Ph.00405100
- 005189E4 \. C3 RETN
- 005189E5 .^ E9 1EC0EEFF JMP Magic_Ph.00404A08
- 005189EA .^ EB D6 JMP SHORT Magic_Ph.005189C2
- 005189EC . 5E POP ESI
- 005189ED . 5B POP EBX
- 005189EE . 8BE5 MOV ESP, EBP
- 005189F0 . 5D POP EBP
- 005189F1 . C3 RETN
复制代码 **************************************************************
【破解总结】
--------------------------------------------------------------
【算法总结】
将用户名转小写,分别作4次运算,取运算值的3-6位,用"-"相连即是注册码
--------------------------------------------------------------
【算法注册机】
〖易语言代码〗
.版本 2
.子程序 _按钮1_被单击
.局部变量 小写用户名, 文本型
.局部变量 EAX, 整数型
.局部变量 ECX, 整数型
.局部变量 ESI, 整数型
.局部变量 EBX, 整数型
.局部变量 字符串1, 文本型
.局部变量 字符串2, 文本型
.局部变量 字符串3, 文本型
.局部变量 字符串4, 文本型
.判断开始 (编辑框1.内容 = “”)
编辑框2.内容 = “输入有误,请重新输入。”
.默认
小写用户名 = 到小写 (编辑框1.内容)
EBX = 0
.计次循环首 (取文本长度 (小写用户名), EAX)
ECX = 取代码 (小写用户名, EAX)
ESI = EAX × 十六进制到十进制 (“15”)
ESI = ESI + 十六进制到十进制 (“28D”)
ECX = ECX × ESI
EBX = EBX + ECX
EBX = EBX + 十六进制到十进制 (“4C2”)
.计次循环尾 ()
EBX = EBX + 十六进制到十进制 (“548”)
字符串1 = 取文本中间 (到文本 (EBX), 3, 4)
EBX = 0
.计次循环首 (取文本长度 (小写用户名), EAX)
ECX = 取代码 (小写用户名, EAX)
ESI = EAX × 十六进制到十进制 (“6B”)
ESI = ESI + 十六进制到十进制 (“0C”)
ECX = ECX × ESI
EBX = EBX + ECX
EBX = EBX + 十六进制到十进制 (“75”)
.计次循环尾 ()
EBX = EBX + 十六进制到十进制 (“9E3”)
字符串2 = 取文本中间 (到文本 (EBX), 3, 4)
EBX = 0
.计次循环首 (取文本长度 (小写用户名), EAX)
ECX = 取代码 (小写用户名, EAX)
ESI = EAX
ESI = ESI + ESI
ESI = ESI + ESI
ESI = ESI + 十六进制到十进制 (“9F”)
ECX = ECX × ESI
EBX = EBX + ECX
EBX = EBX + 十六进制到十进制 (“112”)
.计次循环尾 ()
EBX = EBX + 十六进制到十进制 (“1502”)
字符串3 = 取文本中间 (到文本 (EBX), 3, 4)
EBX = 0
.计次循环首 (取文本长度 (小写用户名), EAX)
ECX = 取代码 (小写用户名, EAX)
ESI = EAX × 十六进制到十进制 (“5F”)
ESI = ESI + 十六进制到十进制 (“6F”)
ECX = ECX × ESI
EBX = EBX + ECX
EBX = EBX + 十六进制到十进制 (“186D”)
.计次循环尾 ()
EBX = EBX + 十六进制到十进制 (“457”)
字符串4 = 取文本中间 (到文本 (EBX), 3, 4)
编辑框2.内容 = 字符串1 + “-” + 字符串2 + “-” + 字符串3 + “-” + 字符串4
.判断结束
.子程序 十六进制到十进制, 整数型
.参数 十六进制文本, 文本型
.局部变量 文本, 文本型
.局部变量 最终值, 整数型
.局部变量 i, 整数型, , , 中间循环变量
.局部变量 临时数值, 文本型, , , 每一位上的值
文本 = 到小写 (十六进制文本)
.变量循环首 (1, 取文本长度 (文本), 1, i)
临时数值 = 取文本中间 (文本, i, 1)
.如果 (取代码 (临时数值, ) ≥ 取代码 (“a”, ) 且 取代码 (临时数值, ) ≤ 取代码 (“f”, ))
最终值 = 最终值 + (取代码 (临时数值, ) - 取代码 (“a”, ) + 10) × 求次方 (16, 取文本长度 (文本) - i)
.否则
最终值 = 最终值 + 到数值 (临时数值) × 求次方 (16, 取文本长度 (文本) - i)
.如果结束
.变量循环尾 ()
返回 (最终值)
--------------------------------------------------------------
【内存注册机】
中断地址 00524844
中断次数 1
第一字节 E8
指令长度 5
内存方式-寄存器-EDX
--------------------------------------------------------------
【注册信息】
保存在[HKEY_CURRENT_USER\Software\East Imperial Soft\Magic Photo Recovery 2.0\Settings]
--------------------------------------------------------------
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及徐超等所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
_/_/_/ _/ _/ _/_/_/
_/ _/ _/ _/ _/
_/_/_/ _/_/ _/_/_/_/
_/ _/ _/ _/
_/ _/ _/_/_/ _/ tianxj |
|