tianxj 发表于 2008-2-20 22:42:14

XXX人事管理系统算法分析

【破文作者】tianxj
【作者邮箱】[email protected]
【作者主页】www.chinapyg.com
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】XXX人事管理系统
【软件大小】3218 KB
【原版下载】自己找一下
【保护方式】注册码
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"注册码验证失败"
**************************************************************
二、用PEiD对这个软件查壳,为 ASPack 2.12 -> Alexey Solodovnikov
**************************************************************
三、打开OD,用ESP定律脱壳,用PEiD对3A5184查壳, 无壳。Borland Delphi 6.0 - 7.0编写。
**************************************************************
四、运行OD,打开3A5184,右键—超级字串参考—查找ASCII.
发现"注册码验证失败""注册成功,我们将为您提供更多的专业服务"007A3D08/.55            PUSH EBP
007A3D09|.8BEC          MOV EBP,ESP
007A3D0B|.33C9          XOR ECX,ECX
007A3D0D|.51            PUSH ECX
007A3D0E|.51            PUSH ECX
007A3D0F|.51            PUSH ECX
007A3D10|.51            PUSH ECX
007A3D11|.51            PUSH ECX
007A3D12|.53            PUSH EBX
007A3D13|.8BD8          MOV EBX,EAX
007A3D15|.33C0          XOR EAX,EAX
007A3D17|.55            PUSH EBP
007A3D18|.68 A63E7A00   PUSH 3A5184.007A3EA6
007A3D1D|.64:FF30       PUSH DWORD PTR FS:
007A3D20|.64:8920       MOV DWORD PTR FS:,ESP
007A3D23|.8D55 F4       LEA EDX,DWORD PTR SS:
007A3D26|.8B83 0C030000 MOV EAX,DWORD PTR DS:
007A3D2C|.E8 6FD6CCFF   CALL 3A5184.004713A0
007A3D31|.8B45 F4       MOV EAX,DWORD PTR SS:
007A3D34|.BA BC3E7A00   MOV EDX,3A5184.007A3EBC                         ;关闭
007A3D39|.E8 EE0EC6FF   CALL 3A5184.00404C2C
007A3D3E|.75 1C         JNZ SHORT 3A5184.007A3D5C
007A3D40|.BA CC3E7A00   MOV EDX,3A5184.007A3ECC                         ;注册
007A3D45|.8B83 0C030000 MOV EAX,DWORD PTR DS:
007A3D4B|.E8 80D6CCFF   CALL 3A5184.004713D0
007A3D50|.8BC3          MOV EAX,EBX
007A3D52|.E8 51AACEFF   CALL 3A5184.0048E7A8
007A3D57|.E9 22010000   JMP 3A5184.007A3E7E
007A3D5C|>8D55 F0       LEA EDX,DWORD PTR SS:
007A3D5F|.8B83 04030000 MOV EAX,DWORD PTR DS:
007A3D65|.E8 36D6CCFF   CALL 3A5184.004713A0                            ;//EAX=用户名长度
007A3D6A|.8B45 F0       MOV EAX,DWORD PTR SS:                   ;//EAX==用户名
007A3D6D|.8D55 FC       LEA EDX,DWORD PTR SS:
007A3D70|.E8 B359C6FF   CALL 3A5184.00409728
007A3D75|.8D55 EC       LEA EDX,DWORD PTR SS:
007A3D78|.8B83 08030000 MOV EAX,DWORD PTR DS:
007A3D7E|.E8 1DD6CCFF   CALL 3A5184.004713A0                            ;//EAX=注册码长度
007A3D83|.8B45 EC       MOV EAX,DWORD PTR SS:                   ;//EAX==注册码
007A3D86|.8D55 F8       LEA EDX,DWORD PTR SS:
007A3D89|.E8 9A59C6FF   CALL 3A5184.00409728
007A3D8E|.837D FC 00    CMP DWORD PTR SS:,0                      ;//用户名与0比较
007A3D92|.0F84 B5000000 JE 3A5184.007A3E4D                              ;//相等则跳,跳则失败
007A3D98|.837D F8 00    CMP DWORD PTR SS:,0                      ;//注册码与0比较
007A3D9C|.74 7C         JE SHORT 3A5184.007A3E1A                        ;//相等则跳,跳则失败
007A3D9E|.8B4D F8       MOV ECX,DWORD PTR SS:                  ;//ECX==注册码
007A3DA1|.8B55 FC       MOV EDX,DWORD PTR SS:                  ;//EDX==用户名
007A3DA4|.8BC3          MOV EAX,EBX
007A3DA6|.E8 05020000   CALL 3A5184.007A3FB0                            ;//关键CALL,F7
007A3DAB|.84C0          TEST AL,AL                                    ;//标志位比较
007A3DAD|.74 38         JE SHORT 3A5184.007A3DE7                        ;//关键跳转
007A3DAF|.8B83 14030000 MOV EAX,DWORD PTR DS:
007A3DB5|.8B40 68       MOV EAX,DWORD PTR DS:
007A3DB8|.BA 00800000   MOV EDX,8000
007A3DBD|.E8 528DC8FF   CALL 3A5184.0042CB14
007A3DC2|.BA DC3E7A00   MOV EDX,3A5184.007A3EDC                         ;注册成功,我们将为您提供更多的专业服务
007A3DC7|.8B83 14030000 MOV EAX,DWORD PTR DS:
007A3DCD|.E8 FED5CCFF   CALL 3A5184.004713D0
007A3DD2|.BA BC3E7A00   MOV EDX,3A5184.007A3EBC                         ;关闭
007A3DD7|.8B83 0C030000 MOV EAX,DWORD PTR DS:
007A3DDD|.E8 EED5CCFF   CALL 3A5184.004713D0
007A3DE2|.E9 97000000   JMP 3A5184.007A3E7E
007A3DE7|>8B83 14030000 MOV EAX,DWORD PTR DS:
007A3DED|.8B40 68       MOV EAX,DWORD PTR DS:
007A3DF0|.BA FF000000   MOV EDX,0FF
007A3DF5|.E8 1A8DC8FF   CALL 3A5184.0042CB14
007A3DFA|.BA 0C3F7A00   MOV EDX,3A5184.007A3F0C                         ;注册码验证失败
007A3DFF|.8B83 14030000 MOV EAX,DWORD PTR DS:
007A3E05|.E8 C6D5CCFF   CALL 3A5184.004713D0
007A3E0A|.8B83 08030000 MOV EAX,DWORD PTR DS:
007A3E10|.8B10          MOV EDX,DWORD PTR DS:
007A3E12|.FF92 C4000000 CALL DWORD PTR DS:
007A3E18|.EB 64         JMP SHORT 3A5184.007A3E7E
007A3E1A|>8B83 14030000 MOV EAX,DWORD PTR DS:
007A3E20|.8B40 68       MOV EAX,DWORD PTR DS:
007A3E23|.BA FF000000   MOV EDX,0FF
007A3E28|.E8 E78CC8FF   CALL 3A5184.0042CB14
007A3E2D|.BA 243F7A00   MOV EDX,3A5184.007A3F24                         ;注册码必须填写
007A3E32|.8B83 14030000 MOV EAX,DWORD PTR DS:
007A3E38|.E8 93D5CCFF   CALL 3A5184.004713D0
007A3E3D|.8B83 08030000 MOV EAX,DWORD PTR DS:
007A3E43|.8B10          MOV EDX,DWORD PTR DS:
007A3E45|.FF92 C4000000 CALL DWORD PTR DS:
007A3E4B|.EB 31         JMP SHORT 3A5184.007A3E7E
007A3E4D|>8B83 14030000 MOV EAX,DWORD PTR DS:
007A3E53|.8B40 68       MOV EAX,DWORD PTR DS:
007A3E56|.BA FF000000   MOV EDX,0FF
007A3E5B|.E8 B48CC8FF   CALL 3A5184.0042CB14
007A3E60|.BA 3C3F7A00   MOV EDX,3A5184.007A3F3C                         ;公司名称必须填写
007A3E65|.8B83 14030000 MOV EAX,DWORD PTR DS:
007A3E6B|.E8 60D5CCFF   CALL 3A5184.004713D0
007A3E70|.8B83 04030000 MOV EAX,DWORD PTR DS:
007A3E76|.8B10          MOV EDX,DWORD PTR DS:
007A3E78|.FF92 C4000000 CALL DWORD PTR DS:
007A3E7E|>33C0          XOR EAX,EAX
007A3E80|.5A            POP EDX
007A3E81|.59            POP ECX
007A3E82|.59            POP ECX
007A3E83|.64:8910       MOV DWORD PTR FS:,EDX
007A3E86|.68 AD3E7A00   PUSH 3A5184.007A3EAD
007A3E8B|>8D45 EC       LEA EAX,DWORD PTR SS:
007A3E8E|.BA 03000000   MOV EDX,3
007A3E93|.E8 9C09C6FF   CALL 3A5184.00404834
007A3E98|.8D45 F8       LEA EAX,DWORD PTR SS:
007A3E9B|.BA 02000000   MOV EDX,2
007A3EA0|.E8 8F09C6FF   CALL 3A5184.00404834
007A3EA5\.C3            RETN
007A3EA6   .^ E9 C902C6FF   JMP 3A5184.00404174
007A3EAB   .^ EB DE         JMP SHORT 3A5184.007A3E8B
007A3EAD   .5B            POP EBX
007A3EAE   .8BE5          MOV ESP,EBP
007A3EB0   .5D            POP EBP
007A3EB1   .C3            RETN
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
007A3FB0   $55            PUSH EBP
007A3FB1   .8BEC          MOV EBP,ESP
007A3FB3   .51            PUSH ECX
007A3FB4   .B9 0A000000   MOV ECX,0A
007A3FB9   >6A 00         PUSH 0
007A3FBB   .6A 00         PUSH 0
007A3FBD   .49            DEC ECX
007A3FBE   .^ 75 F9         JNZ SHORT 3A5184.007A3FB9
007A3FC0   .51            PUSH ECX
007A3FC1   .874D FC       XCHG DWORD PTR SS:,ECX
007A3FC4   .53            PUSH EBX
007A3FC5   .56            PUSH ESI
007A3FC6   .57            PUSH EDI
007A3FC7   .894D F4       MOV DWORD PTR SS:,ECX                  ;//=ECX=注册码
007A3FCA   .8955 F8       MOV DWORD PTR SS:,EDX                  ;//=EDX=用户名
007A3FCD   .8945 FC       MOV DWORD PTR SS:,EAX
007A3FD0   .8B45 F8       MOV EAX,DWORD PTR SS:                  ;//EAX==用户名
007A3FD3   .E8 F80CC6FF   CALL 3A5184.00404CD0
007A3FD8   .8B45 F4       MOV EAX,DWORD PTR SS:                  ;//EAX==注册码
007A3FDB   .E8 F00CC6FF   CALL 3A5184.00404CD0
007A3FE0   .33C0          XOR EAX,EAX
007A3FE2   .55            PUSH EBP
007A3FE3   .68 3C427A00   PUSH 3A5184.007A423C
007A3FE8   .64:FF30       PUSH DWORD PTR FS:
007A3FEB   .64:8920       MOV DWORD PTR FS:,ESP
007A3FEE   .33C0          XOR EAX,EAX
007A3FF0   .55            PUSH EBP
007A3FF1   .68 A9417A00   PUSH 3A5184.007A41A9
007A3FF6   .64:FF30       PUSH DWORD PTR FS:
007A3FF9   .64:8920       MOV DWORD PTR FS:,ESP
007A3FFC   .A1 98F47C00   MOV EAX,DWORD PTR DS:
007A4001   .8B00          MOV EAX,DWORD PTR DS:
007A4003   .05 80030000   ADD EAX,380
007A4008   .8B55 F8       MOV EDX,DWORD PTR SS:                  ;//EDX==用户名
007A400B   .E8 5408C6FF   CALL 3A5184.00404864
007A4010   .FF75 F8       PUSH DWORD PTR SS:
007A4013   .8D4D D8       LEA ECX,DWORD PTR SS:
007A4016   .A1 98F47C00   MOV EAX,DWORD PTR DS:
007A401B   .8B00          MOV EAX,DWORD PTR DS:
007A401D   .8B80 30030000 MOV EAX,DWORD PTR DS:
007A4023   .BA 03000000   MOV EDX,3
007A4028   .E8 33BBD9FF   CALL 3A5184.0053FB60
007A402D   .FF75 D8       PUSH DWORD PTR SS:                      ;//字符串"falcon35"
007A4030   .8D4D D4       LEA ECX,DWORD PTR SS:
007A4033   .A1 98F47C00   MOV EAX,DWORD PTR DS:
007A4038   .8B00          MOV EAX,DWORD PTR DS:
007A403A   .8B80 30030000 MOV EAX,DWORD PTR DS:
007A4040   .BA 02000000   MOV EDX,2
007A4045   .E8 16BBD9FF   CALL 3A5184.0053FB60
007A404A   .FF75 D4       PUSH DWORD PTR SS:                      ;//字符串"3.5.5.0"
007A404D   .8D45 DC       LEA EAX,DWORD PTR SS:
007A4050   .BA 03000000   MOV EDX,3
007A4055   .E8 460BC6FF   CALL 3A5184.00404BA0
007A405A   .8B55 DC       MOV EDX,DWORD PTR SS:                   ;//EDX=用户名+falcon353.5.5.0
007A405D   .8D45 E0       LEA EAX,DWORD PTR SS:
007A4060   .E8 4B10C6FF   CALL 3A5184.004050B0
007A4065   .8B45 E0       MOV EAX,DWORD PTR SS:                   ;//EAX=用户名+falcon353.5.5.0
007A4068   .8D55 E4       LEA EDX,DWORD PTR SS:
007A406B   .E8 ECE4F7FF   CALL 3A5184.0072255C                            ;//第1次MD5运算
007A4070   .8B45 E4       MOV EAX,DWORD PTR SS:                   ;//EAX=第1次MD5代码小写字符串
007A4073   .8D55 E8       LEA EDX,DWORD PTR SS:
007A4076   .E8 E1E4F7FF   CALL 3A5184.0072255C                            ;//第2次MD5运算
007A407B   .8B55 E8       MOV EDX,DWORD PTR SS:                   ;//EDX=第2次MD5代码小写字符串
007A407E   .8D45 F0       LEA EAX,DWORD PTR SS:
007A4081   .E8 220AC6FF   CALL 3A5184.00404AA8
007A4086   .8D45 C4       LEA EAX,DWORD PTR SS:
007A4089   .50            PUSH EAX
007A408A   .B9 05000000   MOV ECX,5
007A408F   .33D2          XOR EDX,EDX
007A4091   .8B45 F0       MOV EAX,DWORD PTR SS:                   ;//EAX=第2次MD5代码小写字符串
007A4094   .E8 A70CC6FF   CALL 3A5184.00404D40                            ;//取第2次MD5代码小写字符串的1-5位
007A4099   .FF75 C4       PUSH DWORD PTR SS:                      ;//第2次MD5代码小写字符串的1-5位
007A409C   .68 54427A00   PUSH 3A5184.007A4254                            ;-
007A40A1   .8D45 C0       LEA EAX,DWORD PTR SS:
007A40A4   .50            PUSH EAX
007A40A5   .B9 05000000   MOV ECX,5
007A40AA   .BA 05000000   MOV EDX,5
007A40AF   .8B45 F0       MOV EAX,DWORD PTR SS:                   ;//EAX=第2次MD5代码小写字符串
007A40B2   .E8 890CC6FF   CALL 3A5184.00404D40                            ;//取第2次MD5代码小写字符串的5-9位
007A40B7   .FF75 C0       PUSH DWORD PTR SS:                      ;//第2次MD5代码小写字符串的5-9位
007A40BA   .68 54427A00   PUSH 3A5184.007A4254                            ;-
007A40BF   .8D45 BC       LEA EAX,DWORD PTR SS:
007A40C2   .50            PUSH EAX
007A40C3   .B9 05000000   MOV ECX,5
007A40C8   .BA 0A000000   MOV EDX,0A
007A40CD   .8B45 F0       MOV EAX,DWORD PTR SS:                   ;//EAX=第2次MD5代码小写字符串
007A40D0   .E8 6B0CC6FF   CALL 3A5184.00404D40                            ;//取第2次MD5代码小写字符串的10-14位
007A40D5   .FF75 BC       PUSH DWORD PTR SS:                      ;//第2次MD5代码小写字符串的10-14位
007A40D8   .68 54427A00   PUSH 3A5184.007A4254                            ;-
007A40DD   .8D45 B8       LEA EAX,DWORD PTR SS:
007A40E0   .50            PUSH EAX
007A40E1   .B9 05000000   MOV ECX,5
007A40E6   .BA 0F000000   MOV EDX,0F
007A40EB   .8B45 F0       MOV EAX,DWORD PTR SS:                   ;//EAX=第2次MD5代码小写字符串
007A40EE   .E8 4D0CC6FF   CALL 3A5184.00404D40                            ;//取第2次MD5代码小写字符串的15-19位
007A40F3   .FF75 B8       PUSH DWORD PTR SS:                      ;//第2次MD5代码小写字符串的15-19位
007A40F6   .8D45 C8       LEA EAX,DWORD PTR SS:
007A40F9   .BA 07000000   MOV EDX,7
007A40FE   .E8 9D0AC6FF   CALL 3A5184.00404BA0
007A4103   .8B55 C8       MOV EDX,DWORD PTR SS:                   ;//EDX=真码
007A4106   .8D45 CC       LEA EAX,DWORD PTR SS:
007A4109   .E8 A20FC6FF   CALL 3A5184.004050B0
007A410E   .8B45 CC       MOV EAX,DWORD PTR SS:
007A4111   .8D55 D0       LEA EDX,DWORD PTR SS:
007A4114   .E8 43E4F7FF   CALL 3A5184.0072255C                            ;(初始 cpu 选择)
007A4119   .8B55 D0       MOV EDX,DWORD PTR SS:                   ;//EDX=真码MD5代码小写字符串
007A411C   .8D45 EC       LEA EAX,DWORD PTR SS:
007A411F   .E8 8409C6FF   CALL 3A5184.00404AA8
007A4124   .8D45 B0       LEA EAX,DWORD PTR SS:
007A4127   .8B55 F4       MOV EDX,DWORD PTR SS:                  ;//EDX==试练码
007A412A   .E8 810FC6FF   CALL 3A5184.004050B0
007A412F   .8B45 B0       MOV EAX,DWORD PTR SS:                   ;//EAX==试练码
007A4132   .8D55 B4       LEA EDX,DWORD PTR SS:
007A4135   .E8 22E4F7FF   CALL 3A5184.0072255C                            ;//试练码作MD5运算
007A413A   .8B45 B4       MOV EAX,DWORD PTR SS:                   ;//EDX=试练码MD5代码小写字符串
007A413D   .50            PUSH EAX
007A413E   .8D45 AC       LEA EAX,DWORD PTR SS:
007A4141   .8B55 EC       MOV EDX,DWORD PTR SS:
007A4144   .E8 670FC6FF   CALL 3A5184.004050B0
007A4149   .8B55 AC       MOV EDX,DWORD PTR SS:                   ;//EDX=真码MD5代码小写字符串
007A414C   .58            POP EAX                                       ;//EAX=试练码MD5代码小写字符串
007A414D   .E8 9610C6FF   CALL 3A5184.004051E8                            ;//比较CALL
007A4152   .75 3F         JNZ SHORT 3A5184.007A4193                     ;//关键跳转
007A4154   .68 60427A00   PUSH 3A5184.007A4260                            ;update info_company set

