傻人有傻福 发表于 2008-3-6 17:55:34

秋风工资管理系统 1.0 算法分析(高手飘过)

【破文标题】秋风工资管理系统 1.0 算法分析(高手飘过)
【破文作者】我的水平太菜就不写名字了
【作者邮箱】
【作者主页】
【破解工具】PEID+DEDE+OD
【破解平台】WindowsXP
【软件名称】秋风工资管理系统 1.0
【软件大小】606KB
【原版下载】
【保护方式】注册码
【软件简介】功能说明:对员工工资进行登记、统计、管理。
特点:
1、可以打印工资条
2、可以按月、按人员进行汇总统计并打印。
【破解声明】只为讨论、学习与分享破解技术,勿用于非法用途,请多多支持软件开发者!
------------------------------------------------------------------------
【破解过程】   DELPHI程序,无壳,用DEDE查找按钮事件,代码如下:005280A8/.55               push ebp
005280A9|.8BEC               mov ebp,esp
005280AB|.6A 00            push 0
005280AD|.6A 00            push 0
005280AF|.6A 00            push 0
005280B1|.53               push ebx
005280B2|.8BD8               mov ebx,eax
005280B4|.33C0               xor eax,eax
005280B6|.55               push ebp
005280B7|.68 6B815200      push 秋风工资.0052816B
005280BC|.64:FF30            push dword ptr fs:
005280BF|.64:8920            mov dword ptr fs:,esp
005280C2|.8D55 F8            lea edx,
005280C5|.8B83 00030000      mov eax,dword ptr ds:
005280CB|.E8 CCF0F1FF      call 秋风工资.0044719C                   ;取注册码
005280D0|.8B45 F8            mov eax,                  ;注册码放到EAX中
005280D3|.8D55 FC            lea edx,
005280D6|.E8 6910EEFF      call 秋风工资.00409144
005280DB|.8B45 FC            mov eax,                  ;注册码放到EAX中
005280DE|.E8 91F3FFFF      call 秋风工资.00527474
005280E3|.6A 19            push 19
005280E5|.8D45 F4            lea eax,
005280E8|.50               push eax
005280E9|.B9 36000000      mov ecx,36                           ;ECX赋值为36(十进
制的52)
005280EE|.BA 30000000      mov edx,30                           ;EDX赋值为30(十进
制的48)
005280F3|.B8 20000000      mov eax,20                           ;EAX赋值为36(十进
制的32)
005280F8|.E8 63F6FFFF      call 秋风工资.00527760               ;关键CALL,跟进
005280FD|.8B45 F4            mov eax,
00528100|.E8 2F14EEFF      call 秋风工资.00409534
00528105|.83E8 01            sub eax,1                            ;Switch (cases
0..2)
00528108|.72 07            jb short 秋风工资.00528111
0052810A|.74 17            je short 秋风工资.00528123
0052810C|.48               dec eax
0052810D|.74 26            je short 秋风工资.00528135
0052810F|.EB 34            jmp short 秋风工资.00528145
00528111|>BA 80815200      mov edx,秋风工资.00528180                ;Case 0 of
switch 00528105
00528116|.8B83 F0020000      mov eax,dword ptr ds:
0052811C|.E8 ABF0F1FF      call 秋风工资.004471CC
00528121|.EB 22            jmp short 秋风工资.00528145
00528123|>BA AC815200      mov edx,秋风工资.005281AC                ;Case 1 of
switch 00528105
00528128|.8B83 F0020000      mov eax,dword ptr ds:
0052812E|.E8 99F0F1FF      call 秋风工资.004471CC
00528133|.EB 10            jmp short 秋风工资.00528145
00528135|>BA C4815200      mov edx,秋风工资.005281C4                ;Case 2 of
switch 00528105
0052813A|.8B83 F0020000      mov eax,dword ptr ds:
00528140|.E8 87F0F1FF      call 秋风工资.004471CC
00528145|>33C0               xor eax,eax                        ;Default case of
switch 00528105
00528147|>5A               pop edx
00528148|.59               pop ecx
00528149|.59               pop ecx
0052814A|.64:8910            mov dword ptr fs:,edx
0052814D|.68 72815200      push 秋风工资.00528172
00528152|>8D45 F4            lea eax,
00528155|.E8 96C7EDFF      call 秋风工资.004048F0
0052815A|.8D45 F8            lea eax,
0052815D|.E8 8EC7EDFF      call 秋风工资.004048F0
00528162|.8D45 FC            lea eax,
00528165|.E8 86C7EDFF      call 秋风工资.004048F0
0052816A\.C3               retn
------------------------------------------------------------------------------------------
跟进上面说的关键CALL后来到这里
00527760   $55               push ebp
00527761   .8BEC               mov ebp,esp
00527763   .51               push ecx
00527764   .B9 05000000      mov ecx,5
00527769   >6A 00            push 0
0052776B   .6A 00            push 0
0052776D   .49               dec ecx
0052776E   .^ 75 F9            jnz short 秋风工资.00527769
00527770   .874D FC            xchg dword ptr ss:,ecx
00527773   .53               push ebx
00527774   .56               push esi
00527775   .57               push edi
00527776   .8BF9               mov edi,ecx
00527778   .8BF2               mov esi,edx
0052777A   .8BD8               mov ebx,eax
0052777C   .33C0               xor eax,eax
0052777E   .55               push ebp
0052777F   .68 2F7B5200      push 秋风工资.00527B2F
00527784   .64:FF30            push dword ptr fs:
00527787   .64:8920            mov dword ptr fs:,esp
0052778A   .33C0               xor eax,eax
0052778C   .55               push ebp
0052778D   .68 F07A5200      push 秋风工资.00527AF0
00527792   .64:FF30            push dword ptr fs:
00527795   .64:8920            mov dword ptr fs:,esp
00527798   .8B45 08            mov eax,dword ptr ss:
0052779B   .BA 487B5200      mov edx,秋风工资.00527B48
005277A0   .E8 9FD1EDFF      call 秋风工资.00404944
005277A5   .BA 02000080      mov edx,80000002
005277AA   .B8 547B5200      mov eax,秋风工资.00527B54                ;ASCII
"Software\Microsoft\Windows\CurrentVersion\Explorer\Install_GZ"
005277AF   .E8 E4FBFFFF      call 秋风工资.00527398
005277B4   .84C0               test al,al
005277B6   .75 2A            jnz short 秋风工资.005277E2
005277B8   .B8 547B5200      mov eax,秋风工资.00527B54                ;ASCII
"Software\Microsoft\Windows\CurrentVersion\Explorer\Install_GZ"
005277BD   .BA 01000080      mov edx,80000001
005277C2   .E8 D1FBFFFF      call 秋风工资.00527398
005277C7   .84C0               test al,al
005277C9   .75 17            jnz short 秋风工资.005277E2
005277CB   .E8 54FDFFFF      call 秋风工资.00527524
005277D0   .8B45 08            mov eax,dword ptr ss:
005277D3   .BA 9C7B5200      mov edx,秋风工资.00527B9C
005277D8   .E8 67D1EDFF      call 秋风工资.00404944
005277DD   .E9 04030000      jmp 秋风工资.00527AE6
005277E2   >8D45 F4            lea eax,dword ptr ss:
005277E5   .50               push eax
005277E6   .B9 02000080      mov ecx,80000002
005277EB   .BA A87B5200      mov edx,秋风工资.00527BA8                ;ASCII
"SerialNo"
005277F0   .B8 BC7B5200      mov eax,秋风工资.00527BBC                ;ASCII
"Software\Microsoft\Windows\CurrentVersion\Explorer\Movecont_GZ"
005277F5   .E8 AEFAFFFF      call 秋风工资.005272A8
005277FA   .8D45 EC            lea eax,dword ptr ss:
005277FD   .50               push eax
005277FE   .8D45 E8            lea eax,dword ptr ss:
00527801   .50               push eax
00527802   .8D45 E4            lea eax,dword ptr ss:
00527805   .E8 6AEAFFFF      call 秋风工资.00526274                   ;取机器CUP的ID
0052780A   .8B45 E4            mov eax,dword ptr ss:      ;与CUP的ID有关的一
串ASCII
0052780D   .8BCE               mov ecx,esi
0052780F   .8BD3               mov edx,ebx
00527811   .E8 36E8FFFF      call 秋风工资.0052604C                   ;根据上面的CPU
ID生成了机器码
00527816   .8B45 E8            mov eax,dword ptr ss:      ;机器码放到EAX中
00527819   .8B4D 0C            mov ecx,dword ptr ss:
0052781C   .8BD7               mov edx,edi
0052781E   .E8 6DE6FFFF      call 秋风工资.00525E90               ;算法CALL 进去看看
00527823   .8B55 EC            mov edx,dword ptr ss:      ;真码出现
00527826   .8B45 F4            mov eax,dword ptr ss:         ;注册码
00527829   .E8 BED4EDFF      call 秋风工资.00404CEC                   ;应该是两者比较
的CALL
0052782E   .75 1A            jnz short 秋风工资.0052784A          ;不等就跳走了
------------------------------------------------------------------------------------------
我们进算法CALL去看看:
00525E90/$55               push ebp
00525E91|.8BEC               mov ebp,esp
00525E93|.51               push ecx
00525E94|.B9 07000000      mov ecx,7
00525E99|>6A 00            /push 0
00525E9B|.6A 00            |push 0
00525E9D|.49               |dec ecx
00525E9E|.^ 75 F9            \jnz short 秋风工资.00525E99
00525EA0|.874D FC            xchg ,ecx
00525EA3|.53               push ebx
00525EA4|.56               push esi
00525EA5|.8BF1               mov esi,ecx
00525EA7|.8BDA               mov ebx,edx
00525EA9|.8945 FC            mov ,eax
00525EAC|.8B45 FC            mov eax,
00525EAF|.E8 DCEEEDFF      call 秋风工资.00404D90
00525EB4|.33C0               xor eax,eax
00525EB6|.55               push ebp
00525EB7|.68 23605200      push 秋风工资.00526023
00525EBC|.64:FF30            push dword ptr fs:
00525EBF|.64:8920            mov dword ptr fs:,esp
00525EC2|.8D45 F8            lea eax,
00525EC5|.50               push eax
00525EC6|.8D45 E0            lea eax,
00525EC9|.50               push eax
00525ECA|.B9 02000000      mov ecx,2
00525ECF|.33D2               xor edx,edx
00525ED1|.8B45 FC            mov eax,                  ;机器码放到EAX中
00525ED4|.E8 27EFEDFF      call 秋风工资.00404E00
00525ED9|.8B45 E0            mov eax,                  ;机器码第1-第2位放
到EAX中
00525EDC|.E8 5336EEFF      call 秋风工资.00409534                   ;这个CALL挺重要
的,我会单独说下
00525EE1|.F7EB               imul ebx                           ; |EAX乘以EBX(36)
00525EE3|.8945 E4            mov ,eax                  ; |
00525EE6|.C645 E8 00         mov byte ptr ss:,0         ; |
00525EEA|.8D55 E4            lea edx,                  ; |
00525EED|.33C9               xor ecx,ecx                        ; |
00525EEF|.B8 3C605200      mov eax,秋风工资.0052603C                ; |ASCII "%d"
00525EF4|.E8 5F42EEFF      call 秋风工资.0040A158                   ; \应该是16进制转
10进制
00525EF9|.8D45 F4            lea eax,
00525EFC|.50               push eax
00525EFD|.8D45 DC            lea eax,
00525F00|.50               push eax
00525F01|.B9 02000000      mov ecx,2
00525F06|.BA 02000000      mov edx,2
00525F0B|.8B45 FC            mov eax,
00525F0E|.E8 EDEEEDFF      call 秋风工资.00404E00
00525F13|.8B45 DC            mov eax,                  ;取机器码第3-第4位
00525F16|.E8 1936EEFF      call 秋风工资.00409534                   ;这个CALL挺重要
的,我会单独说下
00525F1B|.F7EE               imul esi                           ; |EAX乘以ESI(19)
00525F1D|.8945 E4            mov ,eax                  ; |
00525F20|.C645 E8 00         mov byte ptr ss:,0         ; |
00525F24|.8D55 E4            lea edx,                  ; |
00525F27|.33C9               xor ecx,ecx                        ; |
00525F29|.B8 3C605200      mov eax,秋风工资.0052603C                ; |ASCII "%d"
00525F2E|.E8 2542EEFF      call 秋风工资.0040A158                   ; \应该是16进制转
10进制
00525F33|.8D45 F0            lea eax,
00525F36|.50               push eax
00525F37|.8D45 D8            lea eax,
00525F3A|.50               push eax
00525F3B|.B9 02000000      mov ecx,2
00525F40|.BA 04000000      mov edx,4
00525F45|.8B45 FC            mov eax,
00525F48|.E8 B3EEEDFF      call 秋风工资.00404E00
00525F4D|.8B45 D8            mov eax,                   ;取第5-第4位
00525F50|.E8 DF35EEFF      call 秋风工资.00409534                   ;这个CALL挺重要
的,我会单独说下
00525F55|.F7EB               imul ebx                           ; |EAX乘以EBX(36)
00525F57|.8945 E4            mov ,eax                  ; |
00525F5A|.C645 E8 00         mov byte ptr ss:,0         ; |
00525F5E|.8D55 E4            lea edx,                  ; |
00525F61|.33C9               xor ecx,ecx                        ; |
00525F63|.B8 3C605200      mov eax,秋风工资.0052603C                ; |ASCII "%d"
00525F68|.E8 EB41EEFF      call 秋风工资.0040A158                   ; \应该是16进制转
10进制
00525F6D|.8D45 EC            lea eax,
00525F70|.50               push eax
00525F71|.8D45 D4            lea eax,
00525F74|.50               push eax
00525F75|.B9 03000000      mov ecx,3
00525F7A|.BA 06000000      mov edx,6
00525F7F|.8B45 FC            mov eax,
00525F82|.E8 79EEEDFF      call 秋风工资.00404E00
00525F87|.8B45 D4            mov eax,                   ;取第6-第8位
00525F8A|.E8 A535EEFF      call 秋风工资.00409534                   ;这个CALL挺重要
的,我会单独说下
00525F8F|.F7EE               imul esi                           ; |EAX乘以ESI(19)
00525F91|.8945 E4            mov ,eax                  ; |
00525F94|.C645 E8 00         mov byte ptr ss:,0         ; |
00525F98|.8D55 E4            lea edx,                  ; |
00525F9B|.33C9               xor ecx,ecx                        ; |
00525F9D|.B8 3C605200      mov eax,秋风工资.0052603C                ; |ASCII "%d"
00525FA2|.E8 B141EEFF      call 秋风工资.0040A158                   ; \应该是16进制转
10进制
00525FA7|.8D55 D0            lea edx,
00525FAA|.8B45 EC            mov eax,                  ;注册码第一段放到
EAX中
00525FAD|.E8 9231EEFF      call 秋风工资.00409144
00525FB2|.FF75 D0            push
00525FB5|.68 48605200      push 秋风工资.00526048
00525FBA|.8D55 CC            lea edx,
00525FBD|.8B45 F8            mov eax,
00525FC0|.E8 7F31EEFF      call 秋风工资.00409144
00525FC5|.FF75 CC            push
00525FC8|.68 48605200      push 秋风工资.00526048
00525FCD|.8D55 C8            lea edx,
00525FD0|.8B45 F0            mov eax,                  ;注册码第3段放到EAX

