If you receive some files with encrypted code and would like to check or modify the code, you have to decrypt it. If the file is started with ”<?php eval(gzinflate(base64_decode” or similar string, it is possible to receive the open source version without any problems.
In such situations I use the following 2 scripts (it depends which one to choose, however you always can try both), that works in 99% of cases:
<? $file = 'some_file.php'; $content = file_get_contents($file); $counter = 0; while(true) { $content_new = preg_match("/<\?php(.*)eval\((.*)\)/uims", $content, $out); if ($out[2]) { eval($out[1]); eval('$content = '.$out[2].';'); } else { // echo 'try counter:'.($counter-1)."\n"; break; } if ($counter == 1000) break; $counter++; } echo $content; ?>
<? $file = 'some_file.php'; $content = file_get_contents($file); $counter = 0; $content = strtr($content, array('__FILE__' => "'".$file."'", '__LINE__' => "'".'2'."'")); preg_match("/<\?php(.*)eval\((.*)\)/uims", $content, $out); if ($out[2]) { eval($out[1]); eval('$content = '.$out[2].';'); $content = $out[1]."\n".$content; preg_match('/(.*)eval\(\$(.*)\)/uims', $content, $out); if ($out[1]) { eval($out[1]); $content = $$out[2]; $content = strtr($content, array('__FILE__' => $file, '__LINE__' => "'".'2'."'")); preg_match('/die\(\'This script is locked to another domain\.\'\);(.*)eval\(\$(.*)\)/uims', $content, $out); if ($out[1]) { eval($out[1]); $content = $$out[2]; die("<?php\n".$content."\n?>"); } } } else die('Problem'); echo $content; ?>
You should type the correct file in the second line of the script:
$file = 'some_file.php';
You can use the scripts above to unlock such cases. I usually do that in order to work with these scripts on local machine or to make the preview on my server for clients. However please follow all legal rules.