请注意,本文编写于 885 天前,最后修改于 879 天前,其中某些信息可能已经过时。
首先我们有知道什么是壳,壳是在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。而一般的我们将壳分为两类:一类是压缩壳,另一类是加密壳。UPX壳就是一种简单的压缩壳,一般可借助工具完成UXP脱壳。
压缩壳:压缩壳早在 DOS 时代就已经出现了,但是当时因为计算能力有限,解压开销过大,并没有得到广泛的运用。使用压缩壳可以帮助缩减 PE 文件的大小,隐藏了 PE 文件内部代码和资源,便于网络传输和保存。通常压缩壳有两类用途,一种只是单纯用于压缩普通 PE 文件的压缩壳,而另一种则会对源文件进行较大变形,严重破坏 PE 文件头,经常用于压缩恶意程序。常见的压缩壳有:Upx、ASpack、PECompat。参考CTF-wiki
首先给自己准备一点实验用的程序,攻防世界入门题,simple-unpack正好就是我们需要的UPX壳,但是它是一个64位程序,OD只支持32位的程序,对于64位的程序我们可能需要用到DebugX64了。虽然教程都是使用OD进行脱壳的,但是原理应该大同小异。正所谓师傅领进门,修为看个人。查壳,载入DebugX64。
虽然UPX的壳的脱壳只能叫做解压,都不能叫做解密。并且很多的UXP的壳都可以使用各式各样的软件进行自动脱壳。但是对UPX壳的学习还是有必要的,一是可以熟悉一下OD,二是可以联系一下自己对汇编代码的理解。补充一点,本身这篇博文应该在昨天就可以完成,但是遇到了一些问题。
在我第一次使用插件脱壳的时候,OD发生了报错,我翻遍了论坛,说什么问题的都有,最终我在我的VM上又给自己装了一个XP的系统,然后上面的所有操作都在32位的XP虚拟机中完成。还有就是昨天的比赛我们队里的大佬的wp出来了,可以开始研究研究了。打开一看,咦~生涩且枯燥。之后NULL战队的题解也出来了,咦~更加生涩且枯燥。哎~研究透这些题可能还是需要一些时间吧,噶油!!
全部评论 (暂无评论)
info 还没有任何评论,你来说两句呐!