好友
阅读权限40
听众
最后登录1970-1-1
|
PC-Guard 5.0 加密文件简捷无KEY脱壳分析
Writer by KuNgBiM/[CCG]
Email: kungbim@163.com
Date: January 18, 2008
Debuger Tools: OllyICE、Universal Import Fixer (UIF)、ImportREC
【目标程序信息】
Particle Illusion 3.03
官方主页:http://www.wondertouch.com
Particle Illusion 是一套分子特效應用軟體,使用簡單、快速、功能強大、特效豐富,現在有愈來愈多的多媒體製作公司,使用 Particle Illusion 的特效,包括武俠劇的打鬥效果, Particle Illusion已成為電視台、廣告商、動畫製作、遊戲公司製作特效的必備軟體了。
【分析文件】
PEiD查壳后可知文件中由PC-Guard 5.0加壳的文件有:
particleIllusion.exe
pIllusionRender.exe
wtpi302lic.dll(这个也是PC-Guard 5.0加壳,但分析后得出结论,该文件属于授权系统自带的库文件,所以就不需要脱壳了,删除也罢 )
【正文】
由于篇幅及通用性关系,此篇文件就以particleIllusion.exe主程序作为分析脱壳目标程序。
【找寻OEP】
OllyICE载入目标文件:
0068E000 > FC cld ; EP
0068E001 55 push ebp
0068E002 50 push eax
0068E003 E8 00000000 call particle.0068E008
0068E008 5D pop ebp
0068E009 60 pushad
0068E00A E8 03000000 call particle.0068E012
0068E00F 83EB 0E sub ebx,0E
0068E012 EB 01 jmp short particle.0068E015
0068E014 0C 58 or al,58
0068E016 EB 01 jmp short particle.0068E019
0068E018 35 40EB0136 xor eax,3601EB40
0068E01D FFE0 jmp eax
0068E01F 0B61 B8 or esp,dword ptr ds:[ecx-48]
0068E022 9C pushfd
0068E023 3941 00 cmp dword ptr ds:[ecx],eax
0068E026 EB 01 jmp short particle.0068E029
0068E028 E3 60 jecxz short particle.0068E08A
0068E02A E8 03000000 call particle.0068E032
0068E02F D2EB shr bl,cl
0068E031 0B58 EB or ebx,dword ptr ds:[eax-15]
Alt+M打开内存镜像,并在第一区段F2下断,Shift+F9运行。
等出现PC-Guard的注册界面后直接“Continue”:
00BB10FB 281F sub byte ptr ds:[edi],bl ; 中断在此
00BB10FD 50 push eax
00BB10FE 8B85 B54C4200 mov eax,dword ptr ss:[ebp+424CB5]
00BB1104 3207 xor al,byte ptr ds:[edi]
00BB1106 D1C0 rol eax,1
00BB1108 8985 B54C4200 mov dword ptr ss:[ebp+424CB5],eax
00BB110E 58 pop eax
00BB110F 47 inc edi
00BB1110 59 pop ecx
00BB1111 E2 02 loopd short 00BB1115
00BB1113 EB 05 jmp short 00BB111A
00BB1115 ^ E9 21FFFFFF jmp 00BB103B
Alt+M再次打开内存镜像,并在PE文件头F2下断,Shift+F9运行:
7C930806 66:8139 4D5A cmp word ptr ds:[ecx],5A4D ; 中断在此
7C93080B 75 1D jnz short ntdll.7C93082A
7C93080D 8B51 3C mov edx,dword ptr ds:[ecx+3C]
7C930810 81FA 00000010 cmp edx,10000000
7C930816 73 12 jnb short ntdll.7C93082A
7C930818 8D040A lea eax,dword ptr ds:[edx+ecx]
7C93081B 8945 E4 mov dword ptr ss:[ebp-1C],eax
7C93081E 8138 50450000 cmp dword ptr ds:[eax],4550
7C930824 0F85 8B830200 jnz ntdll.7C958BB5
7C93082A 834D FC FF or dword ptr ss:[ebp-4],FFFFFFFF
7C93082E E8 CFE5FFFF call ntdll.7C92EE02
7C930833 C2 0400 retn 4
Alt+M最后一次打开内存镜像,并在第一区段F2下断,Shift+F9运行,飞向OEP:
004D7F46 6A 60 push 60 ; OEP
004D7F48 68 A8A75300 push particle.0053A7A8
004D7F4D E8 D6080000 call particle.004D8828
004D7F52 BF 94000000 mov edi,94
004D7F57 8BC7 mov eax,edi
004D7F59 E8 D2F3FFFF call particle.004D7330
004D7F5E 8965 E8 mov dword ptr ss:[ebp-18],esp
004D7F61 8BF4 mov esi,esp
004D7F63 893E mov dword ptr ds:[esi],edi
004D7F65 56 push esi
004D7F66 FF15 08F45100 call dword ptr ds:[51F408] ; kernel32.GetVersionExA
004D7F6C 8B4E 10 mov ecx,dword ptr ds:[esi+10]
004D7F6F 890D B4A65500 mov dword ptr ds:[55A6B4],ecx
004D7F75 8B46 04 mov eax,dword ptr ds:[esi+4]
004D7F78 A3 C0A65500 mov dword ptr ds:[55A6C0],eax
004D7F7D 8B56 08 mov edx,dword ptr ds:[esi+8]
004D7F80 8915 C4A65500 mov dword ptr ds:[55A6C4],edx
004D7F86 8B76 0C mov esi,dword ptr ds:[esi+C]
004D7F89 81E6 FF7F0000 and esi,7FFF
004D7F8F 8935 B8A65500 mov dword ptr ds:[55A6B8],esi
004D7F95 83F9 02 cmp ecx,2
004D7F98 74 0C je short particle.004D7FA6
【Dump及修复IAT】
1、使用OllyDump插件去掉"Rebuild Import"选项后,直接在OEP处dump保存文件。
注意:如果这时直接使用ImportREC修复文件,IAT会存在一个无效函数,所以我们现在利用新工具Universal Import Fixer (UIF)来获取及修正IAT。
2、在此时的OD中打开附件进程功能,找到目标进程,复制进程的PID,然后打开UIF并粘贴到"Process ID"中,勾选"Fix Dircetly Imports"选项,OK,"Start"开始修复IAT表。
UIF修复记录:(附件:Uif-Log.txt)
===============================================================
Patch Success...
IAT RVA : 00FB0000
IAT Size : 0000093C
Normal Imports : 4644
Directly Imports : 0
All Imports : 4644
===============================================================
3、运行ImportREC,设置选项:重建原始FT、创建新的IAT、修正EP到OEP、使用来自磁盘的PE头文件头,最后找到进程并填写相关数据:
OEP : 000D7F46
IAT RVA : 00FB0000
IAT Size : 0000093C
最后获取输入表,检查函数全部有效,修复抓取文件即可。
程序运行正常,程序为 Microsoft Visual C++ 7.0 所编译。
【小小总结】
PC-Guard 5.0 在没使用SDK而加壳的情况下可以不需要KEY来解码。
【鸣谢】
感谢linhanshi一直长期为我们提供国外的优秀工具。
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
目标程序下载:
hxxp://rapidshare.com/files/84809303/particleIllusion3.03.rar.html |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|