首页 » PHP教程 » php参数加密技巧_php源码怎么加密

php参数加密技巧_php源码怎么加密

访客 2024-10-31 0

扫一扫用手机浏览

文章目录 [+]

此类加密的代表有 威盾PHP加密专家、PHP在线加密平台、PHP神盾 等。

此类加密都因此eval函数为核心,辅以各式各样的字符串稠浊和各种小技巧,来达到加密目的(更准确的说,该当算是稠浊)。
下面以一个大略的hello world为例来解释此类加密的大体过程。

php参数加密技巧_php源码怎么加密

<?php

php参数加密技巧_php源码怎么加密
(图片来自网络侵删)

echo \"大众hello world\"大众;

首先,我们把这段代码变为通过eval实行的

<?php

eval('echo \公众hello world\"大众;');

然后,我们再进行一些转换,比如说base64编码

<?php

eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));

就这样子,我们的第一个加密过的php代码新鲜出炉了。


上面这个例子非常非常大略,基本上任何有一点php措辞根本乃至别的措辞根本的人都能轻松的看懂并解密。
因此,我们须要一些方法让这个加密至少看上去不是那么大略。

二、同时采取多种编码函数

除了刚才提到的base64,php还有许多内置的编码函数,例如urlencode、gzcompress等。
把这些函数稠浊利用可以提高解密的繁芜度(不是难度),此外还可以利用strtr来制订自己的编码规则。
利用变量来代替函数名 利用特定字符来命名变量

这儿所说的特定字符是一些极其相似的字符,如I和1,0和O。
试想一下满屏都是O和0组成的变量,并且每一个的名字长度都在10个字符以上。


判断文件自身是否被修正

这个功能看似随意马虎,对文件做一下择要再进行下比拟即可知道是否被修正了,但是如何才能在文件内把择要嵌入进去呢?我没有找到完美的方案,但一个变通的方案还是很随意马虎的。


<?php

$code = substr(file_get_contents(__FILE__), 0, -32);

$hash = substr(file_get_contents(__FILE__), -32);

if(md5($code) !== $hash) {

exit('file edited');

}

ACBC41F727E00F85BEB3440D751BB4E3

当然,你可以把这个校验字符串放在别的位置来提高破解的难度。
有了这个,别人想破解你的程序可就得多费一点功夫了。


既然知道了事理,那解密自然也就非常大略了,总体来说就三步:

把eval更换为输出,比如echo 根据编码规则把字符串还原 如果文件未解密完备,从第一步开始连续

当然,实际上的解密过程并没有这么大略,比如说如果加密的时候利用了gzcompress,那得到的数据将会包含一些二进制数据,而采取一样平常的文本编辑器打开时这些数据都会显示为乱码,并且在保存时丢失部分数据。
办理方法很大略也很麻烦,那便是利用二进制(16进制)办法打开、修正和保存。

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读1 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读1 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读1 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读1 评论0