处理 SSI 文件时出错
欢 迎 光 临 赤龙帝国's BLog

 ||  

这就是我
最新公告
管理我的BLOG
站点日历
<<  < 2006 - >  >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
最新日志
最新回复
最新留言
 日志搜索

友情链接
处理 SSI 文件时出错
其他信息
·【转贴】一个桌面软件的破解及注册算法分析     -|松下老者 发表于 2005-9-4 20:52:00
【软件介绍】:桌面软件
【软件下载】:http://gamerstower.com/updates/
【软件限制】:注册码 
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教! 
【破解工具】:PEiD, DeDe, OllyDbg, W32DSM, FileMon
【破解过程】: 

软件无壳, PEiD 检测为 Borland Delphi 6.0-7.0

用OLLYDBG载入
004C4F20 >/$  55            PUSH EBP                                 ; 停在这儿, F8先单步跟几下
004C4F21  |.  8BEC          MOV EBP,ESP
004C4F23  |.  83C4 E4       ADD ESP,-1C
004C4F26  |.  53            PUSH EBX
004C4F27  |.  33C0          XOR EAX,EAX
...
004C50B4  |.  A1 40B74C00   MOV EAX,DWORD PTR DS:[4CB740]            ; [4CB740]=4CA7C0
004C50B9  |.  8038 00       CMP BYTE PTR DS:[EAX],0                  ; [4CA7C0]=1, 会出现注册提示
004C50BC  |.  75 14         JNZ SHORT MUD2004.004C50D2
004C50BE  |.  A1 60B44C00   MOV EAX,DWORD PTR DS:[4CB460]
004C50C3  |.  8038 00       CMP BYTE PTR DS:[EAX],0
004C50C6  |.  74 2B         JE SHORT MUD2004.004C50F3
004C50C8  |.  A1 54B64C00   MOV EAX,DWORD PTR DS:[4CB654]
004C50CD  |.  8038 00       CMP BYTE PTR DS:[EAX],0
004C50D0  |.  75 21         JNZ SHORT MUD2004.004C50F3
004C50D2  |>  6A 00         PUSH 0                                   ; /Arg1 = 00000000
004C50D4  |.  66:8B0D 50534>MOV CX,WORD PTR DS:[4C5350]              ; |
004C50DB  |.  B2 03         MOV DL,3                                 ; |
004C50DD  |.  B8 5C534C00   MOV EAX,MUD2004.004C535C                 ; |ASCII "Do you want to register your copy Multi User Desktop 2004?"
004C50E2  |.  E8 B1A2F7FF   CALL MUD2004.0043F398                    ; \MUD2004.0043F398
004C50E7  |.  83F8 06       CMP EAX,6
004C50EA  |.  75 07         JNZ SHORT MUD2004.004C50F3
004C50EC  |.  C605 E4B14C00>MOV BYTE PTR DS:[4CB1E4],1
004C50F3  |>  A1 54B64C00   MOV EAX,DWORD PTR DS:[4CB654]            ; [4CB654]=4CA7D8
004C50F8  |.  8038 00       CMP BYTE PTR DS:[EAX],0                  ; 如果[4CA7D8]=1,  会出现激活提示
004C50FB  |.  74 21         JE SHORT MUD2004.004C511E
004C50FD  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
004C50FF  |.  66:8B0D 50534>MOV CX,WORD PTR DS:[4C5350]              ; |
004C5106  |.  B2 03         MOV DL,3                                 ; |
004C5108  |.  B8 A0534C00   MOV EAX,MUD2004.004C53A0                 ; |ASCII "Do you want to activate your copy Multi User Desktop 2004?"
004C510D  |.  E8 86A2F7FF   CALL MUD2004.0043F398                    ; \MUD2004.0043F398
004C5112  |.  83F8 06       CMP EAX,6
004C5115  |.  75 07         JNZ SHORT MUD2004.004C511E
004C5117  |.  C605 E8B14C00>MOV BYTE PTR DS:[4CB1E8],1
004C511E  |>  A1 B0B54C00   MOV EAX,DWORD PTR DS:[4CB5B0]
...


