- UID
- 29646
注册时间2007-3-4
阅读权限30
最后登录1970-1-1
龙战于野
该用户从未签到
|
【破文标题】秋风工资管理系统 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:[eax]
- 005280BF |. 64:8920 mov dword ptr fs:[eax],esp
- 005280C2 |. 8D55 F8 lea edx,[local.2]
- 005280C5 |. 8B83 00030000 mov eax,dword ptr ds:[ebx+300]
- 005280CB |. E8 CCF0F1FF call 秋风工资.0044719C ; 取注册码
- 005280D0 |. 8B45 F8 mov eax,[local.2] ; 注册码放到EAX中
- 005280D3 |. 8D55 FC lea edx,[local.1]
- 005280D6 |. E8 6910EEFF call 秋风工资.00409144
- 005280DB |. 8B45 FC mov eax,[local.1] ; 注册码放到EAX中
- 005280DE |. E8 91F3FFFF call 秋风工资.00527474
- 005280E3 |. 6A 19 push 19
- 005280E5 |. 8D45 F4 lea eax,[local.3]
- 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,[local.3]
- 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:[ebx+2F0]
- 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:[ebx+2F0]
- 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:[ebx+2F0]
- 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:[eax],edx
- 0052814D |. 68 72815200 push 秋风工资.00528172
- 00528152 |> 8D45 F4 lea eax,[local.3]
- 00528155 |. E8 96C7EDFF call 秋风工资.004048F0
- 0052815A |. 8D45 F8 lea eax,[local.2]
- 0052815D |. E8 8EC7EDFF call 秋风工资.004048F0
- 00528162 |. 8D45 FC lea eax,[local.1]
- 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:[ebp-4],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:[eax]
- 00527787 . 64:8920 mov dword ptr fs:[eax],esp
- 0052778A . 33C0 xor eax,eax
- 0052778C . 55 push ebp
- 0052778D . 68 F07A5200 push 秋风工资.00527AF0
- 00527792 . 64:FF30 push dword ptr fs:[eax]
- 00527795 . 64:8920 mov dword ptr fs:[eax],esp
- 00527798 . 8B45 08 mov eax,dword ptr ss:[ebp+8]
- 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:[ebp+8]
- 005277D3 . BA 9C7B5200 mov edx,秋风工资.00527B9C
- 005277D8 . E8 67D1EDFF call 秋风工资.00404944
- 005277DD . E9 04030000 jmp 秋风工资.00527AE6
- 005277E2 > 8D45 F4 lea eax,dword ptr ss:[ebp-C]
- 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:[ebp-14]
- 005277FD . 50 push eax
- 005277FE . 8D45 E8 lea eax,dword ptr ss:[ebp-18]
- 00527801 . 50 push eax
- 00527802 . 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
- 00527805 . E8 6AEAFFFF call 秋风工资.00526274 ; 取机器CUP的ID
- 0052780A . 8B45 E4 mov eax,dword ptr ss:[ebp-1C] ; 与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:[ebp-18] ; 机器码放到EAX中
- 00527819 . 8B4D 0C mov ecx,dword ptr ss:[ebp+C]
- 0052781C . 8BD7 mov edx,edi
- 0052781E . E8 6DE6FFFF call 秋风工资.00525E90 ; 算法CALL 进去看看
- 00527823 . 8B55 EC mov edx,dword ptr ss:[ebp-14] ; 真码出现
- 00527826 . 8B45 F4 mov eax,dword ptr ss:[ebp-C] ; 注册码
- 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 [local.1],ecx
- 00525EA3 |. 53 push ebx
- 00525EA4 |. 56 push esi
- 00525EA5 |. 8BF1 mov esi,ecx
- 00525EA7 |. 8BDA mov ebx,edx
- 00525EA9 |. 8945 FC mov [local.1],eax
- 00525EAC |. 8B45 FC mov eax,[local.1]
- 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:[eax]
- 00525EBF |. 64:8920 mov dword ptr fs:[eax],esp
- 00525EC2 |. 8D45 F8 lea eax,[local.2]
- 00525EC5 |. 50 push eax
- 00525EC6 |. 8D45 E0 lea eax,[local.8]
- 00525EC9 |. 50 push eax
- 00525ECA |. B9 02000000 mov ecx,2
- 00525ECF |. 33D2 xor edx,edx
- 00525ED1 |. 8B45 FC mov eax,[local.1] ; 机器码放到EAX中
- 00525ED4 |. E8 27EFEDFF call 秋风工资.00404E00
- 00525ED9 |. 8B45 E0 mov eax,[local.8] ; 机器码第1-第2位放
- 到EAX中
- 00525EDC |. E8 5336EEFF call 秋风工资.00409534 ; 这个CALL挺重要
- 的,我会单独说下
- 00525EE1 |. F7EB imul ebx ; |EAX乘以EBX(36)
- 00525EE3 |. 8945 E4 mov [local.7],eax ; |
- 00525EE6 |. C645 E8 00 mov byte ptr ss:[ebp-18],0 ; |
- 00525EEA |. 8D55 E4 lea edx,[local.7] ; |
- 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,[local.3]
- 00525EFC |. 50 push eax
- 00525EFD |. 8D45 DC lea eax,[local.9]
- 00525F00 |. 50 push eax
- 00525F01 |. B9 02000000 mov ecx,2
- 00525F06 |. BA 02000000 mov edx,2
- 00525F0B |. 8B45 FC mov eax,[local.1]
- 00525F0E |. E8 EDEEEDFF call 秋风工资.00404E00
- 00525F13 |. 8B45 DC mov eax,[local.9] ; 取机器码第3-第4位
- 00525F16 |. E8 1936EEFF call 秋风工资.00409534 ; 这个CALL挺重要
- 的,我会单独说下
- 00525F1B |. F7EE imul esi ; |EAX乘以ESI(19)
- 00525F1D |. 8945 E4 mov [local.7],eax ; |
- 00525F20 |. C645 E8 00 mov byte ptr ss:[ebp-18],0 ; |
- 00525F24 |. 8D55 E4 lea edx,[local.7] ; |
- 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,[local.4]
- 00525F36 |. 50 push eax
- 00525F37 |. 8D45 D8 lea eax,[local.10]
- 00525F3A |. 50 push eax
- 00525F3B |. B9 02000000 mov ecx,2
- 00525F40 |. BA 04000000 mov edx,4
- 00525F45 |. 8B45 FC mov eax,[local.1]
- 00525F48 |. E8 B3EEEDFF call 秋风工资.00404E00
- 00525F4D |. 8B45 D8 mov eax,[local.10] ; 取第5-第4位
- 00525F50 |. E8 DF35EEFF call 秋风工资.00409534 ; 这个CALL挺重要
- 的,我会单独说下
- 00525F55 |. F7EB imul ebx ; |EAX乘以EBX(36)
- 00525F57 |. 8945 E4 mov [local.7],eax ; |
- 00525F5A |. C645 E8 00 mov byte ptr ss:[ebp-18],0 ; |
- 00525F5E |. 8D55 E4 lea edx,[local.7] ; |
- 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,[local.5]
- 00525F70 |. 50 push eax
- 00525F71 |. 8D45 D4 lea eax,[local.11]
- 00525F74 |. 50 push eax
- 00525F75 |. B9 03000000 mov ecx,3
- 00525F7A |. BA 06000000 mov edx,6
- 00525F7F |. 8B45 FC mov eax,[local.1]
- 00525F82 |. E8 79EEEDFF call 秋风工资.00404E00
- 00525F87 |. 8B45 D4 mov eax,[local.11] ; 取第6-第8位
- 00525F8A |. E8 A535EEFF call 秋风工资.00409534 ; 这个CALL挺重要
- 的,我会单独说下
- 00525F8F |. F7EE imul esi ; |EAX乘以ESI(19)
- 00525F91 |. 8945 E4 mov [local.7],eax ; |
- 00525F94 |. C645 E8 00 mov byte ptr ss:[ebp-18],0 ; |
- 00525F98 |. 8D55 E4 lea edx,[local.7] ; |
- 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,[local.12]
- 00525FAA |. 8B45 EC mov eax,[local.5] ; 注册码第一段放到
- EAX中
- 00525FAD |. E8 9231EEFF call 秋风工资.00409144
- 00525FB2 |. FF75 D0 push [local.12]
- 00525FB5 |. 68 48605200 push 秋风工资.00526048
- 00525FBA |. 8D55 CC lea edx,[local.13]
- 00525FBD |. 8B45 F8 mov eax,[local.2]
- 00525FC0 |. E8 7F31EEFF call 秋风工资.00409144
- 00525FC5 |. FF75 CC push [local.13]
- 00525FC8 |. 68 48605200 push 秋风工资.00526048
- 00525FCD |. 8D55 C8 lea edx,[local.14]
- 00525FD0 |. 8B45 F0 mov eax,[local.4] ; 注册码第3段放到EAX
- 中
- 00525FD3 |. E8 6C31EEFF call 秋风工资.00409144
- 00525FD8 |. FF75 C8 push [local.14]
- 00525FDB |. 68 48605200 push 秋风工资.00526048
- 00525FE0 |. 8D55 C4 lea edx,[local.15]
- 00525FE3 |. 8B45 F4 mov eax,[local.3] ; 注册码第4段放到EAX
- 中
- 00525FE6 |. E8 5931EEFF call 秋风工资.00409144
- 00525FEB |. FF75 C4 push [local.15]
- 00525FEE |. 8B45 08 mov eax,[arg.1]
- 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:[eax],edx
- 00526003 |. 68 2A605200 push 秋风工资.0052602A
- 00526008 |> 8D45 C4 lea eax,[local.15]
- 0052600B |. BA 08000000 mov edx,8
- 00526010 |. E8 FFE8EDFF call 秋风工资.00404914
- 00526015 |. 8D45 EC lea eax,[local.5]
- 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:[esi] ; 按位取一位放到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:[esi] ; 下一位的放到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+eax*4] ; EAX*5,值放回到EAX中
- 00403389 |. 01C0 |add eax,eax ; EAX自己加上自己
- 0040338B |. 01D8 |add eax,ebx ; EBX加到EAX
- 0040338D |. 8A1E |mov bl,byte ptr ds:[esi] ; 机器码取下一位
- 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:[esi] ; 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:[esi]
- 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:[esi]
- 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:[edx],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 编辑 ] |
|