Показать сообщение отдельно

PHP LockIt unlocker
  #216  
Старый 04.11.2007, 13:57
BiZoNiX
Новичок
Регистрация: 04.11.2007
Сообщений: 4
С нами: 9746815

Репутация: 1
По умолчанию PHP LockIt unlocker

Думаю пригодится очень полезный скриптец предназначен для расшифровки и деобфускации php-скриптов, которые были обработаны программой PHP LockIt! (www.phplockit.com).

PHP код:
<?php
/*
* PHP LockIt! unlocker
* by Daniel Rozsnyo [ daniel@rozsnyo.com ]
*
* "a proof that security throught obscurity doesn't work"
*
*/
$input file_get_contents$filename $argv[1] );
if (
ereg"[$]([^=]+)=[_][_]FILE[_][_][;]"
"[$]([^=]+)=[_][_]LINE[_][_][;]"
"[$]([^=]+)[=]([0-9]+)[;]"
"eval.*(base64_decode.['][^']*['].)"$input$x)) {
// first pass
$ifilename $x[1];
$ilinenum $x[2];
$ioffset $x[3];
$offset $x[4];
$decoder $x[5];
// get the decoder
$decoder = eval("return $decoder;");
// decipher the decoder
ereg("[$]([^=]+)[=].*[$]([^=]+)=.base64",$decoder,$x);
$ihandle $x[1];
$iout $x[2];
$decoder str_replace($iout ,'output' ,$decoder);
$decoder str_replace($ihandle ,'handle' ,$decoder);
$decoder str_replace($ilinenum ,'line' ,$decoder);
$decoder str_replace($ifilename,'filename',$decoder);
// the decoder is our slave!
$decoder str_replace('eval($output);','return $output;',$decoder);
$decoder '$line=2;'.$decoder;
// sandbox
$next = eval($decoder);
// remove expiration time
$next ereg_replace("^if[^;]+;",'',$next);
// some more deciphering
ereg('^[$]([^=]+)=',$next,$x);
$next str_replace($ihandle'handle'$next);
$next str_replace($ifilename,'filename',$next);
$next str_replace($x[1] , 'output'$next);
$next str_replace($ioffset'offset'$next);
// the decoder is our slave, again!
$next str_replace('eval($output)','return $output',$next);
// final pass
$code = eval($next);
// finish
echo '<','?php',$code,'?','>',"\n";
} else die(
"Failed. No base64_decode anymore.\n");
?>
 
Ответить с цитированием