收获:
[4CB740]=4CA7C0
[4CA7C0]=1, 会出现注册提示
[4CB654]=4CA7D8
[4CA7D8]=1, 会出现激活提示


用 DeDe3.50 分析, 再配合OLLYDBG动态跟踪:

procedure TMD2004SettingsWnd.FormCreate(Sender : TObject);
004B9E34  /.  55            PUSH EBP
004B9E35  |.  8BEC          MOV EBP,ESP
004B9E37  |.  33C9          XOR ECX,ECX
...

* Reference to: Unit_00491B98.Proc_004922CC
|
004B9EB4  |.  E8 1384FDFF   CALL MUD2004.004922CC                    ; 重要的CALL, 需要仔细跟踪与分析
004B9EB9  |.  A1 40B74C00   MOV EAX,DWORD PTR DS:[4CB740]            ; [4CB740]=4CA7C0
004B9EBE  |.  8038 00       CMP BYTE PTR DS:[EAX],0                  ; [4CA7C0]=01, need_register
004B9EC1  |.  75 18         JNZ SHORT MUD2004.004B9EDB
004B9EC3  |.  A1 60B44C00   MOV EAX,DWORD PTR DS:[4CB460]
004B9EC8  |.  8038 00       CMP BYTE PTR DS:[EAX],0
004B9ECB  |.  74 0A         JE SHORT MUD2004.004B9ED7
004B9ECD  |.  A1 54B64C00   MOV EAX,DWORD PTR DS:[4CB654]            ; [4CB654]=4CA7D8
004B9ED2  |.  8038 00       CMP BYTE PTR DS:[EAX],0                  ; [4CA7D8]=01, need_activate
004B9ED5  |.  74 04         JE SHORT MUD2004.004B9EDB
004B9ED7  |>  33D2          XOR EDX,EDX
004B9ED9  |.  EB 02         JMP SHORT MUD2004.004B9EDD
004B9EDB  |>  B2 01         MOV DL,1

* Reference to control TMD2004SettingsWnd.tsRegistration : TTabSheet
|
004B9EDD  |>  8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC]

* Reference to: ComCtrls.TTabSheet.SetTabVisible(TTabSheet;Boolean);
|
004B9EE3  |.  E8 842DFEFF   CALL MUD2004.0049CC6C
004B9EE8  |.  8B15 54B64C00 MOV EDX,DWORD PTR DS:[4CB654]            ;  MUD2004.004CA7D8
004B9EEE  |.  8A12          MOV DL,BYTE PTR DS:[EDX]

* Reference to control TMD2004SettingsWnd.tsAct : TTabSheet
|
004B9EF0  |.  8B83 E8030000 MOV EAX,DWORD PTR DS:[EBX+3E8]

* Reference to: ComCtrls.TTabSheet.SetTabVisible(TTabSheet;Boolean);
|
004B9EF6  |.  E8 712DFEFF   CALL MUD2004.0049CC6C
004B9EFB  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]

* Reference to: Unit_00484894.Proc_00484BA8
|
004B9EFE  |.  E8 A5ACFCFF   CALL MUD2004.00484BA8
004B9F03  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]

* Reference to control TMD2004SettingsWnd.eUser : TLabeledEdit
|
004B9F06  |.  8B83 C4030000 MOV EAX,DWORD PTR DS:[EBX+3C4]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
004B9F0C  |.  E8 63BEF8FF   CALL MUD2004.00445D74
004B9F11  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
004B9F14  |.  A1 F4B54C00   MOV EAX,DWORD PTR DS:[4CB5F4]            ; [4CB5F4]=4CA7C8
004B9F19  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]               ; [4CA7C8]=trial_period days

* Reference to: Unit_00407F88.Proc_00408F9C
|
004B9F1B  |.  E8 7CF0F4FF   CALL MUD2004.00408F9C
004B9F20  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]

