广西优质茶叶交流组

搞定加区提示空间不够的方法

只看楼主 收藏 回复
  • - -
楼主
笔记本论坛
  以前做免杀的时候总是习惯给木马先加一个区段,这样加花加密什么的都很方便,但是最近加区时却遇到了一个郁闷的问题。
  直接用加区工具加区时提示没有足够的空间添加区段。
  由于以前从没遇到过这样的状况,于是我就在论坛上各种求助,加上自己的一些尝试终于把问题搞定了,这里把方式给大家分享一下。
  我这里就不用木马而直接用记事本文件来做例子好了,我的系统版本是深蓝技术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的区段应该都没问题的。


举报 | 1楼 回复

友情链接