00525FD3|.E8 6C31EEFF      call 秋风工资.00409144
00525FD8|.FF75 C8            push
00525FDB|.68 48605200      push 秋风工资.00526048
00525FE0|.8D55 C4            lea edx,
00525FE3|.8B45 F4            mov eax,                  ;注册码第4段放到EAX

00525FE6|.E8 5931EEFF      call 秋风工资.00409144
00525FEB|.FF75 C4            push
00525FEE|.8B45 08            mov eax,
00525FF1|.BA 07000000      mov edx,7
00525FF6|.E8 6DECEDFF      call 秋风工资.00404C68
00525FFB|.33C0               xor eax,eax
00525FFD|.5A               pop edx
00525FFE|.59               pop ecx
00525FFF|.59               pop ecx
00526000|.64:8910            mov dword ptr fs:,edx
00526003|.68 2A605200      push 秋风工资.0052602A
00526008|>8D45 C4            lea eax,
0052600B|.BA 08000000      mov edx,8
00526010|.E8 FFE8EDFF      call 秋风工资.00404914
00526015|.8D45 EC            lea eax,
00526018|.BA 05000000      mov edx,5
0052601D|.E8 F2E8EDFF      call 秋风工资.00404914
00526022\.C3               retn
------------------------------------------------------------------------------------------
我们现在来看下我上面说要单独讲的call 秋风工资.00409534,我们F7进去看看:(真累人啊)
00403328/$53               push ebx
00403329|.56               push esi
0040332A|.57               push edi
0040332B|.89C6               mov esi,eax
0040332D|.50               push eax
0040332E|.85C0               test eax,eax
00403330|.74 6C            je short 秋风工资.0040339E
00403332|.31C0               xor eax,eax
00403334|.31DB               xor ebx,ebx
00403336|.BF CCCCCC0C      mov edi,0CCCCCCC
0040333B|>8A1E               /mov bl,byte ptr ds:            ;按位取一位放到bl中
0040333D|.46               |inc esi                           ;指向下一位
0040333E|.80FB 20            |cmp bl,20                           ;比较是否为空格
00403341|.^ 74 F8            \je short 秋风工资.0040333B
00403343|.B5 00            mov ch,0
00403345|.80FB 2D            cmp bl,2D                            ;比较是否为符号“-”;
00403348|.74 62            je short 秋风工资.004033AC
0040334A|.80FB 2B            cmp bl,2B                            ;比较是否为符号“+”
0040334D|.74 5F            je short 秋风工资.004033AE
0040334F|.80FB 24            cmp bl,24                            ;比较是否为符号“$”
00403352|.74 5F            je short 秋风工资.004033B3
00403354|.80FB 78            cmp bl,78                            ;比较是否为符号“x”
00403357|.74 5A            je short 秋风工资.004033B3
00403359|.80FB 58            cmp bl,58                            ;比较是否为符号“X”
0040335C|.74 55            je short 秋风工资.004033B3
0040335E|.80FB 30            cmp bl,30                            ;比较是否为符号“0”
00403361|.75 13            jnz short 秋风工资.00403376            ;不是则跳
00403363|.8A1E               mov bl,byte ptr ds:             ;下一位的放到bl中;
00403365|.46               inc esi
00403366|.80FB 78            cmp bl,78                            ;比较是否为符号“x”
00403369|.74 48            je short 秋风工资.004033B3
0040336B|.80FB 58            cmp bl,58                            ;比较是否为符号“X”
0040336E|.74 43            je short 秋风工资.004033B3
00403370|.84DB               test bl,bl
00403372|.74 20            je short 秋风工资.00403394
00403374|.EB 04            jmp short 秋风工资.0040337A
00403376|>84DB               test bl,bl                           ;
00403378|.74 2D            je short 秋风工资.004033A7
0040337A|>80EB 30            /sub bl,30                           ;减30,ASCII转数字
0040337D|.80FB 09            |cmp bl,9                            ;和9相比
00403380|.77 25            |ja short 秋风工资.004033A7            ;比9大就跳
00403382|.39F8               |cmp eax,edi
00403384|.77 21            |ja short 秋风工资.004033A7
00403386|.8D0480             |lea eax,dword ptr ds:    ;EAX*5,值放回到EAX中
00403389|.01C0               |add eax,eax                         ;EAX自己加上自己
0040338B|.01D8               |add eax,ebx                         ;EBX加到EAX
0040338D|.8A1E               |mov bl,byte ptr ds:            ;机器码取下一位
0040338F|.46               |inc esi
00403390|.84DB               |test bl,bl
00403392|.^ 75 E6            \jnz short 秋风工资.0040337A
00403394|>FECD               dec ch
00403396|.74 09            je short 秋风工资.004033A1
00403398|.85C0               test eax,eax
0040339A|.7D 4E            jge short 秋风工资.004033EA
0040339C|.EB 09            jmp short 秋风工资.004033A7
0040339E|>46               inc esi
0040339F|.EB 06            jmp short 秋风工资.004033A7
004033A1|>F7D8               neg eax
004033A3|.7E 45            jle short 秋风工资.004033EA
004033A5|.78 43            js short 秋风工资.004033EA
004033A7|>5B               pop ebx                              
004033A8|.29DE               sub esi,ebx
004033AA|.EB 41            jmp short 秋风工资.004033ED
004033AC|>FEC5               inc ch                               ;
004033AE|>8A1E               mov bl,byte ptr ds:             ;Case 2B ('+') of
switch 00403345
004033B0|.46               inc esi
004033B1|.^ EB C3            jmp short 秋风工资.00403376
004033B3|>BF FFFFFF0F      mov edi,0FFFFFFF                     ;Cases 24
('X'),78 ('x') of switch 00403345
004033B8|.8A1E               mov bl,byte ptr ds:
004033BA|.46               inc esi
004033BB|.84DB               test bl,bl
004033BD|.^ 74 DF            je short 秋风工资.0040339E
004033BF|>80FB 61            /cmp bl,61
004033C2|.72 03            |jb short 秋风工资.004033C7
004033C4|.80EB 20            |sub bl,20
004033C7|>80EB 30            |sub bl,30                           
004033CA|.80FB 09            |cmp bl,9
004033CD|.76 0B            |jbe short 秋风工资.004033DA
004033CF|.80EB 11            |sub bl,11
004033D2|.80FB 05            |cmp bl,5
004033D5|.^ 77 D0            |ja short 秋风工资.004033A7
004033D7|.80C3 0A            |add bl,0A                           ;Cases 41 ('A'),42
('B'),43 ('C'),44 ('D'),45 ('E'),46 ('F') of switch 004033C7
004033DA|>39F8               |cmp eax,edi                         ;Cases 30 ('0'),31
('1'),32 ('2'),33 ('3'),34 ('4'),35 ('5'),36 ('6'),37 ('7'),38 ('8'),39 ('9') of switch
004033C7
004033DC|.^ 77 C9            |ja short 秋风工资.004033A7
004033DE|.C1E0 04            |shl eax,4
004033E1|.01D8               |add eax,ebx
004033E3|.8A1E               |mov bl,byte ptr ds:
004033E5|.46               |inc esi
004033E6|.84DB               |test bl,bl
004033E8|.^ 75 D5            \jnz short 秋风工资.004033BF
004033EA|>59               pop ecx
004033EB|.31F6               xor esi,esi
004033ED|>8932               mov dword ptr ds:,esi
004033EF|.5F               pop edi
004033F0|.5E               pop esi
004033F1|.5B               pop ebx
004033F2\.C3               retn
------------------------------------------------------------------------------------------不知道大家看晕了没有,我也挺晕的。我现在来整理一下,这个软件是根据CUP的ID来生成机器码的(软
件里面叫注册串号),生成的机器码分别取第1-2位、第3-4位、第5-4位,第6-8位进行变换,这部分的
代码从00403328-004033F2。
变换后出来分别与ESI(19)或者EBP(36)相乘 代码段是00525E90-00526022这段,相乘后再从16进制
变成10进制,同时顺序调整调整成:第6-8位变换后-第1-2位变换后-第5-4位变换后-第3-4位变换后 这
种形式的注册码就是最后的结果了。太晕了,我自己写都觉得挺晕的,应该没多少人能看懂吧(水平差
请见谅)
------------------------------------------------------------------------
【破解总结】 这个软件的算法也比较简单,要的只是不怕晕的精神,汗!适合我这样的菜鸟学习,不敢
私藏,愿与像我这样的菜鸟分享,最后感谢PYG的培养!
如果有什么错漏之处欢迎大家批评指正*^_^*
------------------------------------------------------------------------
【版权声明】【版权声明】破文版权归我,转载版权归你。欢迎转载,盗版不究。如果能帮我改正和补充一下的话我
会更高兴的*^_^*