* Possible String Reference to: ' days'
|
004B9F23  |.  BA 94A14B00   MOV EDX,MUD2004.004BA194                 ;  ASCII " days"

* Reference to: System.@LStrCat;
|
004B9F28  |.  E8 17ABF4FF   CALL MUD2004.00404A44
004B9F2D  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]

* Reference to control TMD2004SettingsWnd.lPeriod : TLabel
|
004B9F30  |.  8B83 B8030000 MOV EAX,DWORD PTR DS:[EBX+3B8]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
004B9F36  |.  E8 39BEF8FF   CALL MUD2004.00445D74

* Reference to pointer to GlobalVar_004CD2D4
|
004B9F3B  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
004B9F3E  |.  A1 7CB74C00   MOV EAX,DWORD PTR DS:[4CB77C]            ; [4CB77C] = 4CD2D4
004B9F43  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]               ; [4CD2D4] = active_period days
...




004922CC  /$  55            PUSH EBP
004922CD  |.  8BEC          MOV EBP,ESP
004922CF  |.  E8 BCBEFDFF   CALL MUD2004.0046E190                    ; 检测调试器
004922D4  |.  84C0          TEST AL,AL
004922D6  |.  75 42         JNZ SHORT MUD2004.0049231A               ; 调试器被检测到, 跳
004922D8  |.  E8 83FBFFFF   CALL MUD2004.00491E60                    ; *******关键都在这里了, 需要仔细跟踪与分析
004922DD  |.  833D CCA74C00>CMP DWORD PTR DS:[4CA7CC],0              ; 0=trial version?
004922E4  |.  75 0E         JNZ SHORT MUD2004.004922F4               ; No
004922E6  |.  E8 EDF9FFFF   CALL MUD2004.00491CD8
004922EB  |.  C605 D8A74C00>MOV BYTE PTR DS:[4CA7D8],0               ; 0 = 不要显示激活
004922F2  |.  EB 4C         JMP SHORT MUD2004.00492340
004922F4  |>  C605 C0A74C00>MOV BYTE PTR DS:[4CA7C0],0               ; 0 = 不要显示注册
004922FB  |.  803D D8A74C00>CMP BYTE PTR DS:[4CA7D8],0               ; need_activate?
00492302  |.  74 09         JE SHORT MUD2004.0049230D                ; 
00492304  |.  833D D4D24C00>CMP DWORD PTR DS:[4CD2D4],0              ; activate_period==0?
0049230B  |.  74 04         JE SHORT MUD2004.00492311
0049230D  |>  33C0          XOR EAX,EAX                              ; expired=0
0049230F  |.  EB 02         JMP SHORT MUD2004.00492313
00492311  |>  B0 01         MOV AL,1                                 ; expired=1, 已过期
00492313  |>  A2 C4A74C00   MOV BYTE PTR DS:[4CA7C4],AL              ; expired
00492318  |.  EB 26         JMP SHORT MUD2004.00492340
//Debug_present, here
0049231A  |>  C605 C4A74C00>MOV BYTE PTR DS:[4CA7C4],0               ; No expired
00492321  |.  C605 D8A74C00>MOV BYTE PTR DS:[4CA7D8],0               ; No activate
00492328  |.  33C0          XOR EAX,EAX
0049232A  |.  A3 CCA74C00   MOV DWORD PTR DS:[4CA7CC],EAX            ; trial version
0049232F  |.  C605 C0A74C00>MOV BYTE PTR DS:[4CA7C0],1               ; need register
00492336  |.  C705 C8A74C00>MOV DWORD PTR DS:[4CA7C8],0E             ; trial_period = 14 days
00492340  |>  803D C4A74C00>CMP BYTE PTR DS:[4CA7C4],0               ; expired?
00492347  |.  74 25         JE SHORT MUD2004.0049236E
00492349  |.  803D D8A74C00>CMP BYTE PTR DS:[4CA7D8],0               ; need_activate?
00492350  |.  75 1C         JNZ SHORT MUD2004.0049236E
00492352  |.  33C0          XOR EAX,EAX
00492354  |.  A3 CCA74C00   MOV DWORD PTR DS:[4CA7CC],EAX            ; trial version
00492359  |.  C605 D8A74C00>MOV BYTE PTR DS:[4CA7D8],0               ; no activate
00492360  |.  C605 C0A74C00>MOV BYTE PTR DS:[4CA7C0],1               ; need_register
00492367  |.  33C0          XOR EAX,EAX
00492369  |.  A3 C8A74C00   MOV DWORD PTR DS:[4CA7C8],EAX            ; trial_period = 0 days
0049236E  |>  5D            POP EBP
0049236F  \.  C3            RETN


