危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2289 浏览18790715

解决加区提示空间不足的小技巧

以前做免杀的时候总是习惯给木马先加一个区段,这样加花加密什么的都很方便,但是最近加区时却遇到了一个郁闷的问题。

直接用加区工具加区时提示没有足够的空间添加区段。

由于以前从没遇到过这样的状况,于是我就在论坛上各种求助,加上自己的一些尝试终于把问题解决了,这里把方法给大家分享一下。

我这里就不用木马而直接用记事本文件来做例子好了,我的系统版本是深蓝技术Ghost XP纯净版,大家可以试试,一开始无论用什么加区工具都会提示空间不够的。

我们把文件用C32载入,找到文件的PE头位置,在这里有一些垃圾信息是不必要的,我们先用一款清理工具PEclean清理一下。

大家可以看到,现在就很清晰了,在C32右边显示的有个PE字符,这里就是PE头了,在我鼠标选中的位置是标志PE头大小的地方,我们可以在左边看到机器码是EO,这里是十六进制,转换成十进制就是224,也就是PE头的大小就是224个字节。

现在我们把PE头整体上移一下,网络上也有很多类似的教程了,常做免杀的朋友应该也很熟悉,从PE字样开始选择到其后的224个字节,然后拷贝粘贴到上面几行,这里注意最上的四行是MZ头的位置,是不可以占用的,其后的位置都可以。然后我们把粘贴前的PE头剩余位置的数据都用00填充掉。再在MZ头里更改一下PE头的标志,这里大家可以看图,我们PE头移动的新位置是00000050,所以在我鼠标选中的位置就要把E0改成50。

从这里开始就是不一样的地方了,以前我们移动PE头后都要改动下PE头的新大小,但这里我们保持原有的大小不变,当然这样肯定是不能正常运行的,因为PE头的大小标志不正确。正常情况下,系统会在PE头的后面寻找区段表的,但是现在PE头被我们上移了,自然系统就找不到区段表了,文件也就不能运行了。

所以我们就要把后面紧跟着的区段表也上移,被选中的地方就是区段表了。

大家可以看到.text,.data,.rsrc字样,说明记事本文件有三个区段,分别叫.text,.data,.rsrc,一般情况下,每个区段连名称占据有40个字节,里面包括了区段的位置,大小等信息。所以这里就要把整个区段表也复制下来,拷贝粘贴到移动后的PE头后面的位置,操作和上面很相似,我就不赘述了。最后把原来的区段表数据00填充掉,保存就可以了。

这时我们再用加区工具试一下,成功了,程序也是可以正常运行的。

总结一下,加区工具加区的时候会在区段表末尾写入信息,如果区段表末尾空间不足就会提示加区失败,这时我们可以把PE头整体上移,为区段表腾出空间,然后把区段表上移就可以了,一般的PE文件这样处理后加3到4的区段应该都没问题的。

相关推荐