《逆向工程核心原理》学习笔记6 运行时压缩

《逆向工程核心原理》学习笔记6

运行时压缩

一、压缩文件十分常见,只要通过一定的压缩算法,就能缩减文件的大小。

二、而运行时压缩是针对PE可执行文件而言的,和普通压缩器相比,运行时压缩器的明显不同是“PE文件的可执行性”。

三、常见的压缩器有:UPX,ASPack等

四、保护器:1.保护PE文件免受代码逆向分析的实用工具。
2.目的:防止破解,保护代码和资源
3.使用现状:常用于在线游戏的保护
4.常见保护器:商用:ASProtect,Themida,SVKP等
公用:UltraProtect,Morphine等

五、运行时压缩的测试
用UPX将notepad.exe压缩
upx下载地址:http://upx.sourceforge.net
下载好以后解压到当前文件夹,在终端(本人用的是win10的Windows PowerShell(管理员))进入upx.exe所在的目录,然后输入.\upx.exe如图所示在PowerShell中使用upx
于是就出现了upx的使用方法
我们先将notepad.exe复制粘贴到工作目录,然后我们输入如下命令行参数,对notepad.exe使用运行时压缩(疑问:-o是什么参数?)

.\upx -o notepad_upx.exe notepad.exe

可以看到notepad.exe被压缩成notepad_upx.exe的信息,如果压缩后还想再看看notepad_upx.exe压缩的信息,可以输入以下命令行

.\upx -l notepad_upx.exe

就会出现以下的信息
压缩信息
可以看到,文件的大小从67584缩小为48640,压缩比为71.97%
我们再用PEviewer来看看压缩前和压缩后有什么区别notepad.exe
这是没压缩前的notepad.exe
notepad_upx.exe
这是压缩后的,可以看到,它们的变动主要在节区部分,原来的.text节区和.data节区分别变成了UPX0和UPX1,相应的各自的节区头也发生了改变,点开查看,发现UPX0的大小为0!在这里插入图片描述
我们看看UPX0的节区头,看看能不能发现什么VirtualSize果然发现了端倪,表示节区在内存中的大小的VirtualSize大小居然是10000H!
在这里插入图片描述
这就是说,在执行该.exe的瞬间,会有代码解压到这个节区,书上还说,解压缩和压缩的源代码都在第二节区(我也不知道为啥)。书上还说,解压完就可以开始进入EP了。在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值