s_usetimes=88,s_regname="
007A4159   .FF75 F8       PUSH DWORD PTR SS:
007A415C   .68 9C427A00   PUSH 3A5184.007A429C                            ;",s_regno="
007A4161   .FF75 F4       PUSH DWORD PTR SS:                     ;//注册信息
007A4164   .68 B0427A00   PUSH 3A5184.007A42B0                            ;"
007A4169   .8D45 A8       LEA EAX,DWORD PTR SS:
007A416C   .BA 05000000   MOV EDX,5
007A4171   .E8 2A0AC6FF   CALL 3A5184.00404BA0
007A4176   .8B55 A8       MOV EDX,DWORD PTR SS:
007A4179   .A1 98F47C00   MOV EAX,DWORD PTR DS:
007A417E   .8B00          MOV EAX,DWORD PTR DS:
007A4180   .E8 63E0FFFF   CALL 3A5184.007A21E8
007A4185   .8B45 FC       MOV EAX,DWORD PTR SS:
007A4188   .C680 1C030000>MOV BYTE PTR DS:,1
007A418F   .B3 01         MOV BL,1                                        ;//BL=1
007A4191   .EB 0C         JMP SHORT 3A5184.007A419F
007A4193   >8B45 FC       MOV EAX,DWORD PTR SS:
007A4196   .C680 1C030000>MOV BYTE PTR DS:,0
007A419D   .33DB          XOR EBX,EBX
007A419F   >33C0          XOR EAX,EAX
007A41A1   .5A            POP EDX
007A41A2   .59            POP ECX
007A41A3   .59            POP ECX
007A41A4   .64:8910       MOV DWORD PTR FS:,EDX
007A41A7   .EB 2F         JMP SHORT 3A5184.007A41D8
007A41A9   .^ E9 12FDC5FF   JMP 3A5184.00403EC0
007A41AE   .E8 BDE6C5FF   CALL 3A5184.00402870
007A41B3   .8B50 04       MOV EDX,DWORD PTR DS:
007A41B6   .A1 98F47C00   MOV EAX,DWORD PTR DS:
007A41BB   .8B00          MOV EAX,DWORD PTR DS:
007A41BD   .B9 BC427A00   MOV ECX,3A5184.007A42BC                         ;请输入用户名和密码,点击登录
007A41C2   .E8 C9DDFFFF   CALL 3A5184.007A1F90
007A41C7   .8B45 FC       MOV EAX,DWORD PTR SS:
007A41CA   .C680 1C030000>MOV BYTE PTR DS:,0
007A41D1   .33DB          XOR EBX,EBX
007A41D3   .E8 5000C6FF   CALL 3A5184.00404228
007A41D8   >33C0          XOR EAX,EAX
007A41DA   .5A            POP EDX
007A41DB   .59            POP ECX
007A41DC   .59            POP ECX
007A41DD   .64:8910       MOV DWORD PTR FS:,EDX
007A41E0   .68 43427A00   PUSH 3A5184.007A4243
007A41E5   >8D45 A8       LEA EAX,DWORD PTR SS:
007A41E8   .E8 2306C6FF   CALL 3A5184.00404810
007A41ED   .8D45 AC       LEA EAX,DWORD PTR SS:
007A41F0   .BA 03000000   MOV EDX,3
007A41F5   .E8 4A0DC6FF   CALL 3A5184.00404F44
007A41FA   .8D45 B8       LEA EAX,DWORD PTR SS:
007A41FD   .BA 05000000   MOV EDX,5
007A4202   .E8 2D06C6FF   CALL 3A5184.00404834
007A4207   .8D45 CC       LEA EAX,DWORD PTR SS:
007A420A   .BA 02000000   MOV EDX,2
007A420F   .E8 300DC6FF   CALL 3A5184.00404F44
007A4214   .8D45 D4       LEA EAX,DWORD PTR SS:
007A4217   .BA 03000000   MOV EDX,3
007A421C   .E8 1306C6FF   CALL 3A5184.00404834
007A4221   .8D45 E0       LEA EAX,DWORD PTR SS:
007A4224   .BA 03000000   MOV EDX,3
007A4229   .E8 160DC6FF   CALL 3A5184.00404F44
007A422E   .8D45 EC       LEA EAX,DWORD PTR SS:
007A4231   .BA 04000000   MOV EDX,4
007A4236   .E8 F905C6FF   CALL 3A5184.00404834
007A423B   .C3            RETN
007A423C   .^ E9 33FFC5FF   JMP 3A5184.00404174
007A4241   .^ EB A2         JMP SHORT 3A5184.007A41E5
007A4243   .8BC3          MOV EAX,EBX                                     ;//EAX=EBX
007A4245   .5F            POP EDI
007A4246   .5E            POP ESI
007A4247   .5B            POP EBX
007A4248   .8BE5          MOV ESP,EBP
007A424A   .5D            POP EBP
007A424B   .C3            RETN
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0072255C/$55            PUSH EBP
0072255D|.8BEC          MOV EBP,ESP
0072255F|.83C4 E4       ADD ESP,-1C
00722562|.53            PUSH EBX
00722563|.33C9          XOR ECX,ECX
00722565|.894D F8       MOV DWORD PTR SS:,ECX
00722568|.894D E4       MOV DWORD PTR SS:,ECX
0072256B|.8BDA          MOV EBX,EDX
0072256D|.8945 FC       MOV DWORD PTR SS:,EAX
00722570|.8D45 FC       LEA EAX,DWORD PTR SS:
00722573|.E8 D42DCEFF   CALL 3A5184.0040534C
00722578|.33C0          XOR EAX,EAX
0072257A|.55            PUSH EBP
0072257B|.68 DB257200   PUSH 3A5184.007225DB
00722580|.64:FF30       PUSH DWORD PTR FS:
00722583|.64:8920       MOV DWORD PTR FS:,ESP
00722586|.8D45 E4       LEA EAX,DWORD PTR SS:
00722589|.8B55 FC       MOV EDX,DWORD PTR SS:
0072258C|.E8 1725CEFF   CALL 3A5184.00404AA8
00722591|.8B45 E4       MOV EAX,DWORD PTR SS:
00722594|.50            PUSH EAX
00722595|.8D45 E8       LEA EAX,DWORD PTR SS:
00722598|.50            PUSH EAX
00722599|.E8 9EFEFFFF   CALL 3A5184.0072243C                            ;//标准MD5运算
0072259E|.8D45 E8       LEA EAX,DWORD PTR SS:
007225A1|.50            PUSH EAX
007225A2|.8D45 F8       LEA EAX,DWORD PTR SS:
007225A5|.50            PUSH EAX
007225A6|.E8 01FFFFFF   CALL 3A5184.007224AC                            ;//MD5代码转小写字符串形式
007225AB|.8B55 F8       MOV EDX,DWORD PTR SS:                  ;//EDX=MD5代码小写字符串
007225AE|.8BC3          MOV EAX,EBX
007225B0|.E8 FB2ACEFF   CALL 3A5184.004050B0
007225B5|.33C0          XOR EAX,EAX
007225B7|.5A            POP EDX
007225B8|.59            POP ECX
007225B9|.59            POP ECX
007225BA|.64:8910       MOV DWORD PTR FS:,EDX
007225BD|.68 E2257200   PUSH 3A5184.007225E2
007225C2|>8D45 E4       LEA EAX,DWORD PTR SS:
007225C5|.E8 4622CEFF   CALL 3A5184.00404810
007225CA|.8D45 F8       LEA EAX,DWORD PTR SS:
007225CD|.E8 3E22CEFF   CALL 3A5184.00404810
007225D2|.8D45 FC       LEA EAX,DWORD PTR SS:
007225D5|.E8 5229CEFF   CALL 3A5184.00404F2C
007225DA\.C3            RETN
007225DB   .^ E9 941BCEFF   JMP 3A5184.00404174
007225E0   .^ EB E0         JMP SHORT 3A5184.007225C2
007225E2   .5B            POP EBX
007225E3   .8BE5          MOV ESP,EBP
007225E5   .5D            POP EBP
007225E6   .C3            RETN
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
启动验证
007A13F3   .BA 541C7A00   MOV EDX,3A5184.007A1C54                  ;update info_company set s_ver="3.5.3.6"
007A13F8   .8B45 FC       MOV EAX,DWORD PTR SS:
007A13FB   .E8 E80D0000   CALL 3A5184.007A21E8
007A1400   .E8 232EC6FF   CALL 3A5184.00404228
007A1405   >A1 00FA7C00   MOV EAX,DWORD PTR DS:
007A140A   .8B00          MOV EAX,DWORD PTR DS:
007A140C   .8B80 9C030000 MOV EAX,DWORD PTR DS:
007A1412   .E8 49E2D8FF   CALL 3A5184.0052F660
007A1417   .A1 00FA7C00   MOV EAX,DWORD PTR DS:
007A141C   .8B00          MOV EAX,DWORD PTR DS:
007A141E   .8B80 9C030000 MOV EAX,DWORD PTR DS:
007A1424   .BA 841C7A00   MOV EDX,3A5184.007A1C84                  ;s_name
007A1429   .E8 C6F2D8FF   CALL 3A5184.005306F4
007A142E   .8D55 D8       LEA EDX,DWORD PTR SS:
007A1431   .8B08          MOV ECX,DWORD PTR DS:
007A1433   .FF51 60       CALL DWORD PTR DS:
007A1436   .8B55 D8       MOV EDX,DWORD PTR SS:
007A1439   .8B45 FC       MOV EAX,DWORD PTR SS:
007A143C   .05 78030000   ADD EAX,378
007A1441   .E8 1E34C6FF   CALL 3A5184.00404864
007A1446   .A1 00FA7C00   MOV EAX,DWORD PTR DS:
007A144B   .8B00          MOV EAX,DWORD PTR DS:
007A144D   .8B80 9C030000 MOV EAX,DWORD PTR DS:
007A1453   .BA 941C7A00   MOV EDX,3A5184.007A1C94                  ;s_usetimes
007A1458   .E8 97F2D8FF   CALL 3A5184.005306F4
007A145D   .8B10          MOV EDX,DWORD PTR DS:
007A145F   .FF52 58       CALL DWORD PTR DS:
007A1462   .8BD8          MOV EBX,EAX
007A1464   .8B45 FC       MOV EAX,DWORD PTR SS:
007A1467   .8998 70030000 MOV DWORD PTR DS:,EBX
007A146D   .83FB 58       CMP EBX,58
007A1470   .75 0D         JNZ SHORT 3A5184.007A147F
007A1472   .8B45 FC       MOV EAX,DWORD PTR SS:
007A1475   .C780 70030000>MOV DWORD PTR DS:,0A
007A147F   >8B45 FC       MOV EAX,DWORD PTR SS:
007A1482   .83B8 70030000>CMP DWORD PTR DS:,58
007A1489   .0F84 2A010000 JE 3A5184.007A15B9                     ;//改为JMP
007A148F   .8B45 FC       MOV EAX,DWORD PTR SS:
007A1492   .05 80030000   ADD EAX,380
007A1497   .BA A81C7A00   MOV EDX,3A5184.007A1CA8                  ;未注册
007A149C   .E8 C333C6FF   CALL 3A5184.00404864
007A14A1   .8B45 FC       MOV EAX,DWORD PTR SS:
007A14A4   .05 84030000   ADD EAX,384
007A14A9   .E8 6233C6FF   CALL 3A5184.00404810
007A14AE   .8B45 FC       MOV EAX,DWORD PTR SS:
007A14B1   .8B98 70030000 MOV EBX,DWORD PTR DS:
007A14B7   .85DB          TEST EBX,EBX
007A14B9   .7E 69         JLE SHORT 3A5184.007A1524
007A14BB   .8B45 FC       MOV EAX,DWORD PTR SS:
007A14BE   .FFB0 80030000 PUSH DWORD PTR DS:
007A14C4   .68 B81C7A00   PUSH 3A5184.007A1CB8                     ;   还可使用
007A14C9   .8D55 D0       LEA EDX,DWORD PTR SS:
007A14CC   .8BC3          MOV EAX,EBX
007A14CE   .E8 E186C6FF   CALL 3A5184.00409BB4
007A14D3   .FF75 D0       PUSH DWORD PTR SS:
007A14D6   .68 CC1C7A00   PUSH 3A5184.007A1CCC                     ;次
007A14DB   .8D45 D4       LEA EAX,DWORD PTR SS:
007A14DE   .BA 04000000   MOV EDX,4
007A14E3   .E8 B836C6FF   CALL 3A5184.00404BA0
007A14E8   .8B55 D4       MOV EDX,DWORD PTR SS:
007A14EB   .8B45 FC       MOV EAX,DWORD PTR SS:
007A14EE   .8B80 58030000 MOV EAX,DWORD PTR DS:
007A14F4   .8B08          MOV ECX,DWORD PTR DS:
007A14F6   .FF91 CC000000 CALL DWORD PTR DS:
007A14FC   .8B45 FC       MOV EAX,DWORD PTR SS:
007A14FF   .8B80 58030000 MOV EAX,DWORD PTR DS:
007A1505   .8B40 68       MOV EAX,DWORD PTR DS:
007A1508   .BA 0000FF00   MOV EDX,0FF0000
007A150D   .E8 02B6C8FF   CALL 3A5184.0042CB14
007A1512   .BA D81C7A00   MOV EDX,3A5184.007A1CD8                  ;update info_company set s_usetimes=s_usetimes-1
007A1517   .8B45 FC       MOV EAX,DWORD PTR SS:
007A151A   .E8 C90C0000   CALL 3A5184.007A21E8
007A151F   .E9 30010000   JMP 3A5184.007A1654
007A1524   >8B45 FC       MOV EAX,DWORD PTR SS:
007A1527   .8B90 80030000 MOV EDX,DWORD PTR DS:
007A152D   .8D45 CC       LEA EAX,DWORD PTR SS:
007A1530   .B9 101D7A00   MOV ECX,3A5184.007A1D10                  ;   请点击[关于]进行注册
007A1535   .E8 F235C6FF   CALL 3A5184.00404B2C
007A153A   .8B55 CC       MOV EDX,DWORD PTR SS:**************************************************************
【破解总结】
比较真码与假码的MD5值,有创意,可是真码却是明码,汗
--------------------------------------------------------------
【算法总结】
字符串:
LCase(MD5(LCase(MD5(用户名&"falcon353.5.5.0"))))

注册码:A-B-C-D
A=Mid(字符串,1,5)
B=Mid(字符串,5,5)
C=Mid(字符串,10,5)
D=Mid(字符串,15,5)
--------------------------------------------------------------
【算法注册机】
(略)
--------------------------------------------------------------
【内存注册机】
中断地址 7A4106
中断次数 1
第一字节 8D
指令长度 3

内存方式-寄存器-EDX
--------------------------------------------------------------
【爆破地址】
007A1489   .0F84 2A010000 JE 3A5184.007A15B9
将JE改为JMP
--------------------------------------------------------------
【注册信息】
用户名:abcdef
注册码:7487e-e909c-c197b-8afff
--------------------------------------------------------------
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

月之精灵 发表于 2008-2-20 23:03:28

向楼主学习,写得很详细。/:001

qzxlt 发表于 2008-2-20 23:13:34

原版哪里下载 我也想试一下
页: [1]
查看完整版本: XXX人事管理系统算法分析