再聊简单加密压缩保护壳

    壳,本身是为了保护内部的软件,防破解,或者说免杀。

    关于免杀,市面上几乎没有几个大神能从技术层面逃过360的法眼,除非是背后的权钱交易。

    无论是什么加密加花加壳技术,遇到内存查杀都会原形毕露。而且360独创的白名单技术,不在我名单里的都是病毒,全部干掉。这谁受得了……

    之前洪雨提到的方法方式,最好用的还是源码查杀,再就是源码加花,最后虚拟机加密壳比较有效果,可以撑一段时间。

    这篇文章洪雨想说说单纯的软件单纯的加密压缩壳保护壳。

    首先说的是压缩壳,主要依赖的是压缩算法,著名的upx,rar和7z的压缩算法都是非常不错的,一个小白如果想超越,实在太难了。不如直接使用。

    而且到目前为止,我们平时使用的压缩软件,比如rar加密就只能使用暴力破解,只要密码够长够复杂,理论上是无法破解的,暴力破解也不行。除非算力飞跃式提升。

    既然如此,那么过主动防御就很简单了,无论什么病毒木马,只要压缩加个密码,就完全ok了,而且完美防破解。

    不过,话说回来,软件是要运行的,能在运行中防破解才是硬道理!

    就像洪雨上面说的,一切归根结底都是要转化为内存运行,无论是查杀还是破解,直接搞内存就一切都搞定了。

    这就出现了虚拟机保护技术。

    所谓虚拟机保护技术,是指将代码翻译为机器和人都无法识别的一串伪代码字节流;在具体执行时再对这些伪代码进行一一翻译解释,逐步还原为原始代码并执行。


    这段用于翻译伪代码并负责具体执行的子程序就叫作虚拟机VM(好似一个抽象的CPU)。它以一个函数的形式存在,函数的参数就是字节码的内存地址。


    将虚拟机应用到商业中的例如:Vmp,tmd

    这个技术说简单也简单,说复杂也太复杂,洪雨不做研究,再怎么研究都不如商用神作,何必麻烦。

    洪雨这里提出一个简单保护壳的思路。

    之前我提到的写壳思路,可以给任何软件加壳,甚至已经加过壳的软件也可以再加。因为方法比较粗犷,所以对软件本身要求不高。市面上杨也有一些方法相近,换汤不换药的工具出现。

    这次这个思路,需要软件能够在内存中直接运行,所以那些加过壳的软件就不行了。

    首先,软件还是三部分,一个是要加壳的软件a.exe,一个是头文件,一个是加壳工具。

    然后,将a.exe进行加密压缩,或者再加一些其他处理,比如一分为二,颠倒位置,比如分离pe头……

    头文件储存了a.exe的各种数据,可以对其解析还原后运行,这次的运行是在内存中运行,不需要写出,不会再生成任何文件。

    最后,将处理过的a.exe加到头文件的屁股上。

    头文件可以进行加壳,但加壳有可能破坏保存在头文件内部的a.exe的相关数据,所以可以将相关数据单独存放,头文件只留有解析还原运行的功能。然后将加壳后的头文件,a.exe的相关数据,经过处理后的a.exe三者进行结合。

    这个过程写起来比较简单,但是逻辑比较绕,有点烧脑,所以需要在写代码之前做好笔记构架。

posted @ 2020-02-05 11:17  洪雨  阅读(480)  评论(0编辑  收藏  举报

友情链接

红尘修行笔记|钱度众生