查看: 11390|回复: 63
收起左侧

[技术原创] 小技术角度小谈病毒加壳和加花那点破事~

  [复制链接]
帅就是帅
发表于 2010-8-31 00:42:57 | 显示全部楼层 |阅读模式
本帖最后由 帅就是帅 于 2011-1-10 15:11 编辑

   加壳加花并不是什么高深的技术,原理也并不难理解,发这个帖子只是想帮助暂时还不了解的先有个大概印象,本来想发在国外区,想想国内区应该减少口水,多点技术讨论才是,本着“引导、鼓励、融合”的宗旨就发到这了

  稍微“高”点的高手可以无视~


  概念了解:什么是加壳?

  我们经常碰到电脑中毒而杀软没有发现的原因,虽然其中的原因有千千万,加壳就是其中之一(PS:现在的大多数脱壳能力还是较强的,比如卡巴、大蜘蛛等等等等,此文仅仅只是讲讲其中那些破事,并无艰涩技术)
  加壳,就是一种通过一些列数学运算,将可执行程序文件或动态链接库文件的编码进行改变达到缩小文件体积或加密程序编码的目的这里是定义部分。

  这个呢,也许你看明白了,就是一种类似于winzip的效果,不同之处在于:这个压缩后的文件可以独立运行,解压过程完全隐藏,且都在内存中完成。

  通俗的理解其原理即:加壳工具在文件头里加了一段指令,这个指令呢去告诉CPU,告诉它怎么样才可以解压自己。比较有自虐倾向。

  当外部程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序,一切都将自行完成,而用户并不知道这个过程,一般而言,加壳和不加壳的程序运行结果是一致的


  追本求源,加壳干嘛子捏?

  1.版权保护(话说,虽然我不喜欢,不过很能理解~)
  2.文件压缩的更小巧(此指压缩壳,一般保护壳会略微加大体积,感谢17Ljefffire指出,避免大家混淆,我忘提这一点了)
  3.就是为了躲开杀毒软件的追杀啦~
  希望大家是为了1和2的目的~你要是为了3看我不把你扒光光


非常醒目:


  也许你会疑问rar和zip的加壳效果很相似,但它们都是压缩软件,而不是加壳工具!!!


  注意,它们的解压都需要读写磁盘滴~这个是重要区别,“壳”的解压是在内存中进行的,所以rar和zip之类的压缩包是肯定会被杀软查杀的(当然,如果能查杀)


  加壳的工具:

  额,很久不了解这方面的事了,当年的痛~~常用的加壳工具有:aspack,upx,PEcompact,脱壳的Aspack比较流行,还有ASProtect+aspack等等,国外常用的。

  下面我们就来小小的试用一下这个加壳工具,以ASPotect为例吧:(请忽视我用的老版本吧,多年不用都积成灰鸟~)[:27:]

  唉,不好意思了,找不到了,又懒得下所以就不上图了,理解理解我吧~,我们假设加壳一个病毒01:

  1.首先运行程序ASProtect,在“应用程序名称”中输入名字呗,随便写一个“加壳01”

  2.指定要保护的文件路径还有输出文件路径,在“保护选项”里选择“资源保护”“反调试保护”“保护原始入口”“校验保护”………………各种选项

  3.在模式选项卡里添加一个模式然后激活,再单击上面那个“闪电”图标执行开始保护就可以生成新的加壳程序了~
  注明:此处只是大概讲讲,具体了解请查阅相关资料,本人不负责提供程序下载~


  事实上,这样加壳完了有时也会被杀毒软件查杀,怎么办呢?bingo~加花,撒花咯


  那啥又是加花?

  加花其实就是在程序代码中加一些无意义且不影响源程序的代码,比如说,有个程序里的数据值为“4(空格)C”,我们可以改为“4+1-1%20C",虽然值没有改变,但程序本身改变了,检验码也改变了就说不定能逃过杀软的追杀鸟~~(并不一定)


  兵来将挡,水来土掩,你加我脱,我脱我脱我脱脱脱!!


   手工脱壳的一般步骤:
   1.确定壳的种类(非必需)
   2.确定入口点
   3.dump取内存已还原文件
   4.修正刚dump取的文件

  本来打算详细说说具体步骤的,不过想想这个帖子的初衷并不在此,只是向大家粗略的介绍下这回事就成了,想要深入了解的可自行研究,总之可以先用pe-scan侦测壳(有时候侦测不到),然后换种方式显示入口点然后继续继续。。。。。其实我也忘差不多鸟,不过要注意在你测试过程中同级目录里的某些程序不能运行是因为其import表,也就是用于记录其exe文件调用的dll文件相关信息的引入表,是被加密的。具体情况具体分析。。。
  同志们,写一篇技术文并不难,难的是写一篇大家都能易懂的技术文,你们懂的。。。

  看了回复,楼下很多人提到的也很不错,大家如果抱着学习的态度的话可以一并了解,多谢各位支持

