자신의 PHP 코드를 보호하고 암호화하세요.
코드 난독화 + 암호화
구체적인 구현 아이디어는 base64로 코드를 암호화한 다음 문자열을 암호화하는 것입니다. base64 문자열 매핑(임의로 사전 난독화 생성)을 수행한 후 평가 실행을 수행하면 100% 크랙 및 복원이 가능합니다(권장 학습: PHP 비디오 튜토리얼)
대표 코드는 다음과 같습니다.
<?php function RandAbc($length = "") { // 返回随机字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; return str_shuffle($str); } $filename = 'index.php'; //要加密的文件 $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.'($'.$q2.',0,$'.$q5.'))));').'"));'; $s = '<?php '."\n".$s."\n".' ?>'; //echo $s; // 生成 加密后的PHP文件 $fpp1 = fopen('temp_'.$filename, 'w'); fwrite($fpp1, $s) or die('写文件错误'); ?>
opcode 발행
코드를 배포하지 말고 먼저 PHP 코드를 사전 컴파일하고 opcode를 배포하세요. PHP7 이후 opcache는 이 방법과 깊이 통합되어 소스 코드를 보호할 수 있지만 다시 디컴파일됩니다. opcode에 의해 크랙이 발생합니다.
난독화 + 암호화 + PHP 확장 쓰기
난독화 + 암호화 + PHP 확장 쓰기. 그러나 암호화 알고리즘을 직접 작성하고 PHP 코드를 암호화한 다음 C 음성을 사용하여 작성하지 않으면 모든 오픈 소스 PHP 확장은 크랙됩니다. 확장 프로그램을 직접 폐쇄 소스로 사용하면 다른 사람들은 귀하의 암호화 아이디어와 크래킹 아이디어를 알지 못하며 크랙될 가능성은 매우 적습니다.
Swoole Compiler
swoole에서 생성된 것은 생성된 opcode를 난독화하고 암호화하는 것입니다. 그러면 이것을 실행하려는 경우 zend 엔진이 난독화되고 암호화된 opcode를 인식할 가능성이 없다는 것이 분명합니다. , 그래서 실제로 zend를 다시 작성해야 하므로 지원하는 zend 엔진도 교체해야 합니다.
위 내용은 php 소스코드 크랙 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!