PHP中给源代码加密的几种方法

PHP中给源代码加密的几种方法,第1张

<php

function encode_file_contents($filename) {

$type=strtolower(substr(strrchr($filename,''),1));

if ('php' == $type && is_file($filename) && is_writable($filename)) { // 如果是PHP文件 并且可写 则进行压缩编码

$contents = file_get_contents($filename); // 判断文件是否已经被编码处理

$contents = php_strip_whitespace($filename);

// 去除PHP头部和尾部标识

$headerPos = strpos($contents,'<php');

$footerPos = strrpos($contents,'>');

$contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);

$encode = base64_encode(gzdeflate($contents)); // 开始编码

$encode = '<php'"\n eval(gzinflate(base64_decode(""'"$encode"'"")));\n\n>";

return file_put_contents($filename, $encode);

}

return false;

}

//调用函数

$filename = 'damphp';

encode_file_contents($filename);

echo "OK,加密完成!"

>

<php

function RandAbc($length = "") { // 返回随机字符串

$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

return str_shuffle($str);

}

$filename = 'indexphp'; //要加密的文件

$T_k1 = RandAbc(); //随机密匙1

$T_k2 = RandAbc(); //随机密匙2

$vstr = file_get_contents($filename);

$v1 = base64_encode($vstr);

$c = strtr($v1, $T_k1, $T_k2); //根据密匙替换对应字符。

$c = $T_k1$T_k2$c;

$q1 = "O00O0O";

$q2 = "O0O000";

$q3 = "O0OO00";

$q4 = "OO0O00";

$q5 = "OO0000";

$q6 = "O00OO0";

$s = '$'$q6'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'$q1'=$'$q6'{3}$'$q6'{6}$'$q6'{33}$'$q6'{30};$'$q3'=$'$q6'{33}$'$q6'{10}$'$q6'{24}$'$q6'{10}$'$q6'{24};$'$q4'=$'$q3'{0}$'$q6'{18}$'$q6'{3}$'$q3'{0}$'$q3'{1}$'$q6'{24};$'$q5'=$'$q6'{7}$'$q6'{13};$'$q1'=$'$q6'{22}$'$q6'{36}$'$q6'{29}$'$q6'{26}$'$q6'{30}$'$q6'{32}$'$q6'{35}$'$q6'{26}$'$q6'{30};eval($'$q1'("'base64_encode('$'$q2'="'$c'";eval(\'>\'$'$q1'($'$q3'($'$q4'($'$q2',$'$q5'2),$'$q4'($'$q2',$'$q5',$'$q5'),$'$q4'($'

这样吧,我告诉你破解的方向和思路。

对于子程序加密这样的破解,远比解密PLC本身要容易的多。

密码是保存在程序中的,每次输入密码,都要和正确的密码进行核对,正确放行,错误d出消息框,看到这里,如果你是编程高手,后面的就不用我告诉你了。

但解密PLC就没那么容易了,PLC程序读保护密码是保存在PLC存储器中的(而不是电脑PLC源程序中!),而且如果PLC设置反暴力破解,超过几次错误密码,就自动清除内存区了

如果你不懂WINDOWS编程,你可以自己上网查找工控解密类信息,有很多高手提供PLC解密,像你这样的电脑PLC源程序解密、类似功能块解密,每次200元吧。

PLC解密就少之又少了,而且需要你的PLC。

在工作中,为了保证系统、程序的安全,不被不相关人员误修改,需要对程序进行保护加密。在RSLogix5000中,有两种工具可实现程序加密。

Logix5000中有两种方法可对程序进行加密保护,一种是源码保护加密,在这种加密情况下,若没有密码,则无法查看系统控制程序;而在CPU加密的情况下,可离线查看程序,而在需要对CPU中的程序修改时,则需要密码,实现对运行系统的保护。

1、程序源码的保护加密:

(1)开启源配置保护能力。在安装光盘里有RSLogix5000 Tools文件夹,里面有Logix CPU Security Tool。双击运行文件“RS5KSrcPtcexe”。

(2)在RSLogix5000软件中创建并配置“源密匙文件”。 “源密匙文件”中含有用户指定的密码,当用户设置好源密匙文件后,若运行的项目找不到源密匙文件或源密匙文件中的密码错误,源密匙文件的文件名错误,受用户保护的程序都被保护(不可见或不可改)。并提示“未知源密匙”。

(3)打开需要加密的项目,选择“工具”—“安全”—“配置源保护”。

(4)第一次配置时,d出指定源对话框:选择“是(Y)”并指定源位置(即密保文件所在的位置)。点击确定,系统自动创建名称为“skdat”的文件,保存为用户指定路径。

(5)对程序进行加密。首先,用户在“源保护配置”对话框中选择需要保护的程序,点击“保护”按钮,d出密匙对话框。输入密码,点击“确定”按钮,密码会自动记录在源密匙文件中(用户可以对多个程序分别用不同的密码进行保护)。当用户设置好源文件密匙后,保存程序。第二步,如何实现保护。用户需要移走“源密匙文件(skdat)”,才能实现程序的保护,比如将源文件移动到其它安全的地方。还可以通过多种方式改变源文件,如改变源文件的名称,路经,或通过记事本打开源文件,更改其中的密码。其目的是让项目找不到正确的源文件,当项目找不到含有正确密码的源文件时,自动启动保护。

(6)恢复保护。用户只要指定正确的“源密匙文件”路径,并确保源密匙文件中的密码正确。当项目可以找到正确的源文件时,保护自动解除。

(7)取消保护。用户首先指定正确的“源密匙文件”路径,并确保源密匙文件中的密码正确。选中需要取消保护的程序,点击“取消保护”按钮,即可取消对相应程序的保护。

2 CPU处理器的加密:

(1)启动Logix CPU Security Tool(需要单独安装)。

(2)从d出的对话框里为需要加密的处理器选择路径,点击RSWho按钮调出RSLinx浏览器选择处理器。点击OK确认。

(3)使用Change Password按钮调出密码设置框设置密码。设置完密码后点击OK确认返回CPU安全设置对话框。

(4)对话框显示当前处理器未锁定,点击Secure Controller锁定处理器,中间需要再次确认密码。如果控制器安装有不可擦写的内存,则可以使用选项将密码存储于该内存卡。

(5)点击Secure按钮加密后返回CPU安全设置对话框,这时CPU状态显示为已加密。

本答案来自于互联网,仅供参考学习作用

如果您对我的回答有不满意的地方,还请您继续追问;

答题不易,互相理解,互相帮助!

以上就是关于PHP中给源代码加密的几种方法全部的内容,包括:PHP中给源代码加密的几种方法、永宏PLC子程序的加密原理,如何破解、如何rslogix5000 源程序加密软件包等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9467460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存