- UID
- 68193
注册时间2010-6-1
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
本帖最后由 ifox 于 2010-6-2 20:30 编辑
启动程序,输入任意注册信息,得到注册码无效提示字符串,OD载入查找到相关字符串,分析注册码判断的要点:- 004CB1F5 |> \66:83BB 3A030>cmp word ptr [ebx+33A], 0
- 004CB1FD |. 0F84 CA000000 je 004CB2CD
- 004CB203 |. 6A 01 push 1
- 004CB205 |. 8D55 F0 lea edx, dword ptr [ebp-10]
- 004CB208 |. 8B83 28030000 mov eax, dword ptr [ebx+328]
- 004CB20E |. E8 8508F8FF call 0044BA98
- 004CB213 |. 8B45 F0 mov eax, dword ptr [ebp-10]
- 004CB216 |. 50 push eax
- 004CB217 |. 8D55 EC lea edx, dword ptr [ebp-14]
- 004CB21A |. 8B83 18030000 mov eax, dword ptr [ebx+318]
- 004CB220 |. E8 7308F8FF call 0044BA98
- 004CB225 |. 8B55 EC mov edx, dword ptr [ebp-14]
- 004CB228 |. 59 pop ecx
- 004CB229 |. 8B83 3C030000 mov eax, dword ptr [ebx+33C]
- 004CB22F |. FF93 38030000 call dword ptr [ebx+338] ; 是否注册成功,成功则不跳,不成功则跳,跟入分析
- 004CB235 |. 84C0 test al, al
- 004CB237 |. 74 65 je short 004CB29E
- 004CB239 |. 6A 30 push 30
- 004CB23B |. 8D55 E8 lea edx, dword ptr [ebp-18]
- 004CB23E |. A1 2C074F00 mov eax, dword ptr [4F072C]
- 004CB243 |. 8B00 mov eax, dword ptr [eax]
- 004CB245 |. E8 BE08FAFF call 0046BB08
- 004CB24A |. 8B45 E8 mov eax, dword ptr [ebp-18]
- 004CB24D |. E8 8698F3FF call 00404AD8
- 004CB252 |. 50 push eax
- 004CB253 |. 68 60B34C00 push 004CB360 ; thank you for registering
- 004CB258 |. 8D55 E0 lea edx, dword ptr [ebp-20]
- 004CB25B |. A1 2C074F00 mov eax, dword ptr [4F072C]
- 004CB260 |. 8B00 mov eax, dword ptr [eax]
- 004CB262 |. E8 A108FAFF call 0046BB08
- 004CB267 |. FF75 E0 push dword ptr [ebp-20]
- 004CB26A |. 68 84B34C00 push 004CB384 ; .
- 004CB26F |. 8D45 E4 lea eax, dword ptr [ebp-1C]
- 004CB272 |. BA 03000000 mov edx, 3
- 004CB277 |. E8 2497F3FF call 004049A0
- 004CB27C |. 8B45 E4 mov eax, dword ptr [ebp-1C]
- 004CB27F |. E8 5498F3FF call 00404AD8
- 004CB284 |. 50 push eax ; |Text
- 004CB285 |. A1 2C074F00 mov eax, dword ptr [4F072C] ; |
- 004CB28A |. 8B00 mov eax, dword ptr [eax] ; |
- 004CB28C |. 8B40 30 mov eax, dword ptr [eax+30] ; |
- 004CB28F |. 50 push eax ; |hOwner
- 004CB290 |. E8 07C3F3FF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
- 004CB295 |. 8BC3 mov eax, ebx
- 004CB297 |. E8 68D6F9FF call 00468904
- 004CB29C |. EB 2F jmp short 004CB2CD
- 004CB29E |> 6A 30 push 30
- 004CB2A0 |. 8D55 DC lea edx, dword ptr [ebp-24]
- 004CB2A3 |. A1 2C074F00 mov eax, dword ptr [4F072C]
- 004CB2A8 |. 8B00 mov eax, dword ptr [eax]
- 004CB2AA |. E8 5908FAFF call 0046BB08
- 004CB2AF |. 8B45 DC mov eax, dword ptr [ebp-24]
- 004CB2B2 |. E8 2198F3FF call 00404AD8
- 004CB2B7 |. 50 push eax ; |Title
- 004CB2B8 |. 68 88B34C00 push 004CB388 ; |invalid user name or product id. please try again.
- 004CB2BD |. A1 2C074F00 mov eax, dword ptr [4F072C] ; |
- 004CB2C2 |. 8B00 mov eax, dword ptr [eax] ; |
- 004CB2C4 |. 8B40 30 mov eax, dword ptr [eax+30] ; |
- 004CB2C7 |. 50 push eax ; |hOwner
- 004CB2C8 |. E8 CFC2F3FF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
- 004CB2CD |> 33C0 xor eax, eax
- 004CB2CF |. 5A pop edx
- 004CB2D0 |. 59 pop ecx
- 004CB2D1 |. 59 pop ecx
- 004CB2D2 |. 64:8910 mov dword ptr fs:[eax], edx
- 004CB2D5 |. 68 11B34C00 push 004CB311
- 004CB2DA |> 8D45 DC lea eax, dword ptr [ebp-24]
- 004CB2DD |. BA 04000000 mov edx, 4
复制代码 跟入后,发现好象是用了BASE64算法,具体算法没跟,发现了一个设置标志位的通用方法,只要EAX=1,则软件为注册版本,调用此标志位的地方有两处,直接修改比较的内容,使其设置标志位EAX=1即可。- 004CB92C /$ 55 push ebp
- 004CB92D |. 8BEC mov ebp, esp
- 004CB92F |. 6A 00 push 0
- 004CB931 |. 6A 00 push 0
- 004CB933 |. 6A 00 push 0
- 004CB935 |. 6A 00 push 0
- 004CB937 |. 6A 00 push 0
- 004CB939 |. 6A 00 push 0
- 004CB93B |. 6A 00 push 0
- 004CB93D |. 53 push ebx
- 004CB93E |. 56 push esi
- 004CB93F |. 57 push edi
- 004CB940 |. 894D F8 mov dword ptr [ebp-8], ecx
- 004CB943 |. 8955 FC mov dword ptr [ebp-4], edx
- 004CB946 |. 8BD8 mov ebx, eax
- 004CB948 |. 8B45 FC mov eax, dword ptr [ebp-4]
- 004CB94B |. E8 7891F3FF call 00404AC8
- 004CB950 |. 8B45 F8 mov eax, dword ptr [ebp-8]
- 004CB953 |. E8 7091F3FF call 00404AC8
- 004CB958 |. 33C0 xor eax, eax
- 004CB95A |. 55 push ebp
- 004CB95B |. 68 A5BA4C00 push 004CBAA5
- 004CB960 |. 64:FF30 push dword ptr fs:[eax]
- 004CB963 |. 64:8920 mov dword ptr fs:[eax], esp
- 004CB966 |. C645 F7 00 mov byte ptr [ebp-9], 0
- 004CB96A |. A0 B8BA4C00 mov al, byte ptr [4CBAB8]
- 004CB96F |. 50 push eax
- 004CB970 |. 8D45 E4 lea eax, dword ptr [ebp-1C]
- 004CB973 |. 50 push eax
- 004CB974 |. 33C9 xor ecx, ecx
- 004CB976 |. BA C4BA4C00 mov edx, 004CBAC4
- 004CB97B |. 8B45 FC mov eax, dword ptr [ebp-4]
- 004CB97E |. E8 9521F4FF call 0040DB18
- 004CB983 |. 8B45 E4 mov eax, dword ptr [ebp-1C]
- 004CB986 |. 8D55 E8 lea edx, dword ptr [ebp-18]
- 004CB989 |. E8 76D0F3FF call 00408A04
- 004CB98E |. 837D E8 00 cmp dword ptr [ebp-18], 0
- 004CB992 |. 0F84 E5000000 je 004CBA7D
- 004CB998 |. 837D F8 00 cmp dword ptr [ebp-8], 0
- 004CB99C |. 0F84 DB000000 je 004CBA7D
- 004CB9A2 |. 8D45 F0 lea eax, dword ptr [ebp-10]
- 004CB9A5 |. BA D0BA4C00 mov edx, 004CBAD0 ; life
- 004CB9AA |. E8 118DF3FF call 004046C0
- 004CB9AF |. 8D45 EC lea eax, dword ptr [ebp-14]
- 004CB9B2 |. BA E0BA4C00 mov edx, 004CBAE0 ; is soft and moody
- 004CB9B7 |. E8 048DF3FF call 004046C0
- 004CB9BC |. 33C9 xor ecx, ecx
- 004CB9BE |. B2 01 mov dl, 1
- 004CB9C0 |. A1 0C6C4C00 mov eax, dword ptr [4C6C0C]
- 004CB9C5 |. E8 2EC7FFFF call 004C80F8
- 004CB9CA |. 8BF0 mov esi, eax
- 004CB9CC |. 8B0D 88814C00 mov ecx, dword ptr [4C8188] ; spx.004C81D4
- 004CB9D2 8B53 38 mov edx, dword ptr [ebx+38]
- 004CB9D5 |. 8BC6 mov eax, esi
- 004CB9D7 |. E8 C4DEFEFF call 004B98A0
- 004CB9DC |. 8D4D F0 lea ecx, dword ptr [ebp-10]
- 004CB9DF |. 8B55 E8 mov edx, dword ptr [ebp-18]
- 004CB9E2 |. 8BC6 mov eax, esi
- 004CB9E4 |. 8B38 mov edi, dword ptr [eax]
- 004CB9E6 |. FF57 54 call dword ptr [edi+54]
- 004CB9E9 |. 8BC6 mov eax, esi
- 004CB9EB |. 8B10 mov edx, dword ptr [eax]
- 004CB9ED |. FF52 44 call dword ptr [edx+44]
- 004CB9F0 |. 8BC6 mov eax, esi
- 004CB9F2 |. E8 217EF3FF call 00403818
- 004CB9F7 |. 33C9 xor ecx, ecx
- 004CB9F9 |. B2 01 mov dl, 1
- 004CB9FB |. A1 18B54B00 mov eax, dword ptr [4BB518]
- 004CBA00 |. E8 E7E2FEFF call 004B9CEC
- 004CBA05 |. 8BF0 mov esi, eax
- 004CBA07 |. 8B0D B8C54B00 mov ecx, dword ptr [4BC5B8] ; spx.004BC604
- 004CBA0D |. 8B53 3C mov edx, dword ptr [ebx+3C]
- 004CBA10 |. 8BC6 mov eax, esi
- 004CBA12 |. E8 89DEFEFF call 004B98A0
- 004CBA17 |. 8D4D EC lea ecx, dword ptr [ebp-14]
- 004CBA1A |. 8B55 F8 mov edx, dword ptr [ebp-8]
- 004CBA1D |. 8BC6 mov eax, esi
- 004CBA1F |. 8B38 mov edi, dword ptr [eax]
- 004CBA21 |. FF57 58 call dword ptr [edi+58]
- 004CBA24 |. 8BC6 mov eax, esi
- 004CBA26 |. 8B10 mov edx, dword ptr [eax]
- 004CBA28 |. FF52 44 call dword ptr [edx+44]
- 004CBA2B |. 8BC6 mov eax, esi
- 004CBA2D |. E8 E67DF3FF call 00403818
- 004CBA32 |. 8B45 F0 mov eax, dword ptr [ebp-10] ; EAX和下面给的EDX内容比较相同则注册成功
- 004CBA35 8B55 EC mov edx, dword ptr [ebp-14] ; 直接修改代码为mov edx, dword ptr [ebp-10],注册和BuyNow都去掉了。
- 004CBA38 |. E8 E78FF3FF call 00404A24
- 004CBA3D |. 0F94C0 sete al ; 设置判断注册信息是否正确设置标志位
- 004CBA40 |. 8843 34 mov byte ptr [ebx+34], al
- 004CBA43 |. 807B 34 00 cmp byte ptr [ebx+34], 0
- 004CBA47 |. 74 34 je short 004CBA7D
- 004CBA49 |. 8D43 40 lea eax, dword ptr [ebx+40]
- 004CBA4C |. 8B55 FC mov edx, dword ptr [ebp-4]
- 004CBA4F |. B9 FF000000 mov ecx, 0FF
- 004CBA54 |. E8 638EF3FF call 004048BC
- 004CBA59 |. 8D83 40010000 lea eax, dword ptr [ebx+140]
- 004CBA5F |. 8B55 F8 mov edx, dword ptr [ebp-8]
- 004CBA62 |. B9 FF000000 mov ecx, 0FF
- 004CBA67 |. E8 508EF3FF call 004048BC
- 004CBA6C |. 807D 08 00 cmp byte ptr [ebp+8], 0
- 004CBA70 |. 74 07 je short 004CBA79
- 004CBA72 |. 8BC3 mov eax, ebx
- 004CBA74 |. E8 4F020000 call 004CBCC8
- 004CBA79 |> C645 F7 01 mov byte ptr [ebp-9], 1
- 004CBA7D |> 33C0 xor eax, eax
- 004CBA7F |. 5A pop edx
- 004CBA80 |. 59 pop ecx
- 004CBA81 |. 59 pop ecx
- 004CBA82 |. 64:8910 mov dword ptr fs:[eax], edx
- 004CBA85 |. 68 ACBA4C00 push 004CBAAC
- 004CBA8A |> 8D45 E4 lea eax, dword ptr [ebp-1C]
- 004CBA8D |. BA 04000000 mov edx, 4
- 004CBA92 |. E8 B58BF3FF call 0040464C
- 004CBA97 |. 8D45 F8 lea eax, dword ptr [ebp-8]
- 004CBA9A |. BA 02000000 mov edx, 2
- 004CBA9F |. E8 A88BF3FF call 0040464C
- 004CBAA4 \. C3 retn
- 004CBAA5 .^ E9 0285F3FF jmp 00403FAC
- 004CBAAA .^ EB DE jmp short 004CBA8A
- 004CBAAC . 8A45 F7 mov al, byte ptr [ebp-9]
- 004CBAAF . 5F pop edi
- 004CBAB0 . 5E pop esi
- 004CBAB1 . 5B pop ebx
- 004CBAB2 . 8BE5 mov esp, ebp
- 004CBAB4 . 5D pop ebp
- 004CBAB5 . C2 0400 retn 4
复制代码 保存修改,程序启动无NAG,POPMENU里没有了BuyNow菜单,About里显示的注册信息。注册信息
注册信息被加密保存到C:\Documents and Settings\XXXXXXXXXXXXXXXXX\Local Settings\Application Data\Moodysoft\odbc32.crc (XXXXX为WIN系统用户。) |
评分
-
查看全部评分
|