通过在OLLYDBG中动态修改下面的值, 很容易分析出各处的意义.
dword [004CD2D4]  activate_period
byte  [004CA7C0]  1=need_register
byte  [004CA7C4]  expired
dword [004CA7C8]  trial_period
dword [004CA7CC]  0=trial, 1= st, 2=pr,3=?
byte  [004CA7D8]  1=need_activate


若要在这里爆破, 可将
004922E4  75 0E         JNZ SHORT MUD2004.004922F4
改成 
004922E4  EB 0E         JMP SHORT MUD2004.004922F4

不过程序有自校验,还得破自校验, 


还是跟踪注册码,分析算法

用FileMon可看到, 输入username与registercode后, 软件对
C:\Documents and Settings\All Users\Application Data\Gamers Tower\Multi User Desktop 2004.lic
有读写, 用记事本打开, username 在第1行, registercode 在第2行

// 开始跟踪
00491E60   $  55            PUSH EBP
00491E61   .  8BEC          MOV EBP,ESP
00491E63   .  B9 42000000   MOV ECX,42
00491E68   >  6A 00         PUSH 0
00491E6A   .  6A 00         PUSH 0
00491E6C   .  49            DEC ECX
00491E6D   .^ 75 F9         JNZ SHORT MUD2004.00491E68
00491E6F   .  51            PUSH ECX
00491E70   .  33C0          XOR EAX,EAX
00491E72   .  55            PUSH EBP
00491E73   .  68 42224900   PUSH MUD2004.00492242
00491E78   .  64:FF30       PUSH DWORD PTR FS:[EAX]
00491E7B   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
00491E7E   .  8D85 24FEFFFF LEA EAX,DWORD PTR SS:[EBP-1DC]
00491E84   .  E8 9F8EFEFF   CALL MUD2004.0047AD28
00491E89   .  FFB5 24FEFFFF PUSH DWORD PTR SS:[EBP-1DC]
00491E8F   .  68 58224900   PUSH MUD2004.00492258
00491E94   .  68 64224900   PUSH MUD2004.00492264                    ;  ASCII "Gamers Tower"
00491E99   .  68 58224900   PUSH MUD2004.00492258
00491E9E   .  68 7C224900   PUSH MUD2004.0049227C                    ;  ASCII "Multi User Desktop 2004"
00491EA3   .  68 9C224900   PUSH MUD2004.0049229C                    ;  ASCII ".lic"
00491EA8   .  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
00491EAB   .  BA 06000000   MOV EDX,6
00491EB0   .  E8 472CF7FF   CALL MUD2004.00404AFC
00491EB5   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ; EAX=010A5A9C

010A5A9C  43 3A 5C 44 6F 63 75 6D 65 6E 74 73 20 61 6E 64  C:\Documents and
010A5AAC  20 53 65 74 74 69 6E 67 73 5C 41 6C 6C 20 55 73   Settings\All Us
010A5ABC  65 72 73 5C 41 70 70 6C 69 63 61 74 69 6F 6E 20  ers\Application
010A5ACC  44 61 74 61 5C 47 61 6D 65 72 73 20 54 6F 77 65  Data\Gamers Towe
010A5ADC  72 5C 4D 75 6C 74 69 20 55 73 65 72 20 44 65 73  r\Multi User Des
010A5AEC  6B 74 6F 70 20 32 30 30 34 2E 6C 69 63 00        ktop 2004.lic.


