初识UPX加壳

作者: 六亲不认的步伐 | 来源:发表于2020-05-19 17:07 被阅读0次

加壳


全称: 可执行程序资源压缩,对EXE,DLL里的资源进行压缩
特点: 压缩后的程序可以直接运行(实时),这是与传统意义上压缩的区别,例如zip压缩,rar压缩,tar.gz压缩等。
加壳后的程序 : 它们附加在原程序上通过加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。
功能

  • 从安全角度讲 防止代码可以进行反汇编,查看源代码对软件进行分析 。
  • 从传输角度讲 因为加壳具有压缩功能,可以有利于文件在网络上传输 。
    压缩壳生动理解
    分类:
  1. 压缩壳 :减小软件体积大小
  2. 加密壳 :
  • 单纯保护程序
  • 提供注册机制
  • 使用次数
  • 时间限制等。

加壳算法举例

  • ASPacK
  • UPX
  • PECompact
  • ASProtect

恶意利用


正是因为加壳的特点:它与压缩不同的点在于一个需要进行读写硬盘,加壳直接进入内存运行,所以就成为运行木马的封装工具,有利于逃避被查杀病毒发现。

UPX加壳


底层原理:参考文章 i春秋帖子: UPX源码分析——加壳篇
思路:就是通过对原来的文件信息,通过压缩替换的思想,在进行压缩后,可以将解压的方法y = f(ξ),放置在最开始的位置,可以能够通过读取最开始位置壳的压缩方法,来进行脱壳(解压)
如下图所示,图片来源于:吾爱破解

UPX加壳前信息示意图
  1. 根据图中,可以理解原来文件的原始信息内容ξ是7 8 9。
  2. 通过UPX算法f将其进行加壳压缩,变为压缩信息y,其内容2 3 4
  3. 由于加壳的特点是程序能够自己在内存中实时运行,所以在前面需要添加说明f的实现方法。
    所以整个信息内容由原来的ξ+other_info变为了f+y+other_info


    UPX加壳示意图

参考资料

  1. i春秋帖子: UPX源码分析——加壳篇
  2. 吾爱破解: 小Z以UPX为例,讲解什么是壳,什么是压缩壳?

相关文章

  • 初识UPX加壳

    加壳 全称: 可执行程序资源压缩,对EXE,DLL里的资源进行压缩特点: 压缩后的程序可以直接运行(实时),这是与...

  • upx加壳软件

    今天我们来学习一款给应用加壳的软件,叫做upx(the Ultimate Packer for eXecutabl...

  • upx壳

    最近碰到一款程序,本想研究下其中的加密算法,用ida打开发现看不到有用的代码信息,想可能是加壳了,于是下载pe类的...

  • UPX源码分析——加壳篇

    https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=193...

  • 每日总结-第二十三天-ida数据

    linux下upx壳特征: 有时候会用其他字母替换掉UPX导致解压缩壳失败eg: 只用把ZOB替换成UPX就可以使...

  • 恶意代码分析2

    说明加过壳了(果然如此,加的是UPX壳) 使用脱壳机直接脱壳: 脱完壳以后发现变得正常了: 发现其创建了一个服务:...

  • 针对加“壳”so的Gothook

    起因 在测试某加固过程中,由于so进行了加壳(upx变种),导致常规的gothook,无法hook got表函数。...

  • BUUCTF re:Youngter-drive

    坑啊,跳了一个双线程的坑,结果还有一个坑对,这个题我觉得应该算是一个多线程的题查壳是发现加壳了,而且是upx壳,脱...

  • 手脱UPX壳

    调试工具是PEID和OD 脱壳工具为OllyDbg,在oep处右键,用ollydump脱壳调试进程。 单步跟踪 单...

  • UPX压缩壳简介

    示例使用到的是变种爱加密的UPX壳https://wwe.lanzous.com/iqV0Pfysrkj 首先看看...

网友评论

    本文标题:初识UPX加壳

    本文链接:https://www.haomeiwen.com/subject/rtpbohtx.html