对近在眼前加密软件原理的猜想

    当年一直有一个龌龊的想法,就是给别人的软件加上自己的限制,比如密码,比如验证等等。

    这种想法一直延续到今天,有事没事我就会上网研究一下相关技术,看看别人写的源码,r然后自己想想。

    不过,因为技术有限,一直都没能很完美的实现。看过的源码也都原理一样,跟我一开始的思路都是一个东西。

    后来发现近在眼前大神的一款工具,给任何软件加密码。

    尝试了一下,发现无比神奇。然而更神奇的是,大神居然把这款软件的源码共享出来。然后我各种的研究啊,发现还是看不懂。

    里面最重要的一部分叫做“头文件”,加载在资源中。我将资源释放,发现是一个完整的exe文件。

    然而这个文件是怎样写的,大神没有分享。

    我的思路就开始跑偏,觉得大神可能是pe头什么的汇编操作。查了各种资料也没查出个所以然来。

    最近研究写一款压缩壳,想到了一个思路,忽然对大神当年写的“文件头”有所猜想。原来主要东西就是一个解密运行的原理。所有的核心都在这个“文件头”里。

    猜想原理,假设要加壳的原文件为a,加壳后的为b,首先写一个头文件,这个头文件是一个完整的exe文件,他主要功能是验证密码,完整的计算a的大小,并运行a。

    然后将a对接到头文件后面,生成一个b。

    当软件运行的时候,头文件会效验密码正确性,然后自动剥离a,并运行a。这样就实现了对a的完美限制。

    话说回来,这样就有点太简单了,所以在对接前,通常要经过一定的处理,比如压缩,比如加密,反正就是一些字节集操作。

    而剥离的方法,通常是写出,但如果a未加壳,那么可以申请内存,直接内存运行即可,无需写出。

    不知道大神是不是这样写的,一切都是我的猜想。

posted @ 2019-06-08 13:51  洪雨  阅读(394)  评论(0编辑  收藏  举报

友情链接

洪雨营销