PX Instant Screen Capture 6.0暴破
本帖最后由 ifox 于 2010-6-2 20:30 编辑启动程序,输入任意注册信息,得到注册码无效提示字符串,OD载入查找到相关字符串,分析注册码判断的要点:004CB1F5|> \66:83BB 3A030>cmp word ptr , 0
004CB1FD|.0F84 CA000000 je 004CB2CD
004CB203|.6A 01 push 1
004CB205|.8D55 F0 lea edx, dword ptr
004CB208|.8B83 28030000 mov eax, dword ptr
004CB20E|.E8 8508F8FF call 0044BA98
004CB213|.8B45 F0 mov eax, dword ptr
004CB216|.50 push eax
004CB217|.8D55 EC lea edx, dword ptr
004CB21A|.8B83 18030000 mov eax, dword ptr
004CB220|.E8 7308F8FF call 0044BA98
004CB225|.8B55 EC mov edx, dword ptr
004CB228|.59 pop ecx
004CB229|.8B83 3C030000 mov eax, dword ptr
004CB22F|.FF93 38030000 call dword ptr ;是否注册成功,成功则不跳,不成功则跳,跟入分析
004CB235|.84C0 test al, al
004CB237|.74 65 je short 004CB29E
004CB239|.6A 30 push 30
004CB23B|.8D55 E8 lea edx, dword ptr
004CB23E|.A1 2C074F00 mov eax, dword ptr
004CB243|.8B00 mov eax, dword ptr
004CB245|.E8 BE08FAFF call 0046BB08
004CB24A|.8B45 E8 mov eax, dword ptr
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
004CB25B|.A1 2C074F00 mov eax, dword ptr
004CB260|.8B00 mov eax, dword ptr
004CB262|.E8 A108FAFF call 0046BB08
004CB267|.FF75 E0 push dword ptr
004CB26A|.68 84B34C00 push 004CB384 ;.
004CB26F|.8D45 E4 lea eax, dword ptr
004CB272|.BA 03000000 mov edx, 3
004CB277|.E8 2497F3FF call 004049A0
004CB27C|.8B45 E4 mov eax, dword ptr
004CB27F|.E8 5498F3FF call 00404AD8
004CB284|.50 push eax ; |Text
004CB285|.A1 2C074F00 mov eax, dword ptr ; |
004CB28A|.8B00 mov eax, dword ptr ; |
004CB28C|.8B40 30 mov eax, dword ptr ; |
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
004CB2A3|.A1 2C074F00 mov eax, dword ptr
004CB2A8|.8B00 mov eax, dword ptr
004CB2AA|.E8 5908FAFF call 0046BB08
004CB2AF|.8B45 DC mov eax, dword ptr
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 ; |
004CB2C2|.8B00 mov eax, dword ptr ; |
004CB2C4|.8B40 30 mov eax, dword ptr ; |
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:, edx
004CB2D5|.68 11B34C00 push 004CB311
004CB2DA|>8D45 DC lea eax, dword ptr
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 , ecx
004CB943|.8955 FC mov dword ptr , edx
004CB946|.8BD8 mov ebx, eax
004CB948|.8B45 FC mov eax, dword ptr
004CB94B|.E8 7891F3FF call 00404AC8
004CB950|.8B45 F8 mov eax, dword ptr
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:
004CB963|.64:8920 mov dword ptr fs:, esp
004CB966|.C645 F7 00 mov byte ptr , 0
004CB96A|.A0 B8BA4C00 mov al, byte ptr
004CB96F|.50 push eax
004CB970|.8D45 E4 lea eax, dword ptr
004CB973|.50 push eax
004CB974|.33C9 xor ecx, ecx
004CB976|.BA C4BA4C00 mov edx, 004CBAC4
004CB97B|.8B45 FC mov eax, dword ptr
004CB97E|.E8 9521F4FF call 0040DB18
004CB983|.8B45 E4 mov eax, dword ptr
004CB986|.8D55 E8 lea edx, dword ptr
004CB989|.E8 76D0F3FF call 00408A04
004CB98E|.837D E8 00 cmp dword ptr , 0
004CB992|.0F84 E5000000 je 004CBA7D
004CB998|.837D F8 00 cmp dword ptr , 0
004CB99C|.0F84 DB000000 je 004CBA7D
004CB9A2|.8D45 F0 lea eax, dword ptr
004CB9A5|.BA D0BA4C00 mov edx, 004CBAD0 ;life
004CB9AA|.E8 118DF3FF call 004046C0
004CB9AF|.8D45 EC lea eax, dword ptr
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
004CB9C5|.E8 2EC7FFFF call 004C80F8
004CB9CA|.8BF0 mov esi, eax
004CB9CC|.8B0D 88814C00 mov ecx, dword ptr ;spx.004C81D4
004CB9D2 8B53 38 mov edx, dword ptr
004CB9D5|.8BC6 mov eax, esi
004CB9D7|.E8 C4DEFEFF call 004B98A0
004CB9DC|.8D4D F0 lea ecx, dword ptr
004CB9DF|.8B55 E8 mov edx, dword ptr
004CB9E2|.8BC6 mov eax, esi
004CB9E4|.8B38 mov edi, dword ptr
004CB9E6|.FF57 54 call dword ptr
004CB9E9|.8BC6 mov eax, esi
004CB9EB|.8B10 mov edx, dword ptr
004CB9ED|.FF52 44 call dword ptr
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
004CBA00|.E8 E7E2FEFF call 004B9CEC
004CBA05|.8BF0 mov esi, eax
004CBA07|.8B0D B8C54B00 mov ecx, dword ptr ;spx.004BC604
004CBA0D|.8B53 3C mov edx, dword ptr
004CBA10|.8BC6 mov eax, esi
004CBA12|.E8 89DEFEFF call 004B98A0
004CBA17|.8D4D EC lea ecx, dword ptr
004CBA1A|.8B55 F8 mov edx, dword ptr
004CBA1D|.8BC6 mov eax, esi
004CBA1F|.8B38 mov edi, dword ptr
004CBA21|.FF57 58 call dword ptr
004CBA24|.8BC6 mov eax, esi
004CBA26|.8B10 mov edx, dword ptr
004CBA28|.FF52 44 call dword ptr
004CBA2B|.8BC6 mov eax, esi
004CBA2D|.E8 E67DF3FF call 00403818
004CBA32|.8B45 F0 mov eax, dword ptr ;EAX和下面给的EDX内容比较相同则注册成功
004CBA35 8B55 EC mov edx, dword ptr ;直接修改代码为mov edx, dword ptr ,注册和BuyNow都去掉了。
004CBA38|.E8 E78FF3FF call 00404A24
004CBA3D|.0F94C0 sete al ;设置判断注册信息是否正确设置标志位
004CBA40|.8843 34 mov byte ptr , al
004CBA43|.807B 34 00 cmp byte ptr , 0
004CBA47|.74 34 je short 004CBA7D
004CBA49|.8D43 40 lea eax, dword ptr
004CBA4C|.8B55 FC mov edx, dword ptr
004CBA4F|.B9 FF000000 mov ecx, 0FF
004CBA54|.E8 638EF3FF call 004048BC
004CBA59|.8D83 40010000 lea eax, dword ptr
004CBA5F|.8B55 F8 mov edx, dword ptr
004CBA62|.B9 FF000000 mov ecx, 0FF
004CBA67|.E8 508EF3FF call 004048BC
004CBA6C|.807D 08 00 cmp byte ptr , 0
004CBA70|.74 07 je short 004CBA79
004CBA72|.8BC3 mov eax, ebx
004CBA74|.E8 4F020000 call 004CBCC8
004CBA79|>C645 F7 01 mov byte ptr , 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:, edx
004CBA85|.68 ACBA4C00 push 004CBAAC
004CBA8A|>8D45 E4 lea eax, dword ptr
004CBA8D|.BA 04000000 mov edx, 4
004CBA92|.E8 B58BF3FF call 0040464C
004CBA97|.8D45 F8 lea eax, dword ptr
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
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系统用户。) 学习了,谢谢楼主 呃,传说中的标志位爆破
页:
[1]