下载页面:http://www.superdown.com/soft/17405.htm
软件大小:4250KB
软件语言:英文
软件类别:国外软件 / 共享版 / 编程开发
运行环境:Win9x/WinNT/2000/ME/XP
加入时间:2004-4-16 20:08:04
软件评级:***
开 发 商:http://www.sicomponents.com/rbldr.html
软件介绍:自称是自Borland Resource WorkShop 4.5后的长久期待>可以直接打开资源文件,可以导入.exe文件并可选择指定的资源以便于修改,修改后只能存为资源格式,如果直接打开表但可以类似exescope一样修改,如果是导入的话,只能看到16进制码。
【作者声明】:只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【调试环境】:WinXP、Ollydbg1.10B、PEiD、LordPE、AsprDbgr、ImportREC 1.42+
―――――――――――――――――――――――――――――――――
【脱壳过程】:
如今的猛壳们把Stolen Code越做越变态,虽然大部分Stolen Code都可以分析出来,但是有点费时间。这次以Resource Builder 2.1.0.3为例来演示一种ASProtect 1.23RC4壳的Stolen Code简便解决方案。这个方法我曾经见过飞速兄用过。在壳把所有的代码解压之后、处理Stolen Code之前,把进程Dump出来,补上那段壳代码,模仿构造当时的堆栈和寄存器值环境,这样就由壳自己来解决Stolen Code的问题啦。推而广之,这个Stolen Code简便解决方案也适用于某些其他壳。
―――――――――――――――――――――――――――――――――
一、Pre-Dip:用自己的名字注册
老规矩:用IsDebug 1.4插件去掉Ollydbg的调试器标志。
因为程序的rbcore.dll和sicmplr.dll也是用了ASProtect加壳,所以我们先忽略所有的异常选项,当Ollydbg弹出“是压缩代码――要继续进行分析吗?”,点“否”。接着设置Ollydbg忽略除了“内存访问异常”之外的所有其它异常选项。
00401000 68 01A06E00 push Resbldr2.006EA001//进入OD后停在这
00401005 E8 01000000 call Resbldr2.0040100B
0040100A C3 retn
0012FF3C 0012FF44 指针到下一个 SEH 记录
0012FF40 012B465C SE 句柄
0012FF44 0012FFE0 指针到下一个 SEH 记录
0012FF48 012B4C49 SE 句柄
0012FF4C 0012FF90
0012FF50 012A0000
0012FF54 00D00000
0012FF58 012B4138
0012FF5C 012D33BC ASCII "8wh3JAAQjOI="//硬盘指纹
012B46A5 3100 xor dword ptr ds:[eax],eax//异常,第2次看见硬盘指纹
012B46A7 EB 01 jmp short 012B46AA
00578654 55 push ebp
00578655 8BEC mov ebp,esp
00578657 8B45 08 mov eax,dword ptr ss:[ebp+8]
0057865A 85C0 test eax,eax
0057865C 74 0C je short Resbldr2.0057866A
0057865E 8038 00 cmp byte ptr ds:[eax],0
00578661 74 07 je short Resbldr2.0057866A
00578663 C605 90046200 01 mov byte ptr ds:[620490],1
0057866A 8B15 84046200 mov edx,dword ptr ds:[620484]
00578670 8915 80046200 mov dword ptr ds:[620480],edx
00578676 A3 84046200 mov dword ptr ds:[620484],eax//注册名
0057867B 5D pop ebp
0057867C C2 0400 retn 4
012B39EC 3100 xor dword ptr ds:[eax],eax//ASProtect最后1次典型异常处
012B39EE 64:8F05 00000000 pop dword ptr fs:[0]
012B39F5 58 pop eax
012B39F6 833D B07E2B01 00 cmp dword ptr ds:[12B7EB0],0
012B39FD 74 14 je short 012B3A13
012B39FF 6A 0C push 0C
012B3A01 B9 B07E2B01 mov ecx,12B7EB0
012B3A06 8D45 F8 lea eax,dword ptr ss:[ebp-8]
012B3A09 BA 04000000 mov edx,4
012B3A0E E8 2DD1FFFF call 012B0B40
012B3A13 FF75 FC push dword ptr ss:[ebp-4]
012B3A16 FF75 F8 push dword ptr ss:[ebp-8]
012B3A19 8B45 F4 mov eax,dword ptr ss:[ebp-C]
012B3A1C 8338 00 cmp dword ptr ds:[eax],0
012B3A1F 74 02 je short 012B3A23
012B3A21 FF30 push dword ptr ds:[eax]
012B3A23 FF75 F0 push dword ptr ss:[ebp-10]
012B3A26 FF75 EC push dword ptr ss:[ebp-14]
012B3A29 C3 retn//此处下断,Shift+F9断下
0012FF5C 012CE9DC
0012FF60 00400000 ASCII "MZP"
0012FF64 C244FCB6
0012FF68 0012FFA4//注意这里 ★
012C6A41 EB 44 jmp short 012C6A87//断在这里
012C6A43 EB 01 jmp short 012C6A46
012C6A46 51 push ecx
012C6A47 57 push edi
012C6A48 9C pushfd
012C6A49 FC cld
012C6A4A BF 00000000 mov edi,0
012C6A4F B9 00000000 mov ecx,0
012C6A54 F3:AA rep stos byte ptr es:[edi]//这里下断
012C6A56 9D popfd
012C6A57 5F pop edi
012C6A58 59 pop ecx
012C6A59 C3 retn
012C6A87 03C3 add eax,ebx
012C6A89 BB 8B070000 mov ebx,78B//注意这个值 ★
012C6A8E 0BDB or ebx,ebx
012C6A90 75 07 jnz short 012C6A99
012C6A99 E8 00000000 call 012C6A9E
012C6A9E 5D pop ebp
012C6A9F 81ED 4DE14B00 sub ebp,4BE14D
012C6AA5 8D85 F2E04B00 lea eax,dword ptr ss:[ebp+4BE0F2]
012C6AAB 8D8D 94E14B00 lea ecx,dword ptr ss:[ebp+4BE194]
012C6AB1 03CB add ecx,ebx
012C6AB3 8941 01 mov dword ptr ds:[ecx+1],eax
012C6AB6 8D85 36E14B00 lea eax,dword ptr ss:[ebp+4BE136]
012C6ABC 8D8D FAE04B00 lea ecx,dword ptr ss:[ebp+4BE0FA]
012C6AC2 8901 mov dword ptr ds:[ecx],eax
012C6AC4 B8 5E140000 mov eax,145E
012C6AC9 8D8D FFE04B00 lea ecx,dword ptr ss:[ebp+4BE0FF]
012C6ACF 8901 mov dword ptr ds:[ecx],eax
012C6AD1 8D8D 94E14B00 lea ecx,dword ptr ss:[ebp+4BE194]
012C6AD7 8D85 94F34B00 lea eax,dword ptr ss:[ebp+4BF394]
012C6ADD 51 push ecx
012C6ADE 50 push eax
012C6ADF E8 76FFFFFF call 012C6A5A
012C6AE4 61 popad//下面开始处理Stolen Code ★
012C6AE5 EB 02 jmp short 012C6AE9
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!