找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 616|回复: 3

安全知识:病毒加壳技术与脱壳技术【一】

[复制链接]

85

主题

528

回帖

826

牛毛

一级牛人

黑狼基地谢谢你的支持,您的支持

积分
826
QQ
发表于 2008-8-12 09:30:12 | 显示全部楼层 来自 湖南省永州市
来顶你!!!

很好

194

主题

567

回帖

1023

牛毛

二级牛人

高级狼员

积分
1023
发表于 2008-8-12 18:52:19 | 显示全部楼层 来自 河北省秦皇岛市
谢谢分享!!!

49

主题

305

回帖

478

牛毛

一级牛人

积分
478
发表于 2008-8-12 18:53:46 | 显示全部楼层 来自 新疆乌鲁木齐市
终于找到了,,, ,十分感谢,, , 呵呵辛苦了.

485

主题

3564

回帖

70

牛毛

初生牛犊

积分
70
 楼主| 发表于 2008-8-12 09:28:38 | 显示全部楼层 |阅读模式 来自 辽宁省营口市
由于大量的杀毒软件的出现,以及杀毒软件病毒库的不断壮大,病毒被查杀的几率也越来越大。所以有些病毒就开始通过加壳的方法来伪装自己,企图骗过杀毒软件,蒙混过关。为了做好病毒防御,我们就该了解什么是加壳?加壳的对立面是不是脱壳?如何脱壳等?

  一 什么是壳:

  计算机软件里有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务,大家就把这样的程序称为“壳”了。从功能上抽象的讲,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。

  作者编好软件后,编译成exe可执行文件。有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。 加壳就需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩。而在黑客界中“壳”则被用在保护病毒,给木马等软件加壳脱壳以躲避杀毒软件,给网民带来很多的麻烦。

  二 病毒加壳:

  在好莱坞间谍电影里,那些特工们往往以神奇莫测的化妆来欺骗别人,甚至变换成另一个身份,国内对于这种伪装行为有个通俗的说法——“穿马甲”。而这种正与邪的争斗已经延伸到了病毒领域,很多病毒作者通过给病毒“穿马甲”、甚至穿多个“马甲”的方式,躲避杀毒软件的查杀,这种技术就是“加壳”。 病毒作者可以通过给老病毒加壳,大批量制造出杀毒软件无法识别的新病毒。所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。一般情况下,加壳程序和未加壳程序的运行结果是一样的。

  既然加壳后的病毒不易被发现,那么如何判断一个可执行文件是否被加了壳呢?

  有一个简单的方法(对中文软件效果较明显)。用记事本打开一个可执行文件,如果能看到软件的提示信息则一般是未加壳的,如果完全是乱码,则多半是被加壳的。我们还可以使用一款叫做Fileinfo的工具来查看文件具体加的是什么壳。目前,较常见到的壳有“UPX”、“ASPack”、“PePack”、“PECompact”、“UPack”、“NsPack”、“免疫007”、“木马彩衣”等等。

  病毒加壳的原理很简单,现在黑客营中提供的多数病毒中,很多都是经过处理的,而这些处理就是所谓的加壳。我们知道当一个普通的EXE程序生成好后,很轻松的就可以利用诸如资源工具和反汇编工具对它进行修改,但如果程序员给EXE程序加一个壳的话,那么至少这个加了壳的EXE程序就不是那么好修改了,如果想修改就必须先脱壳。病毒加壳后也是同样的道理,我们也必须先为病毒脱壳。
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-13 17:43 , Processed in 0.125356 second(s), 32 queries , Yac On.

Powered by Discuz! X3.5

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