1   1  /  1  页   跳转

[讲义] 基础脱壳教程-第一课

基础脱壳教程-第一课

先说一下,这套课程,相当于我们已经学习过的反汇编初步课程的扩展(http://bbs.ikaka.com/showtopic-8649874.aspx
这一课,我将给大家讲一下,软件壳的概念和作用,并简单介绍下脱壳常用的工具




软件壳(shell)的概念

    首先,我们先来了解一下PE文件的概念。PE文件被称为可移植的执行体是Portable Execute的全称,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)
    对于PE文件来说,我们可以通过反汇编的方法,来分析它的内容。
    但是呢,PE文件的编写者可能对文件有一些特殊的要求,而这些要求,有些可以通过软件壳来完成。

    按这些要求来划分的话,常见的可以大致分为以下三类:
    1,需要减小PE文件的体积,而不用RAR等压缩软件也可以执行----压缩壳
    2,需要保护PE文件,防止软件被破解者破解或者别别人逆向----保护壳(加密壳)
    3,需要对PE文件的代码进行处理,从而逃过杀软的特征码查杀----免杀壳(加花壳)

    而我们分析一个病毒的时候,病毒作者为了减小病毒体积以便于传播,或者加花来逃过查杀,经常给病毒加上壳。而我们想要继续分析的话,显然需要将壳脱掉。
   



 
脱壳常用的工具

    1,侦壳软件----PEID
   
 附件: 您所在的用户组无法下载或查看附件
    要脱壳,首先要知道PE文件有没有壳?是什么壳?这时,我们用到的软件是PEID。在PEID中选择打开要查的文件,或者将文件直接拖拽到PEID的窗口上,它就会分析出结果

   
 附件: 您所在的用户组无法下载或查看附件
    如果显示的是一种编程工具,那么说明该文件没壳,并且是那种编程工具说编写。(也有可能是伪装的)

   
 附件: 您所在的用户组无法下载或查看附件
    如果显示的是一种壳的名字,那么说明该文件使用那种软件壳加壳。

   
 附件: 您所在的用户组无法下载或查看附件
    如果现实“什么都没找到”(nothing found),那么,说明PEID没查出来,一般是使用了未知壳。


    2,调试软件----Ollydbg
    OD是目前ring3下,最流行的调试器,老师的课程中已有介绍。


    3,转存软件----LordPE
   
 附件: 您所在的用户组无法下载或查看附件
    转存(dump),一般是把已经解密在内存中的数据,把它保存出来。


    4,输入表修复软件----ImportREC
   
 附件: 您所在的用户组无法下载或查看附件
    输入表(IAT),存放的是程序调用的外部dll中的函数的信息,很多壳都会对文件的输入表进行加密,这样造成脱出来的程序无法运行。这时就需要用到输入表修复软件。




这节课就讲到这里,下节课将给大家讲一下单步跟踪加UPX壳的软件并脱壳。谢谢

用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; MAXTHON 2.0)
毕竟回忆是远了暗了的暮霭,希望才是近了亮了的晨光!
分享到:
gototop
 
毕竟回忆是远了暗了的暮霭,希望才是近了亮了的晨光!
gototop
 

回复: 基础脱壳教程-第一课



引用:
原帖由 xiaomajia52 于 2009-8-15 0:53:00 发表
哇,小Z出教程了,大家快来学习!小Z,快点出点实际操作应用的吧!

我想知道,为什么加花指令或者是加壳后,就会逃过一部分杀毒软件,瑞星会检测不出来吗?



    对于杀软的查毒方式,其最经典的是:提取只有某种病毒中才含有的特殊二进制串,综合起来作为病毒特征库,然后扫描文件,判断是否有该串,如果有,则为病毒。
    假设某病毒中的串“A4E355D6E7”(转为16进制)是病毒特征码,那么查毒的话,就会查出来
    而最简单的免杀壳的工作原理就是对代码和数据进行异或运算。因为两次与同一值做异或运算,得到的还是原值(A ^ B ^ B = A),那么,免杀壳会把该病毒所有代码和数据与一个值做异或运算后,做为数据放在加壳后的程序中。
    这时去扫描加壳后的病毒话,自然就扫描不到“A4E355D6E7”这个串了。
    而运行加壳后的病毒时,它会先将加壳时异或的代码和数据再次异或,然后跳到原来的代码入口点执行。这样的话,程序也能工作正常了。

    当然,现在这种方式几乎是行不通的了,目前的杀软都有主动防御,云查杀,虚拟机脱壳等新的技术,并且有时对于一些加壳的程序也会报警。
毕竟回忆是远了暗了的暮霭,希望才是近了亮了的晨光!
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT