下面是我的脱壳。
手动脱壳
1.ESP定律法查看通用寄存器ESP,数据窗口跟踪。F8单步步入,F4禁止向上跳转
2.单步跟踪法F8单步跟踪,遇CALL F7进入。直到到达OEP,经过多次F8,F4终于到达OEP了,恒大的第三课的跳转好多,逢向上的跳转,用F4。
3.脚本脱壳法这个不需多说了。
4.软件脱壳法,此法完美脱壳,win7 x64下测试通过,正常运行,并且区段无upx0,upx1
5.一步到达oep法,前辈总结的经验。查找POPAD,不要勾选整个块。向下走几步。就可以到达oep,适用于部分壳。POPAD 出栈。
6.内存镜像法,经过两次调用内存,然后在.risc处下断点,最终到达OEP。内存 .rsrc 下断 shift+F9 运行再内存找CODE(资源)下断再执行出来单步跟
以上方法,除了用脱壳机以外,用ollydump脱壳调试进程,用方式一(在内存镜像中搜索JMP[API]︱CALL[API])重建输入表,后会提示,如下图,可能与我x64有关。
如果用方式二(在脱壳文件中搜索DLL&API名称)的话,会提示
还有种方式Lordpe完,重建输入表,我没配置好工具,吾爱专版的不会用,未测试。
用peid查壳后,发现ep段仍然有残留。
UPX
UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。 UPX 支持许多不同的可执行文件格式 包含 Windows95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、 Linux 可执行文件和核心。
UPX是一款先进的可执行程序文件压缩器。压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失,和压缩之前一样可正常地运行。对于支持的大多数格式没有运行时间或内存的UPX不利后果。它支持许多不同的可执行文件格式 :包含 Windows95/98/ME/NT/2000/XP/CE程序和动态链接库、DOS 程序、Linux 可执行文件和核心。
UPX有不光彩的使用记录,它被用来给木马和病毒加壳,躲避杀毒软件的查杀。
UPX是一个著名的压缩壳,主要功能是压缩PE文件(比如exe,dll等文件),有时候也可能被病毒用于免杀.壳upx是一种保护程序。一般是EXE文件的一种外保护措施,主要用途 :
1、让正规文件被保护起来,不容易被修改和破解。
2、使文件压缩变小。
3、保护杀毒软件安装程序,使之不受病毒侵害。
4、木马,病毒的保护外壳,使之难以为攻破。 仅仅看一个壳upx路径是不能确定什么的。要仔细看看他相对应的文件,如果是杀毒或者是自己已知的文件那就无伤大雅,要是其他疑似,就要认真对待了。
有些软件的安装程序是加壳安装的,属正常现象。建议查杀一下恶意程序、病毒。
技术原理
对于可执行程序资源压缩,是保护文件的常用手段. 俗称加壳,加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.
加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。当加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。
压缩文件
用UPX压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,支持的大多数格式程序,没有运行时间或内存的不利后果。
加壳脱壳
程序为了反跟踪、被人跟踪调试、防止算法程序被别人静态分析就需要加壳。使用加壳软件加密代码和数据,就可以保护你程序数据的完整性,防止被程序修改和被窥视内幕。
版权信息
Copyright (C) 1996-2007 Markus Franz Xaver Johannes OberhumerCopyright (C)1996-2007 Laszlo MolnarCopyright (C) 2000-2007 John F. ReiserAll RightsReserved.This program may be used freely, and you are welcome toredistribute itunder certain conditions.This program is distributed in the hope that it willbe useful,but WITHOUT ANY WARRANTY; without even the implied warrantyofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theUPX LicenseAgreement for more details.
使用实例
Netscape 4.06 | win32/pe | netscape.exe | 2,934,336 | 1,124,352 | 0.383 |
Descent 2 | watcom/le | descent2.exe | 1,448,873 | 652,832 | 0.451 |
MAME 0.36 | djgpp2/coff | mame.exe | 8,214,016 | 1,810,056 | 0.220 |
OneOhOne | dos/exe | 101.exe | 438,144 | 179,566 | 0.410 |
Emacs 20.2 | linux/386 | emacs-20.2 | 2,772,657 | 925,543 | 0.334 |
g++ 2.8.1 | atari/tos | cc1plus.ttp | 1,595,049 | 655,508 | 0.411 |
相关软件
Upx it
Upx-shell
简单实用的程序压缩、解压缩利器,压缩率高,支持EXE、COM、DLL、SYS、OCX等多种文件格式的压缩。海峰电脑家园制作,制作时,采用官方多语言原版,修正使用中文语言包时的显示错误,由于是使用语言包汉化的,第一次使用的时候,需要点击Options栏,在Select youlanguaga下拉菜单中选择简体中文。
Freeupx
Free UPX 是 UPX 的图形化外壳工具,比纯粹的 UPX 更友好、更易于使用。较其他外壳程序,此工具的可选参数更多。个人感觉,压缩,解压缩也更稳定。
Free UPX 是一个非常全面的可执行文件压缩软件,用于压缩和解压缩微软可移植可执行程序以及COFF规则的EXE, DLL, OCX, BPL, CPL 等,它为 DOS 版的 UPX 提供友好的使用界面,并增加不少的新的参数与功能,简单易用。
请注意!反复压缩、解压缩同一个文件,容易出现“未发现文件”的错误,这个并不是汉化的原因,原版也同样有这样的问题;UPX 在处理文件的时候要更改文件的名称,在出现上述错误时,查看文件所在目录是否有以.000 或 .UPX 为扩展名的文件,将其改为原文件扩展名称再次处理就好了。
Upxtool+