程序功能就是很久以前的一个盗取密码的东东,现在可能没什么用了,公司要用来测试,下载了个发现还是要注册的东西就索性破解了一下。
程序没有加壳,直接od载入,查找unicode。
找到如下的代码后直接双击跟入反汇编窗口: 程序破解后效果图:
程序本身没有什么需要注意的东西,直接猛击此处下载原文件!
关键代码:
代码语言:javascript复制0040BFBF |. 48 dec eax ; Switch (cases 1..4)
0040BFC0 |. 59 pop ecx
0040BFC1 |. 74 60 je short 0040C023 ; 普通版
0040BFC3 |. 48 dec eax
0040BFC4 |. 74 56 je short 0040C01C ; 游戏版
0040BFC6 |. 48 dec eax
0040BFC7 74 4C je short 0040C015 ; 网络完整版
0040BFC9 |. 48 dec eax
0040BFCA |. 74 07 je short 0040BFD3
0040BFCC |. 68 14104200 push 00421014 ; -未注册; Default case of switch 0040BFBF
0040BFD1 |. EB 55 jmp short 0040C028
0040BFD3 |> 8D85 00FFFFFF lea eax, dword ptr [ebp-100] ; Case 4 of switch 0040BFBF
0040BFD9 |. 68 10104200 push 00421010 ; / -
0040BFDE |. 50 push eax ; |dest
0040BFDF |. E8 042E0000 call <jmp.&msvcrt._mbscat> ; strcat
0040BFE4 |. 59 pop ecx
0040BFE5 |. 8D85 00FFFFFF lea eax, dword ptr [ebp-100]
0040BFEB |. 59 pop ecx
0040BFEC |. 6A 00 push 0
0040BFEE |. 6A 00 push 0
0040BFF0 |. 6A 7C push 7C
0040BFF2 |. 68 D4434100 push 004143D4 ; ASCII "SV:"
0040BFF7 |. 68 89504100 push 00415089
0040BFFC |. 50 push eax ; /s
0040BFFD |. E8 EC2D0000 call <jmp.&msvcrt.strlen> ; strlen
0040C002 |. 59 pop ecx
0040C003 |. 8D8405 00FFFF>lea eax, dword ptr [ebp eax-100]
0040C00A |. 50 push eax
0040C00B |. E8 80BEFFFF call 00407E90
0040C010 |. 83C4 18 add esp, 18
0040C013 |. EB 21 jmp short 0040C036
0040C015 |> 68 00104200 push 00421000 ; -网络完整版; Case 3 of switch 0040BFBF
0040C01A |. EB 0C jmp short 0040C028
0040C01C |> 68 F40F4200 push 00420FF4 ; -游戏版; Case 2 of switch 0040BFBF
0040C021 |. EB 05 jmp short 0040C028
0040C023 |> 68 E80F4200 push 00420FE8 ; -普通版; Case 1 of switch 0040BFBF
找到相应的版本跳转直接修改je为jmp就可以了。