00491EB8   .  E8 9B74F7FF   CALL MUD2004.00409358
00491EBD   .  84C0          TEST AL,AL
00491EBF   .  74 6E         JE SHORT MUD2004.00491F2F
00491EC1   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00491EC4   .  8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
00491ECA   .  E8 6D0FF7FF   CALL MUD2004.00402E3C
00491ECF   .  8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
00491ED5   .  E8 F20CF7FF   CALL MUD2004.00402BCC
00491EDA   .  E8 250AF7FF   CALL MUD2004.00402904
00491EDF   .  BA D4A74C00   MOV EDX,MUD2004.004CA7D4
00491EE4   .  8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
00491EEA   .  E8 ED12F7FF   CALL MUD2004.004031DC
00491EEF   .  8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
00491EF5   .  E8 4E13F7FF   CALL MUD2004.00403248
00491EFA   .  E8 050AF7FF   CALL MUD2004.00402904
00491EFF   .  BA D0A74C00   MOV EDX,MUD2004.004CA7D0
00491F04   .  8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
00491F0A   .  E8 CD12F7FF   CALL MUD2004.004031DC
00491F0F   .  8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
00491F15   .  E8 2E13F7FF   CALL MUD2004.00403248
00491F1A   .  E8 E509F7FF   CALL MUD2004.00402904
00491F1F   .  8D85 28FEFFFF LEA EAX,DWORD PTR SS:[EBP-1D8]
00491F25   .  E8 DA0FF7FF   CALL MUD2004.00402F04
00491F2A   .  E8 D509F7FF   CALL MUD2004.00402904
00491F2F   >  33C0          XOR EAX,EAX
00491F31   .  A3 CCA74C00   MOV DWORD PTR DS:[4CA7CC],EAX
00491F36   .  8B15 D0A74C00 MOV EDX,DWORD PTR DS:[4CA7D0]            ; 输入的RegisterCode
00491F3C   .  A1 D4A74C00   MOV EAX,DWORD PTR DS:[4CA7D4]            ; 输入的UserName
00491F41   .  E8 76FBFFFF   CALL MUD2004.00491ABC                    ; *** 返回 EAX==-1 就 GAMEOVER
00491F46   .  8945 F4       MOV DWORD PTR SS:[EBP-C],EAX
00491F49   .  837D F4 FF    CMP DWORD PTR SS:[EBP-C],-1
00491F4D   .  0F8E E4000000 JLE MUD2004.00492037
00491F53   .  8D85 1CFEFFFF LEA EAX,DWORD PTR SS:[EBP-1E4]
00491F59   .  50            PUSH EAX
00491F5A   .  B9 02000000   MOV ECX,2
00491F5F   .  BA 06000000   MOV EDX,6
00491F64   .  A1 D0A74C00   MOV EAX,DWORD PTR DS:[4CA7D0]
00491F69   .  E8 262DF7FF   CALL MUD2004.00404C94
00491F6E   .  8B85 1CFEFFFF MOV EAX,DWORD PTR SS:[EBP-1E4]
00491F74   .  8D95 20FEFFFF LEA EDX,DWORD PTR SS:[EBP-1E0]
00491F7A   .  E8 E56CF7FF   CALL MUD2004.00408C64
00491F7F   .  8B85 20FEFFFF MOV EAX,DWORD PTR SS:[EBP-1E0]
00491F85   .  BA AC224900   MOV EDX,MUD2004.004922AC                 ;  ASCII "ST"
00491F8A   .  E8 F12BF7FF   CALL MUD2004.00404B80
00491F8F   .  75 0A         JNZ SHORT MUD2004.00491F9B
00491F91   .  C705 CCA74C00>MOV DWORD PTR DS:[4CA7CC],1              ; 1 = Standard Version
00491F9B   >  8D85 14FEFFFF LEA EAX,DWORD PTR SS:[EBP-1EC]
00491FA1   .  50            PUSH EAX
00491FA2   .  B9 02000000   MOV ECX,2
00491FA7   .  BA 06000000   MOV EDX,6
00491FAC   .  A1 D0A74C00   MOV EAX,DWORD PTR DS:[4CA7D0]
00491FB1   .  E8 DE2CF7FF   CALL MUD2004.00404C94
00491FB6   .  8B85 14FEFFFF MOV EAX,DWORD PTR SS:[EBP-1EC]
00491FBC   .  8D95 18FEFFFF LEA EDX,DWORD PTR SS:[EBP-1E8]
00491FC2   .  E8 9D6CF7FF   CALL MUD2004.00408C64
00491FC7   .  8B85 18FEFFFF MOV EAX,DWORD PTR SS:[EBP-1E8]
00491FCD   .  BA B8224900   MOV EDX,MUD2004.004922B8                 ;  ASCII "PR"
00491FD2   .  E8 A92BF7FF   CALL MUD2004.00404B80
00491FD7   . /75 0A         JNZ SHORT MUD2004.00491FE3
00491FD9   . |C705 CCA74C00>MOV DWORD PTR DS:[4CA7CC],2              ; 2 = Professional Version
00491FE3   > \8D85 0CFEFFFF LEA EAX,DWORD PTR SS:[EBP-1F4]
00491FE9   .  50            PUSH EAX
00491FEA   .  B9 02000000   MOV ECX,2
00491FEF   .  BA 06000000   MOV EDX,6
00491FF4   .  A1 D0A74C00   MOV EAX,DWORD PTR DS:[4CA7D0]
00491FF9   .  E8 962CF7FF   CALL MUD2004.00404C94
00491FFE   .  8B85 0CFEFFFF MOV EAX,DWORD PTR SS:[EBP-1F4]
00492004   .  8D95 10FEFFFF LEA EDX,DWORD PTR SS:[EBP-1F0]
0049200A   .  E8 556CF7FF   CALL MUD2004.00408C64
0049200F   .  8B85 10FEFFFF MOV EAX,DWORD PTR SS:[EBP-1F0]
00492015   .  BA C4224900   MOV EDX,MUD2004.004922C4                 ;  ASCII "LT"
0049201A   .  E8 612BF7FF   CALL MUD2004.00404B80
0049201F   .  75 0A         JNZ SHORT MUD2004.0049202B
00492021   .  C705 CCA74C00>MOV DWORD PTR DS:[4CA7CC],3              ; 3 = LT version
0049202B   >  C605 D8A74C00>MOV BYTE PTR DS:[4CA7D8],0
00492032   .  E9 C5010000   JMP MUD2004.004921FC
00492037   >  33C0          XOR EAX,EAX                              ; 
00492039   .  8945 F4       MOV DWORD PTR SS:[EBP-C],EAX             ;  0 = Trial Version 
0049203C   .  8B0D C8B54C00 MOV ECX,DWORD PTR DS:[4CB5C8]            ;  MUD2004.004CCC3C
00492042   .  8B09          MOV ECX,DWORD PTR DS:[ECX]
00492044   .  B2 01         MOV DL,1
00492046   .  A1 48A34800   MOV EAX,DWORD PTR DS:[48A348]
0049204B   .  E8 8C84FFFF   CALL MUD2004.0048A4DC
00492050   .  8945 F8       MOV DWORD PTR SS:[EBP-8],EAX
00492053   .  A1 D0A74C00   MOV EAX,DWORD PTR DS:[4CA7D0]
00492058   .  E8 DF29F7FF   CALL MUD2004.00404A3C
0049205D   .  83F8 07       CMP EAX,7
00492060   .  0F8E 96010000 JLE MUD2004.004921FC
00492066   .  33C0          XOR EAX,EAX
00492068   .  55            PUSH EBP
00492069   .  68 F2214900   PUSH MUD2004.004921F2
0049206E   .  64:FF30       PUSH DWORD PTR FS:[EAX]
00492071   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
00492074   .  6A 00         PUSH 0
00492076   .  6A 00         PUSH 0
00492078   .  8D85 08FEFFFF LEA EAX,DWORD PTR SS:[EBP-1F8]
0049207E   .  8B15 D4A74C00 MOV EDX,DWORD PTR DS:[4CA7D4]
00492084   .  E8 772FF7FF   CALL MUD2004.00405000
00492089   .  8B85 08FEFFFF MOV EAX,DWORD PTR SS:[EBP-1F8]
0049208F   .  50            PUSH EAX
00492090   .  8D85 04FEFFFF LEA EAX,DWORD PTR SS:[EBP-1FC]
00492096   .  8B15 D0A74C00 MOV EDX,DWORD PTR DS:[4CA7D0]
0049209C   .  E8 5F2FF7FF   CALL MUD2004.00405000
004920A1   .  8B95 04FEFFFF MOV EDX,DWORD PTR SS:[EBP-1FC]
004920A7   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
004920AA   .  59            POP ECX
004920AB   .  E8 2885FFFF   CALL MUD2004.0048A5D8
004920B0   .  8945 F4       MOV DWORD PTR SS:[EBP-C],EAX
004920B3   .  33C0          XOR EAX,EAX
004920B5   .  5A            POP EDX
004920B6   .  59            POP ECX
004920B7   .  59            POP ECX
004920B8   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
004920BB   .  68 FC214900   PUSH MUD2004.004921FC
004920C0   >  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
004920C3   .  E8 CC18F7FF   CALL MUD2004.00403994
004920C8   .  837D F4 FF    CMP DWORD PTR SS:[EBP-C],-1
004920CC   .  0F8E 1F010000 JLE MUD2004.004921F1
004920D2   .  E8 898AF7FF   CALL MUD2004.0040AB60
004920D7   .  DB45 F4       FILD DWORD PTR SS:[EBP-C]
004920DA   .  DEE9          FSUBP ST(1),ST
004920DC   .  D825 C8224900 FSUB DWORD PTR DS:[4922C8]
004920E2   .  E8 4D0AF7FF   CALL MUD2004.00402B34
004920E7   .  BA 1E000000   MOV EDX,1E
004920EC   .  2BD0          SUB EDX,EAX
004920EE   .  8915 D4D24C00 MOV DWORD PTR DS:[4CD2D4],EDX
004920F4   .  833D D4D24C00>CMP DWORD PTR DS:[4CD2D4],0
004920FB   .  7C 09         JL SHORT MUD2004.00492106
004920FD   .  833D D4D24C00>CMP DWORD PTR DS:[4CD2D4],1E
00492104   .  7E 07         JLE SHORT MUD2004.0049210D
00492106   >  33C0          XOR EAX,EAX
00492108   .  A3 D4D24C00   MOV DWORD PTR DS:[4CD2D4],EAX
0049210D   >  E8 5AFCFFFF   CALL MUD2004.00491D6C
00492112   .  34 01         XOR AL,1
00492114   .  A2 D8A74C00   MOV BYTE PTR DS:[4CA7D8],AL
00492119   .  8D85 FCFDFFFF LEA EAX,DWORD PTR SS:[EBP-204]
0049211F   .  50            PUSH EAX
00492120   .  B9 02000000   MOV ECX,2
00492125   .  BA 06000000   MOV EDX,6
0049212A   .  A1 D0A74C00   MOV EAX,DWORD PTR DS:[4CA7D0]
0049212F   .  E8 602BF7FF   CALL MUD2004.00404C94
00492134   .  8B85 FCFDFFFF MOV EAX,DWORD PTR SS:[EBP-204]
0049213A   .  8D95 00FEFFFF LEA EDX,DWORD PTR SS:[EBP-200]
00492140   .  E8 1F6BF7FF   CALL MUD2004.00408C64
00492145   .  8B85 00FEFFFF MOV EAX,DWORD PTR SS:[EBP-200]
0049214B   .  BA AC224900   MOV EDX,MUD2004.004922AC                 ;  ASCII "ST"
00492150   .  E8 2B2AF7FF   CALL MUD2004.00404B80
00492155   .  75 0A         JNZ SHORT MUD2004.00492161
00492157   .  C705 CCA74C00>MOV DWORD PTR DS:[4CA7CC],1
00492161   >  8D85 F4FDFFFF LEA EAX,DWORD PTR SS:[EBP-20C]
00492167   .  50            PUSH EAX
00492168   .  B9 02000000   MOV ECX,2
0049216D   .  BA 06000000   MOV EDX,6
00492172   .  A1 D0A74C00   MOV EAX,DWORD PTR DS:[4CA7D0]
00492177   .  E8 182BF7FF   CALL MUD2004.00404C94
0049217C   .  8B85 F4FDFFFF MOV EAX,DWORD PTR SS:[EBP-20C]
00492182   .  8D95 F8FDFFFF LEA EDX,DWORD PTR SS:[EBP-208]
00492188   .  E8 D76AF7FF   CALL MUD2004.00408C64
0049218D   .  8B85 F8FDFFFF MOV EAX,DWORD PTR SS:[EBP-208]
00492193   .  BA B8224900   MOV EDX,MUD2004.004922B8                 ;  ASCII "PR"
00492198   .  E8 E329F7FF   CALL MUD2004.00404B80
0049219D   .  75 0A         JNZ SHORT MUD2004.004921A9
0049219F   .  C705 CCA74C00>MOV DWORD PTR DS:[4CA7CC],2
004921A9   >  8D85 ECFDFFFF LEA EAX,DWORD PTR SS:[EBP-214]
004921AF   .  50            PUSH EAX
004921B0   .  B9 02000000   MOV ECX,2
004921B5   .  BA 06000000   MOV EDX,6
004921BA   .  A1 D0A74C00   MOV EAX,DWORD PTR DS:[4CA7D0]
004921BF   .  E8 D02AF7FF   CALL MUD2004.00404C94
004921C4   .  8B85 ECFDFFFF MOV EAX,DWORD PTR SS:[EBP-214]
004921CA   .  8D95 F0FDFFFF LEA EDX,DWORD PTR SS:[EBP-210]
004921D0   .  E8 8F6AF7FF   CALL MUD2004.00408C64
004921D5   .  8B85 F0FDFFFF MOV EAX,DWORD PTR SS:[EBP-210]
004921DB   .  BA C4224900   MOV EDX,MUD2004.004922C4                 ;  ASCII "LT"
004921E0   .  E8 9B29F7FF   CALL MUD2004.00404B80
004921E5   .  75 0A         JNZ SHORT MUD2004.004921F1
004921E7   .  C705 CCA74C00>MOV DWORD PTR DS:[4CA7CC],3
004921F1   >  C3            RETN
004921F2   .^ E9 311FF7FF   JMP MUD2004.00404128
004921F7   .^ E9 C4FEFFFF   JMP MUD2004.004920C0
004921FC   >  33C0          XOR EAX,EAX
004921FE   .  5A            POP EDX
004921FF   .  59            POP ECX
00492200   .  59            POP ECX
00492201   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
00492204   .  68 49224900   PUSH MUD2004.00492249
00492209   >  8D85 ECFDFFFF LEA EAX,DWORD PTR SS:[EBP-214]
0049220F   .  BA 06000000   MOV EDX,6
00492214   .  E8 8F25F7FF   CALL MUD2004.004047A8
00492219   .  8D85 04FEFFFF LEA EAX,DWORD PTR SS:[EBP-1FC]
0049221F   .  B
[阅读全文 | 回复(1) | 引用通告 | 编辑]

·回复:【转贴】一个桌面软件的破解及注册算法分析     -|ha122发表评论于2005-9-6 17:16:00