木马加壳软件对比解析
- 格式:doc
- 大小:1006.01 KB
- 文档页数:9
瑞星杀毒软件的优点:1采用内存杀毒技术;2杀毒能力在国内同类型软件中较强。
缺点:1查杀病毒时内存占用量超大;2对新的病毒查杀能力不够
江民杀毒毒软件的优点:1占用内存低;2对于加壳的木马和后门有很强的判断能力;2对未知木马和后门病毒有一定的解析度和及时分析能力。
缺点:对内存杀毒不强;2对于很多木马加密后就无法判断了;3目前稳定性和兼容性有待提高
McAfee杀毒软件的优点:1防毒能力很强;2免费,简单的注册一下就可以享受这个优秀的杀毒软件在线升级服务。
缺点:1配置比较麻烦,新手不适合;2病毒库升级慢;3程序运行速度慢
诺顿杀毒软件主要特点:诺顿杀毒软件企业版和专业版本,标准版本相比能占用更低的系统资源,性能跟可靠。
缺点:1误杀,误报率高;2升级慢
NOD32杀毒软件的优点:1速度快和准;2占用系统资源极小;3对未知病毒和新出病毒有很强的预判性;4误杀率极低。
缺点:1病毒库更新太慢;2杀毒能力不强;33.0以前的版本没有自带防火墙kaspersky(卡巴斯基)杀毒软件的优点:1查杀病毒能力较高;2具有较强的中心管理。
缺点:查杀病毒时系统资源占用过大
Dr.Web(大蜘蛛)杀毒软件的优点:1几乎完全免费;2专门查杀病毒。
缺点:1使用时会弹出广告;2本身防御体系较差;3对木马查杀能力很差
360安全卫士+360杀毒软件的优点:1完全免费;2具有提前防御的本领;3拦截网页木马非常凑效。
缺点:1查杀新木马,新病毒以及未知病毒能力差;2自我防御体系非常差
金山杀毒软件的优点:1跟瑞星差不多(金山在查杀流氓软件的速度比瑞星要快)。
缺点:跟瑞星一样。
5款常用加壳软件对比现在壳的发展一个趋势就是虚拟机保护,利用虚拟机保护后,能大大提高强度,因此建议尽可能使用此类技术保护软件。
如Themida ,WinLicense,VMProtectr 等壳带有虚拟机保护功能,因此得用好其SDK.本文总结了5款常用的加壳软件并进行了对比。
VMProtectVMProtect是一款纯虚拟机保护软件,官方链接:www。
VMProtect。
ru。
它是当前最强的虚拟机保护软件,经VMProtect处理过的代码,至今还没有人公开宣称能还原.但也有缺点,就是会影响程序速度,因此在一些对速度要求很高的场合就不适合用了。
VMProtect 1。
22。
3之前是免费版,可以支持EXE,DLL等文件。
更高版本需要购买,其支持驱动的保护.现在流行的做法,先用VMProtect将你的核心代码处理一下,再选用一款兼容性好的壳保护。
[现在最新的VMProtect是v2.12,慧都控件网提供免费下载]1.关键代码自己定位VMProtect并没有提供使用说明,必须告诉VMProtect你要加密的代码具体地址,这对使用者有一定的要求,至少要懂一些跟踪技术,可以用调试器,如OllyDbg 跟踪到程序需要保护的地址,然后添加地址到VMProtect。
在这以一个记事本程序为例来演示一下使用方法。
运行VMProtect后,打开NOTEPAD。
EXE文件。
单击Dump标签,输入要加密的起始地址,光标来到要加密代码起始地址后,点击菜单“project/new procedure”,会出现一个新的项目,如下图.软件对比2.用SDK标记代码VMProtect v1。
2以上支持SDK了,可以编程时插入一个标记,然后在加密时,VMProtect会认出这些标记,并在有标记的地方进行保护。
在程序源码中,用这对标签将一些核心代码包含,编译成EXE文件。
然后用VMProtect打开EXE,单击“Project"菜单下的“New procedure”或者单击工具栏中的“New procedure"按钮,在弹出的添加地址窗口中会自动将SDK定义代码的地址填上。
木马的7种分类木马(Trojan Horse)是指通过一些看似合法的软件、文件、邮件等手段传播的恶意软件。
它可以像拿着一把万能钥匙,随意打开用户电脑中的各个大门,窃取各种敏感信息,控制系统功能,甚至破坏硬件设备。
下面我们将从不同的角度来介绍木马的7种分类。
一、按功能分:1.远程控制型木马:可以远程监控、控制用户电脑,随意执行命令。
2.窃密型木马:可以从用户电脑中窃取各类敏感信息,如账号、密码、银行卡号等。
3.病毒型木马:可以破坏用户电脑中的硬件或软件系统,造成一定的损失。
二、按传播途径分:1.网络传播型木马:通过网络渠道进行传播,如邮件、聊天工具等。
2.U盘插播型木马:诱使用户在电脑中插入感染病毒的U盘。
3.欺诈型木马:通过欺骗等手段让用户自己安装木马软件,如“看片软件”、“电脑清理工具”等。
三、按攻击方式分:1.远控攻击型木马:通过远程控制完成攻击,如后门木马等。
2.利用漏洞型木马:利用系统中的漏洞进行攻击,如Petya病毒等。
3.伪装欺骗型木马:通过伪装、欺骗等手段,使用户误以为是合法的软件。
四、按系统类型分:1.手机木马:主要攻击手机系统,侵害用户个人信息安全等。
2.PC木马:主要攻击PC系统,通过控制计算机实现攻击目的。
3.嵌入式木马:攻击嵌入式系统,如工控系统。
五、按木马特点分:1.加壳木马:通过在木马文件中加壳,改变二进制代码,增加木马的下发成功率。
2.虚拟机逃逸木马:由于虚拟机的隔离性,攻击者通过这种木马可以逃脱虚拟机的隔离,对真实系统进行攻击。
3.钓鱼木马:通过伪造合法的网站,欺诈用户输入个人信息,完成攻击。
六、按传销性质分:按照恶意软件的传播性质,有三种具体类型:自上而下传播的单一部门型传销木马;基于上下级关系或社区传播的多点式传销木马以及病毒式传播模式下的组织结构性传销木马。
1.文件式木马:通过改变文件,将木马程序与正常程序结合到一起,通过运行正常程序启动木马,达到控制的目的。
免杀的原理大全一、工具mycll:特征码定位PEID:查壳工具PEditor:入口点修改工具加花c32asmollybgoc:文件地址到内存地址的换算resscope:资源编辑zeroadd:加区段的木马采衣:加花maskpe,vmprotect:加密upx,aspack北斗壳:压缩免疫007:免疫器二、效果分析1、加密:vmprotectv1.21和MASKPE2.0(对瑞星有特效),比较容易过瑞星表面,不能过卡巴压缩:北斗,UPX:主要是减少体积加花:对卡巴有特效,通用性比较好2、北斗+VMpro,但是北斗+maskpe出错!无壳木马可以先加花3、无壳木马直接用maskPE22.0可过瑞星表面但是过不了卡巴。
4、无壳木马加一道花指令后再用VMPRO1.21加密可直接过卡巴但是可能无法过瑞星表面5、经过免杀处理,过几种杀毒软件,加压缩壳后仍免杀过他们,但是北斗除外,棉纱处理国卡巴的木马北斗后可能被卡巴杀6、测试操作1)手工加花+掘北压缩,鸽子先脱壳,在用OD在零区域添加指令(根据字节编写):先找原入口点,零区域,记录其地址(新入口点),指令push eax pop eax add esp 1 inc esp push 004A1E48 retn保存。
用PE修改入口点。
能过卡巴,过不了瑞星。
用掘北(对瑞星表面有特效)2)工具加花(花蝴蝶三号)+VMPRO+UPX。
**器三、手工加花方法1、直接:OD,记录入口点;找零区域,复制地址(新入口);写指令:push 0 nop add esp 2inc esp inc esp push exp pop esp push原入口点retn改入口点(新)(lordpe);可以把这段代码保存为二进制以后方便用。
2、去头:复制头,并去掉,填加到空白区域(新地址);再填加花指令。
3、加区:zeroadd加区段,大小一般100左右;OD打开文件,用ALT+M打开内存景象,复制区段入口地址和原程序入口,到区段加花,程序入口地址不变;lordpe 修改入口为区段的入口。
android手机木马的提取与分析Android手机木马病毒的提取与分析为有效侦破使用手机木马进行诈骗、盗窃等违法犯罪的案件,对手机木马病毒的特点、植入方式、运行状态进行了研究,利用dex2jar、jdgui等工具软件查看apk文件源代码。
结合实例,讲述了如何提取关键代码与配置数据,并对手机木马病毒的危险函数、启动方式、权限列表进行分析,证明了该方法的可行性,提取了违法犯罪行为的关键线索服务于侦查办案和证据固定。
智能手机给用户带来便利的同时,手机恶意软件也在各种各样的违法活动中充当了重要角色,其中手机木马病毒犯罪日渐加速化、产业链化、智能化和隐藏化。
Android手机木马病毒主要完成植入木马、运行病毒、监控手机、盗取信息、转走钱财。
他们伪造成“XX照片”、“违章查询处理”、“开房记录查看”、“XX神器”等易于被人点击安装的方式出现,这种恶意短信中附的网址,其实就是诱导下载一个手机软件,安装后手机内并不会显示出该应用,但其中的木马病毒已植入,后台会记录下机主的一切操作,可以随时监控到手机记录。
若机主登录网银、支付宝、微信红包等,银行卡账号、密码就都被泄露了,黑客能轻易转走资金。
此类案件近期呈现高发的趋势。
面对各种各样善于伪装隐藏的手机木马病毒,如何提取分析,并固定证据成为一项重要工作。
本文从Android手机木马病毒的特点入手,讲述了如何提取分析关键代码与配置数据,从而分析出违法犯罪行为的关键线索服务于侦查办案和证据固定。
诈骗、盗窃的目标不变,那就是诱导点击安装短信的链接网址中的木马。
木马植入到目标系统,需要一段时间来获取信息,必须隐藏自己的行踪,以确保木马的整体隐藏能力,以便实现长期的目的。
主要包括本地隐藏、文件隐藏、进程隐藏、网络连接隐藏、内核模块隐藏、通信隐藏、协同隐藏、日志过滤和Rootkit模块的隐藏。
然后实现了Android系统下木马攻击的各种功能,主要有删除SIM卡和手机里的通讯录、删除SD卡里的文件和上传文件到电脑控制端。
壳是什么?脱壳又是什么?这是很多经常感到迷惑和经常提出的问题,其实这个问题一点也不幼稚。
当你想听说脱壳这个名词并试着去了解的时候,说明你已经在各个安全站点很有了一段日子了。
下面,我们进入“壳”的世界吧。
一、金蝉脱壳的故事我先想讲个故事吧。
那就是金蝉脱壳。
金蝉脱壳属于三十六计中的混战计。
金蝉脱壳的本意是:寒蝉在蜕变时,本体脱离皮壳而走,只留下蝉蜕还挂在枝头。
此计用于军事,是指通过伪装摆脱敌人,撤退或转移,以实现我方的战略目标的谋略。
稳住对方,撤退或转移,决不是惊慌失措,消极逃跑,而是保留形式,抽走内容,稳住对方,使自己脱离险境达到己方战略目标,己方常常可用巧妙分兵转移的机会出击另一部分敌人。
三国时期,诸葛亮六出祁山,北伐中原,但一直未能成功,终于在第六次北伐时,积劳成疾,在五丈原病死于军中。
维遵照诸葛亮的吩咐,在诸葛亮死后,秘不发丧,对外严密封锁消息。
他带着灵柩,秘密率部撤退。
司马懿派部队跟踪追击蜀军。
姜维命工匠仿诸葛亮摸样,雕了一个木人,羽扇纶巾,稳坐车中。
并派杨仪率领部分人马大张旗鼓,向魏军发动进攻。
魏军远望蜀军,军容整齐,旗鼓大张,又见诸葛亮稳坐车中,指挥若定,不知蜀军又耍什么花招,不敢轻举妄动。
司马懿一向知道诸葛亮“诡计多端”,又怀疑此次退兵乃是诱敌之计,于是命令部队后撤,观察蜀军动向。
姜维趁司马懿退兵的大好时机,马上指挥主力部队,迅速安全转移,撤回汉中。
等司马懿得知诸葛亮已死,再进兵追击,为时已晚。
相信这个故事,大家在大型连续剧《三国演义》里已经看过了。
呵呵,只是没有理解得这么深入罢了!而在黑客入侵技术中,金蝉脱壳则是指:删除系统运行日志攻击者攻破系统后,常删除系统运行日志,隐藏自己的痕迹...呵呵二、壳,脱壳,加壳在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。
自然界中植物用它来保护种子,动物用它来保护身体等等。
同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。
壳,加壳,脱壳,介绍壳的一些基本常识免杀入门 2009-08-06 16:58 阅读7 评论0 字号:大大中中小小在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。
它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。
就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。
由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
从功能上抽象,软件的壳和自然界中的壳相差无几。
无非是保护、隐蔽壳内的东西。
而从技术的角度出发,壳是一段执行于原始程序前的代码。
原始程序的代码在加壳的过程中可能被压缩、加密……。
当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。
软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。
关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
(一)壳的概念作者编好软件后,编译成exe可执行文件。
1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。
2.需要把程序搞的小一点,从而方便使用。
于是,需要用到一些软件,它们能将exe可执行文件压缩,3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。
实现上述功能,这些软件称为加壳软件。
(二)加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact 不常用的加壳软件WWPACK32;PE-PACK ;PETITE NEOLITE (三)侦测壳和软件所用编写语言的软件因为脱壳之前要查他的壳的类型。
1.侦测壳的软件fileinfo.exe 简称fi.exe(侦测壳的能力极强)。
2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒),推荐language2000中文版(专门检测加壳类型)。
几种常用杀毒软件的使用感受因为平时喜欢折腾电脑,鼓捣软件,难免会接触到行行色色的病毒木马,为了保证电脑的安全不得不考虑装个好点的杀毒软件,通过这么多年的考察和使用,被我淘汰的杀毒软件哗啦哗啦一大片,让我失望又惊喜,惊喜又失望的不在少数。
所以今天突然想要把市面上主要几种杀软调侃一番,给出一个我个人的使用评价,如果不符合你的期待请别骂我。
我尽量不使用专业词汇和生僻概念,能举例的尽量举例,直到实在忍不住说你理解能差为止。
360安全卫士你先别急着骂我,我没说这玩意是杀软,但是鉴于360普及面之广,使用人数之多和迷信程度之高的缘故,必须给它点评价。
360的大面积普及还是最近3年的事情,一个具有一定杀毒和防木马能力的软件能走进千家万户实在是给国人长脸。
但是毕竟这玩意是辅助性的东西,最大的功能在于帮助系统打补丁和清除垃圾,同时方便用户管理一下启动程序和进程什么的,所以受到一致的欢迎。
有人说开着360一般就中不了毒,这种说法是很脆弱的,正常浏览网页还行,真正遇到毒窝就歇菜了。
360在杀毒防木马方面就好比是金庸笔下的江南七怪,行侠仗义打打小毛贼小流氓喊喊口号装模作样一番还可以,但是碰上霍都这样有文化和智商的流氓就疲软了,碰上金轮法王这样的代表性人物更是老实巴交的绕道走。
360杀毒主要是靠病毒库里病毒文件名,如果你把病毒改个名字它绝对老眼昏花。
另外由于不属于杀软,所以病毒库更多的是贴近国内最流行的一线小木马,对于一些不知名的小蠕虫病毒什么的就无力招架了。
瑞星正在使用这个杀毒软件并且用了挺长时间的人或许觉得还可以,但是大部分使用过国外杀软的人和在瑞星的保护下屡次被病毒调戏的人就会痛心疾首了。
先不说瑞星的杀毒能力有多强,单说你把它安装上以后,看那些琳琅满目的进程就知道该软件多会惹麻烦了,尤其是那个莫名其妙的卡卡助手,简直一没用的长舌老妇女,瞎提示乱弹琴。
至于它的杀毒能力,我记得前些年U盘病毒开始起步,我们阶梯教室的多媒体设备在登录系统时瑞星的图标无比清晰,可是进去后明显的就是中毒反应,打开各个盘符变成弹出的窗口,每个盘符下都有自动运行文件,U盘一插即中。
软件加壳、脱壳基础介绍什么是加壳加壳的全称应该是可执⾏程序资源压缩,压缩后的程序可以直接运⾏。
加壳,顾名思义,就是给⼀个东西加上⼀个壳,只不过这⾥是程序。
就好⽐这⼤⾃然中的种⼦⼀样,为了保护⾃⼰,有⼀层壳,要想看到⾥⾯的东西,就要剥开这层壳。
加壳的另⼀种常⽤的⽅式是在⼆进制的程序中植⼊⼀段代码,在运⾏的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的⽬的是隐藏程序真正的OEP(⼊⼝点,防⽌被破解)。
⼤多数病毒就是基于此原理。
加壳的程序需要阻⽌外部程序或软件对加壳程序本⾝的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运⾏。
这种技术也常⽤来保护软件版权,防⽌软件被破解。
但对于病毒,加壳可以绕过⼀些杀毒软件的扫描,从⽽实现它作为病毒的⼀些⼊侵或破坏的⼀些特性。
加壳的⼯具分为压缩壳和加密壳:* UPX ASPCAK TELOCK PELITE NSPACK … ** ARMADILLO ASPROTECT ACPROTECT EPE SVKP …*什么是脱壳 脱壳就是将外⾯的保护程序脱掉,看到⾥⾯的程序。
对于有壳的程序,每次程序的⼊⼝点总是从壳开始,,这个⼊⼝点是EP,那么源程序的⼊⼝点是OEP,壳将真正的OEP隐藏了,我们脱壳就是修改程序的⼊⼝点。
如何脱壳 如果没有基础的汇编知识,那就查出相应的壳,⽤相应的脱壳机进⾏脱壳,那如果,脱壳机⽆法脱呢?⼿动脱壳!基础知识1.PUSHAD (压栈)代表程序的⼊⼝点,2.POPAD (出栈)代表程序的出⼝点,与PUSHAD想对应,⼀般找到这个OEP就在附近3.OEP:程序的⼊⼝点,软件加壳就是隐藏了OEP(或者⽤了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以⽴刻脱壳。
脱壳的⽅法清单⽅法⼀:单步跟踪法1.⽤OD载⼊,点“不分析代码!”2.单步向下跟踪F8,实现向下的跳。
也就是说向上的跳不让其实现!(通过F4)3.遇到程序往回跳的(包括循环),我们在下⼀句代码处按F4(或者右健单击代码,选择断点——>运⾏到所选)4.绿⾊线条表⽰跳转没实现,不⽤理会,红⾊线条表⽰跳转已经实现!5.如果刚载⼊程序,在附近就有⼀个CALL的,我们就F7跟进去,不然程序很容易跑飞,这样很快就能到程序的OEP6.在跟踪的时候,如果运⾏到某个CALL程序就运⾏的,就在这个CALL中F7进⼊7.⼀般有很⼤的跳转(⼤跨段),⽐如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN的⼀般很快就会到程序的OEP。
介绍下加壳识别壳破壳的方法加壳是指在软件应用程序中,使用一种技术将其原始代码进行保护和加密,以防止非法复制、修改或逆向工程。
加壳技术可以对应用程序进行多种不同的保护措施,例如加密,混淆,虚拟机等,使得破解者难以破解原始代码。
然而,加壳也带来了为开发者和研究人员分析应用程序带来的困难,因此,识别和破解加壳成为了逆向工程的一个重要领域。
在识别壳并进行破壳的过程中,可以采用多种方法和技术。
下面将介绍一些常见的加壳识别与破壳方法。
1. 静态分析:静态分析主要是通过分析目标应用程序的可执行文件,以了解其结构和特征,从而确定是否使用了加壳技术。
常用的静态分析工具包括IDA Pro、OllyDbg等。
静态分析的过程中,可以查看应用程序的导入表、导出表、标题信息等,通过对这些信息的分析,可以判断是否存在加壳行为。
2. 动态调试:动态调试是指在应用程序运行的过程中,通过调试器对其进行动态分析。
动态调试可以帮助分析人员观察程序的执行过程、内存变化、寄存器状态等,从而判断是否存在加壳行为。
常用的动态调试工具包括OllyDbg、WinDbg等。
3.特征匹配:加壳工具通常会在目标应用程序中插入一些特征代码或指令,用于解密和执行加壳后的代码。
通过分析这些特征代码的存在与否,可以判断目标程序是否加壳。
例如,一些加壳工具会在代码中插入字符串或控制流混淆指令,通过检测这些特征代码的存在,可以识别加壳壳。
4.元数据检测:一些加壳工具会修改目标应用程序的元数据信息,例如PE文件头中的相关字段。
通过比较目标程序的元数据信息与原始程序的差异,可以判断是否存在加壳行为。
5.虚拟机检测:一些加壳工具使用了虚拟机技术,将原始代码转化为虚拟指令集,以增加破解难度。
通过动态执行目标应用程序,并对其执行过程进行监测和分析,可以检测虚拟机指令的存在,并进一步破解加壳。
6. Dump内存:一旦确定目标程序使用了加壳技术,可以通过Dump 内存的方式,将内存中的加壳代码和解密数据导出到磁盘上。
恶意代码加壳分析与检测恶意代码加壳是指恶意软件开发者将恶意代码通过其中一种方式加密或混淆,以逃避常规的检测和分析手段。
恶意代码加壳的目的是为了增加其持久性、隐藏性以及反逆向工程能力,阻碍安全研究人员和安全软件的分析和检测。
恶意代码加壳的技术手段主要包括代码加密、虚拟机、代码运行时解密等方式。
通过这些手段,恶意代码可以将其真实功能进行隐藏,以避免被静态分析工具和杀毒软件检测到。
加壳的过程通常会对恶意代码进行多次变形和优化,使其破解难度增加,提高自身的抗逆向分析能力。
对于恶意代码加壳的分析和检测,安全研究人员需要采用一系列的技术手段和工具来进行分析。
首先,静态分析是最基本的手段,通过对恶意代码进行反汇编和反编译,分析其逻辑流程和功能。
然后,可以使用动态分析工具进行运行时监测,获取更多的信息。
此外,还可以通过解密和反加壳技术,将恶意代码还原为其原始形态,以便更好地进行分析和检测。
在分析恶意代码加壳时,安全研究人员还需要考虑以下几个方面。
首先,要了解加壳工具和加壳技术的特点和原理,以便选择合适的分析方法和工具。
其次,要熟悉常见的加壳算法和加壳技巧,以便更好地理解和分析加壳过程。
再次,要关注恶意代码加壳的最新发展,及时了解新的加壳工具和技术,以提升自身的分析能力。
针对恶意代码加壳的检测,主要可以从静态分析和动态分析两个方面入手。
静态分析主要关注对恶意代码的反编译和反汇编,通过分析其特征和行为,进行检测和分类。
动态分析则是通过在安全环境中运行恶意代码,监测其行为和恶意活动,以检测和识别加壳的恶意代码。
另外,由于恶意代码加壳技术的不断进步,传统的分析和检测手段可能会变得不再有效,因此需要不断更新和改进分析方法和工具。
同时,也需要与安全社区和厂商保持紧密合作,及时共享信息和技术,共同应对加壳恶意代码的挑战。
总之,恶意代码加壳分析和检测是一个复杂而重要的任务,需要安全研究人员具备扎实的技术功底和丰富的经验。
通过不断的学习和实践,才能更好地应对恶意代码加壳的挑战,保护用户的网络安全。
软件加壳技术的研究与实现
一、加壳技术基本原理
加壳技术是将被保护的软件程序代码加密并隐藏,然后加上一层外层程序成为加壳程序,运行时通过解密并还原原程序,使其正常运行。
加壳技术的主要目的是防止恶意程序
和盗版软件对原软件的侵犯。
二、常见的加壳方法
1. 数字签名加壳:数字签名作为加壳的一种方式,它通过给软件二进制代码打上数
字签名,确保该软件只能在特定计算机上运行。
2. 完整性检查加壳:该方法通过计算软件二进制代码的特征码并与预设值进行比对,来确定软件是否完整。
若不完整,则会使程序无法运行。
3. 虚拟机加壳:使用不同的虚拟机环境来保护软件,如Java虚拟机和.NET Framework。
4. 密码保护加壳:这种方式是将软件程序加密,然后通过输入密码才能运行。
三、加壳的优缺点
1. 对软件代码进行加密和隐藏,使得破解软件的难度加大,从而保护软件安全。
2. 可以通过加入验证机制来防止盗版和非法复制。
3. 可以让软件商加入一些行业标准,以保证软件的使用符合一定的规范和标准。
1. 加壳会降低程序运行的速度和效率。
2. 加壳技术可能会被黑客攻击,从而导致软件安全问题。
3. 因为加壳需要额外的运算和内存空间,因此会使软件的体积增大。
四、结论
总的来说,加壳技术在保护软件安全方面扮演了重要的角色。
虽然加壳技术会对软件
的运行速度、效率和体积带来一些不利影响,但通过合理的加壳策略和应用加固,可以有
效地保护软件不被非法复制和盗版,同时保护软件商的利益,有利于软件产业的发展。
上机实验报告
一、目的及要求
实验目的:
使用不同的加壳工具对已知恶意代码样本进行加壳操作,掌握不同加壳软件的使用方法,清楚各类加壳工具的加壳特点和强度。
实验要求:
(1)Aspack、Asprotect、Armadiollo和Themida等加壳工具,对恶意代码pe.exe进行加壳;
(2)比较加壳前后样本在大小、节数量、入口点等方面的变化;
(3)将加壳后的恶意代码用杀毒软件进行查杀,通过查杀结果比较各加壳工具的加壳强度。
二、环境(软、硬件平台)
虚拟机:安装winXP操作系统,各加壳软件、PE文件格式查看软件以及360杀毒软件。
工具:
(1) ASPACK 2.29:ASPACK是一种可压缩32位Windows EXE文件与DLL文件的压缩壳,能将大多数EXE文件及DLL压缩到原体积的30%-40%,比行业标准的zip文件压缩率高10%-20%;
(2) Asprotect 6.26:ASProtect是一款强大的Win32程序加壳软件,它拥有压缩、加密、反跟踪、CRC校验以及代码混淆等保护措施。
它采用了Blowfish、Twofish、TEA等加密算法,并利用1024位的RSA算法作为注册密钥的生成器。
它还提供API钩子与加壳程序进行通信,并为软件开发人员提供SDK,更加促进了程序与壳之间的相互融合。
(3) Armadillo 4.40:也称穿山甲,是一款应用面较广的壳。
它运用多种手段来保护目标程序,同时也可以为程序加上种种限制,包括时间、次数,启动画面等等,很多商用软件采用其加壳。
Armadillo 支持所有语言编写的32位PE文件。
(4) Themida是Oreans公司的一款商业壳,可以针对32位和64位的Windows程序进行保护。
Themida最大特点就是采用了所谓SecureEngine的虚拟机保护技术,当它在高优先级的情况下运行时,具称能够抵御当前破解者采用的所有破解技巧。
(5) PE_Info:PE Info是一款用于查看PE文件详细信息的软件,可查看运行平台及区块数目、创建时间及日期、程序执行入口及DOS、PE头+区块表。
内存中区块对齐值、文件中的区块对齐值、文件子系统、映像校验及DLL特征。
(6) pe.exe:恶意代码样本,具有感染功能。
三、内容及步骤
内容及步骤:
1.按照实验指导书在虚拟机中对pe.exe进行加壳操作,如下
开启360实时防护
检测pe.exe发现危险
加壳
Armadillo加壳36KB->540KB
ASPACK 36KB->20.5KB压缩型
ASProtect 36KB->366KB
Themida 36KB->1212KB!!! 360检测加壳后文件未报毒。
3.分析pe文件
4.加壳强度分析:
Armadillo也称穿山甲,是一款应用面较广的壳。
可以运用各种手段来保护你的软件,同时也可以为软件加上种种限制,包括时间、次数,启动画面等等!很多商用软件采用其加壳。
Themida是Oreans的一款商业壳,Themida 1.1以前版本带驱动,稳定性有些影响。
Themida 最大特点就是其虚拟机保护技术,因此在程序中擅用SDK,将关键的代码让Themida用虚拟机保护起来。
Themida最大的缺点就是生成的软件有些大。
ASProtect是一款应用面最广的加密壳,其兼容性和稳定性很好,许多商业软件采用这款壳加密。
AsPack中文版是一款高效的Win32可执行程序压缩工具,能对程序员开发的32位Windows 可执行程序进行压缩,使最终文件减小达70%!
四、问题及心得。