首页
社区
课程
招聘
The Enigma Protector 脱壳有办法减小一下体积吗 ?
发表于: 2012-3-8 20:05 12763

The Enigma Protector 脱壳有办法减小一下体积吗 ?

2012-3-8 20:05
12763
首先,自己对照了一下,自己加壳的情况,程序如果是最大保护(几乎)时 ( TEP 3.5 版本 ) ,不止 VM 了整个入口 (这点好办) ,关键是把对应的功能代码放入了 TEP 的虚拟机跑

入口混乱了(其实这倒是不重要,它每次都会在 VM_RETN 处返回到了相应的源代码处,那么就是说调用函数过程都能轻易找到)

现在处理入口过程很容易,在入口处基本可以猜到是什么语言生成的,去复制一个头部过来,

然后就在 vm_retn 处下个记录断点,跑完就可以把记录下来的地址填充一下对应的入口代码, OEP 就补完了,这样程序就跑起来,

这个时候剪掉壳的代码段,程序脱壳优化后,体积比源程序还小一点(心里有点爽)

可是还有功能代码,这个就不好猜了,从 vm_retn 处得到调用的函数,过程代码在 vm 里,如果短一点的可以补回去,如果长了,这可是体力活。

ok ,省点体力,那就把相应的区段补上,这个时候坑爹的事情出现了,一个程序补完 5.5 M

想知道有好一点的方法吗,知道的大牛提示一下,谢谢

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 1491
活跃值: (1243)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
LZ所说的功能代码是指什么?
2012-3-8 20:29
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
譬如按钮事件等,或者启动机器码生产过程
2012-3-8 20:30
0
雪    币: 1491
活跃值: (1243)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
要看你要达到的目的是什么了。
爆破?注册算法?修改资源?
2012-3-8 21:51
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
嗯,谢你的回答,刚才再分析了一下,实在分离不了(除非把调用过程都还原了),这样才能脱离
那几个区段的调用,代码量小还可以做到,如果调用处多了。。。。。。。还是不要完美,留些时间看电视剧算了
2012-3-8 21:54
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
6
yingyue大侠终于现身,不肯承认自己是大牛,告诉你,太低调就是zhuang B,说的就是你,yingyue!
2012-3-9 08:58
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习。。。。
2012-3-9 09:16
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
无语,我在求助 哦  
2012-3-9 10:30
0
雪    币: 295
活跃值: (141)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
ENIGMA的vmOEP可以直接还原的 如果我没记错的话 如果V掉了OEP,会在OEP的位置有一个JMP 跳到虚拟机里面。在这里还原OEP就好了。其他的减肥就是去掉dll段和后面的PCODE了。
别的没什么
2012-3-9 13:03
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
对,新版本也是这样处理,入口点被修改为 jmp xxxxxxx 到 jmp_vm(随便起个名字) 段

但 OEP 头部每个函数调用都会在 VM_RETN 返回处出现,所以修复 入口很容易(不修复入口无法摆脱那些段的调用)

如果只是默然情况保护,脱壳很容易,把除了前三个段外其它所有段剪切了,用Import修复,补上资源段

就可以跑了

可惜如果函数被保护了,就只能补区段了,泪奔
上传的附件:
2012-3-9 13:19
0
雪    币: 611
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
你妹的,静态脱壳机啥时候好。
2012-3-9 13:20
0
雪    币: 295
活跃值: (141)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
等你的还原引擎呢 三儿
TO LZ
找到被V函数的pcode地址和VM引擎入口 然后用dll也能逐个还原
2012-3-9 22:29
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
嗯,谢,晚上有空看看效果
2012-3-10 12:26
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
14
蛋疼不……

@HyperChem
那个啥dll不是能全部分析的么,扒过个主程序大部分代码跑得挺正常的。
2012-3-15 18:07
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
15
鄙视yingyue!!!!!!!!!!!!!!!!!!!
2012-3-16 09:55
0
游客
登录 | 注册 方可回帖
返回
//