Ja ich weiss ich möchte es trotzdem probieren ob ich so ne Art Obfuscator hin bekomme. Ich habs auch soweit am laufen aber jetzt steh ich vor dem Problem, dass ich $this aus dem regex irgendwie ausschliesen muss, wie kann ich das machen? kann ich irgendwie sagen das $this bzw this nicht vorkommen darf??
im preg_match ginge das wahrscheinlich so: "#[$]{1}[this]{0}...., oder???
hier mal den testcode den ich bis jetzt zusammen habe:
<?php
#Öffne Die Datei, die geparst werden soll
$fi = fopen("database.php", "r");
$fo = fopen("database2.php", "w");
$search = array();
$replace = array();
$counter = 0;
#Durchlaufe mit einer Schleife jede Zeile
while(!feof($fi))
{
//Hole die beiden Strings für Variable und Wert
$input = fgets($fi, 1024);
//nach funktion matchen
preg_match("#function ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", $input, $find);
$search[$counter]["forc"]= $find[1]; // funktionsnamen in array speichern
$replace[$counter]["forc"]= md5($find[1]); // funktionsnamen encryptet speichern
//Setze den Zeilen-Zähler hoch
$counter++;
//nach class matchen
preg_match("#class ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", $input, $find);
$search[$counter]["forc"]= $find[1]; // classenamen in array speichern
$replace[$counter]["forc"]= md5($find[1]); // classennamen encryptet speichern
//Setze den Zeilen-Zähler hoch
$counter++;
// funktionsnamen ersetzen
$input = preg_replace("#function ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", "function ".(md5("\\1")), $input);
// klassennamen ersetzen
$input = preg_replace("#class ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", "class ".(md5("\\1")), $input);
// variablennamen ersetzen
$input = preg_replace("#[\$]{1}([A-Za-z0-9]+[a-zA-Z_0-9]*)#", "$".md5("\\1"), $input);
//bezeichner aus array ersetzen
$input = preg_replace($search, $replace, $input);
fputs($fo, $input);
//echo $input."<br>";
}
//echo "<pre>";
//var_dump($array);
?>