[ 本帖最后由 傻人有傻福 于 2008-3-6 17:57 编辑 ]

443989025 发表于 2008-3-6 18:00:50

又是您的文章啊,写的还是比较详细的,但我这样的菜鸟还是看不太懂哦。
005280CB|.E8 CCF0F1FF      call 秋风工资.0044719C                   ;取注册码
你怎么知道这一步是取注册码呢????

傻人有傻福 发表于 2008-3-6 18:45:03

回答楼上的 其实我也不是太懂啊 不过你跟一遍应该就心里有数了 记得要先看看前辈们的关于算法的基础讲解 提示:一般EAX是保存返回值的
不过楼主给我提了个醒 我不太清楚的东西不应该写出来 会误导别人 这个以后要改下 等真正明白了再写上去 谢谢了:loveliness:
多谢tianxj大哥的指点 这个CALL确实是取注册码的

[ 本帖最后由 傻人有傻福 于 2008-3-6 20:44 编辑 ]

yeesong2002 发表于 2008-3-6 18:48:34

很好,很强大!!

magic659117852 发表于 2008-3-6 20:24:47

/:012 不知道算法怎么入门。。。。还是喜欢爆破

flyjmu 发表于 2008-3-6 21:59:49

看着有点混乱 建议自己跟一遍的话比较清楚 感谢楼主分享了

天颖 发表于 2008-3-6 23:08:35

呵呵 楼主 辛苦了~~~~~~~~
   写得非常详细了~~

443989025 发表于 2008-3-7 08:44:37

原帖由 magic659117852 于 2008-3-6 20:24 发表 https://www.chinapyg.com/images/common/back.gif
/:0122" />2" /> 不知道算法怎么入门。。。。还是喜欢爆破

跟是不是用F8单步走?/:013/:014
页: [1]
查看完整版本: 秋风工资管理系统 1.0 算法分析(高手飘过)