- UID
- 37950
注册时间2007-12-1
阅读权限30
最后登录1970-1-1
龙战于野
TA的每日心情 | 难过 2022-2-6 09:25 |
---|
签到天数: 6 天 [LV.2]偶尔看看I
|
发表于 2008-6-9 21:47:59
|
显示全部楼层
脱壳后PEID查壳知道此程序编写语言是BC++,程序能运行但是有自校验,一般有以下两种方法解决:
1、运行程序并观察,若提示错误,则OD下断MessageBoxA/MessageBoxW,断下后在OD的反汇编窗口慢慢回溯,去找关键点;若程序一闪就退出,则OD下断ExitProcess,断下后依然是回溯去找关键点;
2、查看程序编写语言,若是Delphi或BC++的,就直接用DeDe反编,查找主窗口的FormCreate开始地址,然后OD载入F9运行中断后,F8单步走,很容易找到关键点;若是VB编写的,一般是下bp rtcFileLen断点(有可能是VB P-code,这种语言的自校验讨论帖不多,请自行查看http://bbs.pediy.com/showthread.php?t=66220这个帖子);对VC的程序一般是采取第一种方法或者是下bp CreateFileA断点慢慢F8单步,当然也可以分别用OD打开原程序和脱壳后的程序,两个窗口对比,F8单步找不同之处(比较傻,不到万不得已,不推荐^_^)。
此程序有自校验,我采用第二种方法来解除校验,这样更易懂更快速(当然我一开始是直接OD下断的,依然可行,不过有点麻烦)。
直接用DeDe反编,查找主窗口的FormCreate开始地址为00408414,此处下断F9运行中断后,F8单步走到此处
00408470 FF43 1C inc dword ptr [ebx+1C]
00408473 66:C743 10 1400 mov word ptr [ebx+10], 14
00408479 E8 22A2FFFF call 004026A0 *******************程序自校验***********
0040847E 84C0 test al, al
00408480 74 28 je short 004084AA *******************改成JMP即可**********
00408482 68 30000100 push 10030
00408487 8D97 A3090000 lea edx, dword ptr [edi+9A3]
0040848D 52 push edx
0040848E 8D8F 72090000 lea ecx, dword ptr [edi+972]
00408494 51 push ecx
00408495 8BC6 mov eax, esi
00408497 E8 74140900 call 00499910
0040849C 50 push eax
0040849D E8 96960D00 call <jmp.&USER32.MessageBoxA> ***************提示程序被修改************
004084A2 6A 0A push 0A
004084AA E8 B9BBFFFF call 00404068
004084AF 85C0 test eax, eax
004084B1 75 09 jnz short 004084BC
004084B3 E8 CC8F0D00 call <jmp.&kernel32.IsDebuggerPresent> **********检测是否被OD等调试********
004084B8 85C0 test eax, eax
004084BA 74 28 je short 004084E4 **********改成JMP即可***********
004084BC 68 30000100 push 10030
004084C1 8D97 CF090000 lea edx, dword ptr [edi+9CF]
004084C7 52 push edx
004084C8 8D8F A8090000 lea ecx, dword ptr [edi+9A8]
004084CE 51 push ecx
004084CF 8BC6 mov eax, esi
004084D1 E8 3A140900 call 00499910
004084D6 50 push eax
004084D7 E8 5C960D00 call <jmp.&USER32.MessageBoxA>
004084DC 6A 0A push 0A
修改后保存,自校验就完全解除了,另外此程序注册机制是明码比较,只要找到关键call就可以看到注册码
分享一组注册码:
用户名:playboysen
注册码:WG5WNmdRSVpQOWN6V0Y2M0ciKkRAV1dY
[ 本帖最后由 playboysen 于 2008-7-20 18:18 编辑 ] |
评分
-
查看全部评分
|