cater
发表于 2007-12-1 20:55:35
我oep 设到 0051317C
显示有SPLayer 0.08 -> Jibz
为此我绕了两个多小时“脱壳”
吐血.........
为什么就没有想到 重新整合一下呢~/:010 /:010 /:010 /:010
hyd009 还在 哦~
呵呵~
a__P 我终于找到解决进程隐藏的方法了
另类脱壳方法
对抗调试
1. OD 加载出错
2. LoadPE,ImprotRec,任务管理器隐藏进程
对策
1. 针对 OD 加载错误,我们可以使用OD插件 强烈支持使用海牛哥哥 StrongOD 或者 Phant0m.dll
尽管用了插件,我们可以直接用od转存 脱壳文件,但是感觉插件不是太稳定,我还是喜欢用土方法,LoadPE 抓取,IMprotrec 修复ita
2. 针对隐藏 进程我们可以追查源头
原因出在 PYG.dll,是TMD 的,隐藏进程定是它做的手脚
解决隐藏进程
1. 查看 1.exe 的输入表,里面有个对 PYG.DLL里面K 函数的调用,个人感觉有鬼
我们 手动制作一个 PYG.DLL 吧
写 DLL 我不会,我还是找个DLL 的输出表。这里选用PEID 插件 crc32.dll
修改 DoMyJob 为小写 k 保存文件名为 PYG.DLL 到 1.exe 文件目录
2. 运行看看
1.exe 程序 可以运行,进程可以显示了
脱壳程序
由于 不用加载原来 TMD 马甲的 PYG.DLL ,一切麻烦变地简单许多
1 .OD 加载
AsPack 外壳
00514001 >60 PUSHAD
00514002 E8 03000000 CALL 1.0051400A
00514007- E9 EB045D45 JMP 45AE44F7
0051400C 55 PUSH EBP
0051400D C3 RETN
0051400E E8 01000000 CALL 1.00514014
00514013 EB 5D JMP SHORT 1.00514072
00514015 BB EDFFFFFF MOV EBX,-13
0051401A 03DD ADD EBX,EBP
0051401C 81EB 00401100 SUB EBX,114000
00514022 83BD 22040000 0>CMP DWORD PTR SS:,0
00514029 899D 22040000 MOV DWORD PTR SS:,EBX
0051402F 0F85 65030000 JNZ 1.0051439A ; 去 51439A 看看
00514035 8D85 2E040000 LEA EAX,DWORD PTR SS:
☆ 0051439A
0051439A B8 A3311100 MOV EAX,1131A3
0051439F 50 PUSH EAX
005143A0 0385 22040000 ADD EAX,DWORD PTR SS:
005143A6 59 POP ECX
005143A7 0BC9 OR ECX,ECX
005143A9 8985 A8030000 MOV DWORD PTR SS:,EAX
005143AF 61 POPAD
005143B0 75 08 JNZ SHORT 1.005143BA
005143B2 B8 01000000 MOV EAX,1
005143B7 C2 0C00 RETN 0C
005143BA 68 00000000 PUSH 0
005143BF C3 RETN ; 典型 AsPack 出口,F4过来,F8
005143C0 8B85 26040000 MOV EAX,DWORD PTR SS:
二层外壳
005131A3 90 NOP ;OEP,外层壳
005131A4 90 NOP
005131A5 90 NOP
005131A6 90 NOP
005131A7 90 NOP
005131A8 90 NOP
005131A9 B8 7C315100 MOV EAX,1.0051317C
005131AE FFE0 JMP EAX
005131B0 BA 7C315100 MOV EDX,1.0051317C
005131B5 90 NOP
005131B6 90 NOP
005131B7 90 NOP
005131B8 90 NOP
005131B9 B8 08CDD6B1 MOV EAX,B1D6CD08
005131BE 8902 MOV DWORD PTR DS:,EAX
005131C0 83C2 04 ADD EDX,4
005131C3 B8 CDDE99AD MOV EAX,AD99DECD
005131C8 8902 MOV DWORD PTR DS:,EAX
005131CA B8 8C315100 MOV EAX,1.0051318C
005131CF 90 NOP
005131D0 90 NOP
005131D1 90 NOP
005131D2 90 NOP
005131D3 FFE0 JMP EAX
F8+F4 很快来到 抽走的代码
0051317C 55 PUSH EBP ; 忽悠我两个小时的“马甲”伪OEP
0051317D 90 NOP
0051317E 8BEC MOV EBP,ESP
00513180 90 NOP
00513181 83C4 F0 ADD ESP,-10
00513184 90 NOP
00513185 B8 BEAF4800 MOV EAX,1.0048AFBE
0051318A- FFE0 JMP EAX ; 1.0048AFBE
下面就是 头
0048AFBE B8 DB B8
0048AFBF 78AC4800 DD 1.0048AC78
0048AFC3 E8 DB E8
0048AFC4 D0 DB D0
0048AFC5 .B3 F7 MOV BL,0F7
0048AFC7 .FFA1 08DA4800 JMP DWORD PTR DS:
我们还是修复下抽走的头
558BEC83C4F0
0048AFB8 55 PUSH EBP ; OEP ,修复了抽走的代码
0048AFB9 8BEC MOV EBP,ESP
0048AFBB 83C4 F0 ADD ESP,-10
0048AFBE B8 78AC4800 MOV EAX,1.0048AC78
0048AFC3 E8 D0B3F7FF CALL 1.00406398
2. LoadPe 转存+ ImportREC 修复
3. 优化脱壳文件
我不会,还是简单删除几个区段好了。。。。。。。。。。
嘿嘿至此我们的1.exe 文件脱壳完毕,脱壳后的程序不在依赖 PYG.DLL 文件
这个是我脱好的
dIy 的 PYG.DlL
StrongOD od插件
Cater QQ:24882688 2007.12.01
[ 本帖最后由 cater 于 2007-12-2 11:14 编辑 ]
wan
发表于 2007-12-1 21:04:06
壳盲完全不懂啊,只知是竞赛非竟赛/:001
yingfeng
发表于 2007-12-1 21:16:07
我也是壳盲,呵呵,纯支持一下,呵呵,
至于OEP,反正是游戏,呵呵,不一定非得在程序入口处,呵呵,
能正常运行就行,何必在乎?/:0177" />
不过ABCdiyPE补的代码反而有错误,呵呵,
退出会有错误
[ 本帖最后由 yingfeng 于 2007-12-1 21:18 编辑 ]
风间仁
发表于 2007-12-1 21:36:07
也是壳盲,好像到OEP不修复也能运行。
jjdg
发表于 2007-12-1 21:59:00
不是吧!
我的OD根本就载入不了!更别说脱了!
Themida的啊!
如图!
assume
发表于 2007-12-1 22:11:55
原帖由 jjdg 于 2007-12-1 21:59 发表 https://www.chinapyg.com/images/common/back.gif
不是吧!
我的OD根本就载入不了!更别说脱了!
Themida的啊!
如图!
我跟楼上一定不能载入,继续学习
cater
发表于 2007-12-2 00:14:04
刚写好教程,宿舍就断网了…
明天大早我贴个原创…
qiujincong
发表于 2007-12-2 09:12:46
都很厉害哦 /:018
small-q
发表于 2007-12-2 09:39:58
7楼请及时联系QQ拿礼物!!
hdy981
发表于 2007-12-2 10:51:21
原帖由 jjdg 于 2007-12-1 21:59 发表 https://www.chinapyg.com/images/common/back.gif
不是吧!
我的OD根本就载入不了!更别说脱了!
Themida的啊!
如图!
隐藏OD试试