基础脱壳教程-第一课

先说一下,这套课程,相当于我们已经学习过的反汇编初步课程的扩展(
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)