So schützen Sie den Quellcode in PHP

王林
Freigeben: 2023-02-26 17:58:01
Original
5955 Leute haben es durchsucht

So schützen Sie den Quellcode in PHP

Code-Verschleierung + Verschlüsselung

Die eigentliche Verschlüsselung zählt nicht dazu base64 den Code verschlüsseln und dann String-Mapping für den String in Base64 durchführen (zufällig generierte Wörterbuch-Verschleierung)

Der repräsentative Code lautet wie folgt:

<?php

 function RandAbc($length = "") { // 返回随机字符串 
  $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; 
  return str_shuffle($str); 
 } 

 $filename = &#39;index.php&#39;; //要加密的文件 
 $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 = &#39;$&#39;.$q6.&#39;=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");$&#39;.$q1.&#39;=$&#39;.$q6.&#39;{3}.$&#39;.$q6.&#39;{6}.$&#39;.$q6.&#39;{33}.$&#39;.$q6.&#39;{30};$&#39;.$q3.&#39;=$&#39;.$q6.&#39;{33}.$&#39;.$q6.&#39;{10}.$&#39;.$q6.&#39;{24}.$&#39;.$q6.&#39;{10}.$&#39;.$q6.&#39;{24};$&#39;.$q4.&#39;=$&#39;.$q3.&#39;{0}.$&#39;.$q6.&#39;{18}.$&#39;.$q6.&#39;{3}.$&#39;.$q3.&#39;{0}.$&#39;.$q3.&#39;{1}.$&#39;.$q6.&#39;{24};$&#39;.$q5.&#39;=$&#39;.$q6.&#39;{7}.$&#39;.$q6.&#39;{13};$&#39;.$q1.&#39;.=$&#39;.$q6.&#39;{22}.$&#39;.$q6.&#39;{36}.$&#39;.$q6.&#39;{29}.$&#39;.$q6.&#39;{26}.$&#39;.$q6.&#39;{30}.$&#39;.$q6.&#39;{32}.$&#39;.$q6.&#39;{35}.$&#39;.$q6.&#39;{26}.$&#39;.$q6.&#39;{30};eval($&#39;.$q1.&#39;("&#39;.base64_encode(&#39;$&#39;.$q2.&#39;="&#39;.$c.&#39;";eval(\&#39;?>\&#39;.$&#39;.$q1.&#39;($&#39;.$q3.&#39;($&#39;.$q4.&#39;($&#39;.$q2.&#39;,$&#39;.$q5.&#39;*2),$&#39;.$q4.&#39;($&#39;.$q2.&#39;,$&#39;.$q5.&#39;,$&#39;.$q5.&#39;),$&#39;.$q4.&#39;($&#39;.$q2.&#39;,0,$&#39;.$q5.&#39;))));&#39;).&#39;"));&#39;; 

 $s = &#39;<?php &#39;."\n".$s."\n".&#39; ?>&#39;; 
 //echo $s; 
 // 生成 加密后的PHP文件 
 $fpp1 = fopen(&#39;temp_&#39;.$filename, &#39;w&#39;); 
 fwrite($fpp1, $s) or die(&#39;写文件错误&#39;); 

 ?>
Nach dem Login kopieren

Verwirrte verstümmelte Codezeichen

Code-Verschleierungsvariablen und andere Dinge ähneln dem Prinzip von 1, aber die Zeichenfolge wird in Zeichen zwischen ASCII 127 und 255 geändert, die nicht menschlich sind und nicht verstanden werden können vom Herausgeber Das Ergebnis ist 100 % Es ist nur eine Frage der Zeit, bis es geknackt und wiederhergestellt werden kann.

Opcode verteilen

Verteilen Sie den Code nicht, sondern kompilieren Sie zuerst den PHP-Code und verteilen Sie den Opcode nach PHP7 Sie können diese Methode verwenden, um den Quellcode zu schützen, er wird jedoch auch durch den Opcode dekompiliert und geknackt.

PHP-Erweiterung verschleiern + verschlüsseln + schreiben

PHP-Erweiterung verschleiern + verschlüsseln + schreiben, aber solange es sich um eine Open-Source-PHP-Erweiterung handelt, wird sie geknackt, es sei denn Sie schreiben den Verschlüsselungsalgorithmus selbst und verwenden dann die C-Stimme, um selbst eine Closed-Source-Erweiterung zu schreiben. Andere kennen Ihre Verschlüsselungs- und Cracking-Ideen nicht, daher ist die Wahrscheinlichkeit, geknackt zu werden, sehr gering.

Swoole Compiler

Der von Swoole besteht darin, den generierten Opcode zu nehmen und dann die Verschlüsselung zu verschleiern. Wenn Sie dies ausführen möchten, ist es das Es ist offensichtlich, dass die Zend-Engine den verschleierten und verschlüsselten Opcode nicht erkennen kann. Daher muss Zend tatsächlich neu geschrieben werden, sodass auch die unterstützende Zend-Engine geändert werden muss.

Empfohlenes Tutorial: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo schützen Sie den Quellcode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage