CTF-REVERSE练习之脱壳分析

本文介绍了CTF中的逆向分析实践,特别是针对加了UPX壳的程序进行手动脱壳的过程。内容涵盖加壳与脱壳概念,UPX壳的简介,以及通过Ollydbg进行的脱壳步骤,包括设置断点、识别入口点、保存dump文件和使用ImportREC修复输入表,最终成功脱壳并确保程序正常运行。
摘要由CSDN通过智能技术生成

预备知识

相关实验

本实验要求您已经认真学习和完成了《CTF REVERSE练习之逆向初探》。

在自然界中,植物用壳来保护种子,动物用壳来保护身体等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。他们附加在原程序上通过Windows加载器载入内存后,先于原始程序的执行,得到控制权,执行过程中对原始程序进行解密和还原操作,还原后再把控制权交给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可防止程序被静态反编译。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,就把这样的程序称为“壳”了。
按照壳的功能特性,壳可以划分为压缩壳和加密壳,压缩壳侧重于压缩体积,加密壳侧重于加密,二者的出发点是不一样的。常见的压缩壳有upx、ASPack等,常见的加密壳有ASProtect、Armadillo等。

UPX

UPX(the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器。压缩过的可执行文件体积缩小50%-70%,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。通过UPX压缩过的程序和程序库完全没有功能损失,和压缩之前一样可正常地运行。对于支持的大多数格式没有运行时间或内存的不利后果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值