评分

参与人数 8经验 +20 人气 +7 收起 理由
zzirong + 1 楼主,你的文章菜鸟一看就懂
will + 1 人气支持
谁谁谁 + 1 国内区缺少的就是这种帖子
皇甫暮云 + 20 版区有你更精彩: )
猪头大队 + 1 技术帖,必须给分

查看全部评分

Conners
发表于 2010-8-31 00:43:54 | 显示全部楼层
原创哇?
蝉鸣时
发表于 2010-8-31 00:52:05 | 显示全部楼层
不错,写得浅显易懂,可以给新手一点指导。
MagicFuzzX
发表于 2010-8-31 00:57:41 | 显示全部楼层
通俗的理解其原理即:加壳工具在文件头里加了一段指令,这个指令呢去告诉CPU,告诉它怎么样才可以解压自己。

那是基础的压缩壳,还有种东西可以对关键代码进行扭曲变形
1.版权保护(话说,虽然我不喜欢,不过很能理解~)

很简单,加了壳就不能对资源进行编辑了,宇宙最强科技资源编辑也就失效了,也就不会某些垃圾对XT进行修改版权了
        
  手工脱壳的一般步骤:
   1.确定壳的种类
   2.确定入口点
   3.dump取内存已还原文件
   4.修正刚dump取的文件

基本的加密壳也能对IAT进行加密吧,那你是不是要还原呢?更不要说其它的VM了

现在病毒加壳的主要目的还是对自己关键代码进行保护,或者保护自己下载者的链接,一般压缩壳杀毒软件都能秒掉(那个启发宇宙第一的某杀软不知道),对于一些现在的强壳基本都是脱不掉的,要嘛报壳(误杀),要嘛不报(那就加壳免杀了~),所以还是黑名单最可行
以上内容纯属扯淡,我是脑残我怕谁,欢迎来喷

评分

参与人数 1经验 +6 收起 理由
heaven888 + 6 加分鼓励

查看全部评分

Velocity
发表于 2010-8-31 00:59:28 | 显示全部楼层
8错 8错
帅就是帅
 楼主| 发表于 2010-8-31 01:01:42 | 显示全部楼层
回复 4楼 smilediy  的帖子


    你说的也很好嘛,本来那啥”上有政策下有对策“,病毒和杀软的博弈就会导致不断的演新和变革呗,那种深层次的技术方面不是重点,只是让大家大概了解什么是加壳加花罢了,免得动不动有人就抱怨哎呀大蜘蛛太慢太慢了怎么怎么滴
4534543
发表于 2010-8-31 06:20:21 | 显示全部楼层
原创
739632973
头像被屏蔽
发表于 2010-8-31 06:29:35 | 显示全部楼层
很棒,O(∩_∩)O谢谢
李白vs苏轼
发表于 2010-8-31 07:34:18 | 显示全部楼层
支持了
heaven888
发表于 2010-8-31 08:53:30 | 显示全部楼层
希望楼主多多普及,很久没见这样的贴了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-10 09:29 , Processed in 0.142224 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表