码农的世界开发经验随笔

upx壳

2019-08-24  本文已影响10人  山东大葱哥

最近碰到一款程序,本想研究下其中的加密算法,用ida打开发现看不到有用的代码信息,想可能是加壳了,于是下载pe类的工具看了下,显示是upx加壳,网上下载了几个upx得脱壳工具发现都不行,显示upx可能是被修改过的。

接下来又按照网上的方法上od神器,找真正的程序入口地址,结果找到的地址脱了出来后程序运行不起来,试着修复也不行,看来还是我找的方式不对,或者这个伪造的upx做了加强,由于时间有限,就没有继续深入跟踪。

只是简单了解了下upx的概念,和一般upx的脱壳流程。

# 概念

UPX是一个著名的压缩壳,主要功能是压缩PE文件(比如exe,dll等文件),有时候也可能被病毒用于免杀.壳upx是一种保护程序。一般是EXE文件的一种外保护措施,主要用途 :

1、让正规文件被保护起来,不容易被修改和破解。

2、使文件压缩变小。

3、保护杀毒软件安装程序,使之不受病毒侵害。

4、木马,病毒的保护外壳,使之难以为攻破。 仅仅看一个壳upx路径 是不能确定什么的。要仔细看看他相对应的文件,如果是杀毒或者是自己已知的文件那就无伤大雅,要是其他疑似,就要认真对待了。

有些软件的安装程序是加壳安装的,属正常现象。 建议查杀一下恶意程序、病毒。

# 技术原理

对于可执行程序资源压缩,是保护文件的常用手段. 俗称加壳,加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.

加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。当加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。

上一篇 下一篇

猜你喜欢

热点阅读