Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Zell en 3 Enero 2011, 19:49 PM

Título: Ofuscador php libre para carpetas
Publicado por: Zell en 3 Enero 2011, 19:49 PM
Hola a todos

Hace un año que estuve buscando un ofuscador php gratuito y bueno, pero solo encontre el de raizalab y otros demos, el problema con el ofuscador de railzab es que no ofuscaba clases. Entonces decidi probar hacer mi propio ofuscador php.

El ofuscador php que desarrolle es de facil uso, en un solo paso carga toda la carpeta que contiene al sitio web. Esta es la version 1.2.

MODO DE USO


CARACTERISTICAS

OTROS

No soporta las variables funciones y pueden haber problemas con la funcion extract().  
Este ofuscador fue probado con joomla 1.5.  


REQUISITOS

Los requisitos de la aplicacion son:

Windows 98/Xp/Vista/7.
Net Framework 2.0.

El ofuscador php lo pueden descargar de :

https://skydrive.live.com/redir.aspx?cid=c3316392af8466c7&resid=C3316392AF8466C7!109




Pruebas con el ofuscador de codigo php
Se utilizaron tres archivos de codigo fuente: TestA.php, TestFuncs.php, TestVars.php. El archivo TestA.php utiliza variables y funciones de los otros dos archivos.

Archivo TestA.php
Código (php) [Seleccionar]


<?php
function ShowInfo($name,$cod)
{
    echo 
$name.' '.$cod;

    include 
'TestVars.php';
    require 
"TestFuncs.php";
    
$maxsizeGetMaxSize($name);

    for(
$i=1;$i<$maxsize;$i++)
    {
        
$size=$i*$base;
        echo 
"valor".$i.' = '.$cod.$prev.$size;

    }
}


$figure1 'tow';
$figure2 "tank";

class 
Info
{
    private 
$name;
    private 
$cod;
    var 
$uvar=array(truefalse);

    private 
$maxSize=0;

    public function 
__construct($name,$cod,$maxSize)
    {
        
$this->name=$name;
        
$this->cod $cod;
        
$this->maxSize $maxSize;
    }

    public function 
Show()
    {
        echo 
$this->name.$this->cod;
        
$this->ShowValues();
    }

    function 
showB()
    {
        echo 
"function showB ";
        return 
$this->uvar;
    }

    private function 
ShowValues()
    {
        require 
"./TestVars.php";

        for(
$i=1;$i<$this->maxSize;$i++)
        {
            echo 
"<p>";
            echo 
"valor".$i." = ".$this->cod.$prev.$i.$base;
            echo 
"</p>";
        }
    }
}
ShowInfo("hunter""ht"12);

$Informacion = new Info("Hierro","he",11);

echo 
"coment ?>
>";
echo " cadena de prueba //no".

"ex1";
echo "cadena de //co
varias lineas";
?>
<table class="uTable">
   <tr><td> tabla 1 empire <?php echo $figure1 ?> </td></tr>

</table>
<?php echo $figure2.' <hr>';
$Informacion->Show();

?>



Archivo TestVars.php
Código (php) [Seleccionar]

<?php
$base
=1;
$prev "dom";
?>




Archivo TestFuncs.php
Código (php) [Seleccionar]

<?php
function GetMaxSize($name)
{
    if (
$name!="unk") {
        return 
10;
    }
    else { return 
1;  }
}


?>




A continuacion se muestran los resultados al ofuscar los tres archivos en el mismo proyecto. Estos tres archivos funcionan igual que los originales

Archivo TestA.php ofuscado

Código (php) [Seleccionar]

<?php
 
function x11x2x31s155
($x11x2x31s3235,$x11x2x31s3236){echo $x11x2x31s3235.' '.$x11x2x31s3236;include 'TestVars.php';require "\x54\x65\x73t\x46\x75\x6ec\x73\x2e\x70\x68p";

$x11x2x31s3237x11x2x32s155($x11x2x31s3235);for($x11x2x31s3238=1;$x11x2x31s3238<$x11x2x31s3237;$x11x2x31s3238++)
{
$x11x2x31s3239=$x11x2x31s3238*$x11x2x33s2235;echo "\x76\x61\x6co\x72".$x11x2x31s3238.' = '.$x11x2x31s3236.$x11x2x33s2236.$x11x2x31s3239;
}}

$x11x2x31s4235 'tow';$x11x2x31s4236 "\x74\x61\x6ek";
class 
Info
{private $x11x2x31s156;private $x11x2x31s157;var $uvar=array(truefalse);private $x11x2x31s159=0;

public function 
__construct
($x11x2x31s5235,$x11x2x31s5236,$x11x2x31s5237){$this->x11x2x31s156=$x11x2x31s5235;$this->x11x2x31s157 $x11x2x31s5236;

$this->x11x2x31s159 $x11x2x31s5237;}
public function 
Show
(){echo $this->x11x2x31s156.$this->x11x2x31s157;$this->x11x2x31s163();}
 function 
showB
(){echo "\x66\x75\x6ec\x74\x69\x6fn\x20\x73\x68\x6fw\x42\x20";return $this->uvar;}

private function 
x11x2x31s163
(){require "\x2e\x2f\x54e\x73\x74\x56a\x72\x73\x2e\x70h\x70";for($x11x2x31s8235=1;$x11x2x31s8235<$this->x11x2x31s159;$x11x2x31s8235++)
{echo 
"\x3c\x70>";echo "\x76\x61\x6co\x72".$x11x2x31s8235."\x20\x3d\x20".$this->x11x2x31s157.$x11x2x33s2236.$x11x2x31s8235.$x11x2x33s2235;

echo 
"\x3c\x2f\x70>";}}}
x11x2x31s155("\x68\x75\x6et\x65\x72""\x68\x74"12);$x11x2x31s9235 = new Info("\x48\x69\x65r\x72\x6f","\x68\x65",11);

echo 
"\x63\x6f\x6de\x6e\x74\x20?>
\x20>";
echo "\x20\x63\x61d\x65\x6e\x61 \x64\x65\x20\x70r\x75\x65\x62a\x20\x2f\x2fn\x6f".
"\x65\x78\x31";
echo "\x63\x61\x64e\x6e\x61\x20d\x65\x20\x2f\x2fc\x6f
v\x61\x72\x69a\x73\x20\x6ci\x6e\x65\x61\x73"

;
?>
<table class="uTable">
<tr><td> tabla 1 empire
<?php echo $x11x2x31s4235 ?>

</td></tr>
</table>
<?php echo $x11x2x31s4236.' <hr>';$x11x2x31s9235->Show();

?>




Archivo TestVars.php ofuscado
Código (php) [Seleccionar]

<?php
$x11x2x33s2235
=1;$x11x2x33s2236 "\x64\x6f\x6d";

?>




Archivo TestFuncs.php ofuscado
Código (php) [Seleccionar]

<?php
 
function x11x2x32s155
($x11x2x32s3235){if ($x11x2x32s3235!="\x75\x6e\x6b") {return 10;}else { return 1;  }}

?>




Título: Re: Ofuscador php libre para carpetas
Publicado por: AFelipeTrujillo en 3 Enero 2011, 22:56 PM
se ve interesante !! ... tengo q correlo haber q tal !!
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 17 Enero 2011, 17:37 PM
Si tienen alguna sugerencia o duda. Tal vez alguna funcionalidad para el ofuscador puedo hacerle algunas modificaciones.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 11 Febrero 2011, 17:01 PM
Para los que utilizan Linux con mono 2.0.1 como minimo, he añadido añadido una version del ofuscador para que corra en mono.

Primero descomprimen el archivo descargado luego para ejecutar el ofuscador solo tipean en la terminal de Linux.

Mono <CARPETA DEL OFUSCADOR PHP>/MyPhpGuard.exe.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zeroql en 5 Octubre 2011, 16:31 PM
tu proyecto esta interesante, pero seria bueno que tambien ofuscara codigo que este en archivos html
por ejemplo tengo una web y por alla dentro del body tengo una llamada a una funcion o algun codigo de php, tu proyecto solo se detiene al terminar el php superior, seria bueno le le agregaras eso. y usa base 64 para lo k esta en comillas

bueno es solo un aporte.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 11 Octubre 2011, 21:31 PM
Citartu proyecto esta interesante, pero seria bueno que tambien ofuscara codigo que este en archivos html
por ejemplo tengo una web y por alla dentro del body tengo una llamada a una funcion o algun codigo de php, tu proyecto solo se detiene al terminar el php superior, seria bueno le le agregaras eso. y usa base 64 para lo k esta en comillas

La verdad no entendi la primera parte de tu comentario, me gustaria que colocaras un ejemplo de codigo html con php.
Este ofuscador puede procesar cualquier bloque de codigo php encerrado entre los tags <?php ?> dentro de cualquier archivo. Por defecto la aplicacion solo habilita la ofuscacion para archivos de extension .php pero podrias habilitarla para cualquier otro archivo del proyecto.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zeroql en 11 Octubre 2011, 23:13 PM
tu proyecto solo ofusca aquello que es solo php

pero si tivieramos esto:

Código (php-brief) [Seleccionar]

<?
include ('cfg.php');
$cfg=array(readcfg());
if (cfg==true) {
$var=1;
}else {
$var=0;
}
?>
<html>
<title></title>
<body>
hola bueno tienes <? echo $var; ?>
</body>
</html>


ese codigo que esta dentro del cuerpo del html no lo reconoce tu proyecto, asi que no lo codifica. solo ofusca aquello que esta antes del <html>, seria bueno que le agraras eso tambien.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 17 Octubre 2011, 21:03 PM
Una solucion a tu problema es que inicies los bloques con el tag "<?php" en vez de "<?"

Asi los dos bloques de codigo serian reconocidos por el ofuscador.
Código (php) [Seleccionar]

<?php
include ('cfg.php');
$cfg=array(readcfg());
if (
cfg==true) {
$var=1;
}else {
$var=0;
}
?>

<html>
<title></title>
<body>
hola bueno tienes <?php echo $var?>
</body>
</html>


El ofuscador solo reconoce bloques que inicien con <?php para no confundirse con otros tipos de scripts que podrian incluirse en el mismo archivo.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zeroql en 18 Octubre 2011, 14:57 PM
esa seria una solucion para MI, pero la idea es ayudarte a mejorar el sw que hicisteis,
igual solo el
<? lo toma php, no he visto ningun lenguaje para servers y que este en un archivo .php que tenga este iniciador de lenguaje.
mira el obfuscador de raizlabs, muy bueno por cierto.

Y si kieres puedes incluirle una codificacion en base64 para los textos que estan en comillas.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 11 Noviembre 2011, 18:26 PM
Aqui esta la ultima version del ofuscador php Myphpguard, esta es la version 1.35 "BETA".
Ahora el ofuscador oculta y codifica las cadenas y nombres de variables especialmente las variables predefinidas de php (SUPERGLOBALS) de varias maneras:
- El ofuscador utiliza base 64 para codificar las cadenas y despues puede generar estas cadenas con caracteres hexadecimales.
- Opcion para ocultar nombres de variables despues de renombrarlas, en esta opcion todas las SuperGlobals($_GET,$_POST,...) son ocultadas y codificadas en base 64 (Si la opcion de codificacion en base 64 esta habilitada).

Aqui esta el enlace actualizado para descargar el  ofuscador php Myphpguard:

https://skydrive.live.com/redir.aspx?cid=c3316392af8466c7&resid=C3316392AF8466C7!109


Aqui muestro un ejemplo con el ofuscador php Myphpguard 1.3.54 para que vean los resultados con todas las opciones activadas, todos los archivos php de este ejemplo junto con el archivo de projecto estan incluido en el zip que contiene el ofuscador:

Archivo Alltest.php
Código (php) [Seleccionar]

<?php


include "exfuncs.php";
include 
"./exvars.php";


echo 
"<HTML><HEAD><TITLE>$title</TITLE></HEAD><BODY>";

echo 
getElementH2($title);
//*** String Test
//$cadena1="String Test";
$cadena2='Multiple Line:
-$cadena1
-$cadena2'
;

$cadena3="\"$test1\" $cadena2";
addElementH3($test1);
echo 
"$cadena3.</br>";

function 
AddTestForm()
{
   echo 
'<form method="post" action="#" >
         <p>Texto:</p>
         <input id="Texto" type="text" style="width: 250px" name="Texto" />
         <input id="subEnviar" type="submit" value="Send" name="subMsg" />
         </form>'
;
}
//*** Class Test

/*
*
*
* Class Lista
*/
class Lista
{
    private 
$myList;
    private 
$cadena;
    private 
$style;

    public function 
Lista($uLista,$style="")
    {
        
$this->myList=$uLista;
        
$this->style=$style;
    }
    
    public function 
ShowLista()
    {
        if(!isset(
$this->myList) )
        {
           return;
        }
        
//
        
$this->cadena="<ol style='$this->style' >";
        
$this->AddElements();
        
$this->cadena.="</ol>";
        echo 
$this->cadena;
    }
    
    private function 
AddElements()
    {
         if(
count($this->myList)>10)
         {
             return;
         }
    
         foreach (
$this->myList as $item)
         {
            
$this->cadena.="<li>$item</li>";
         }
    }

}
addElementH3($test2);
$style="color: #cccccc;";
$colorLista=new Lista($elementos,$style);
$Lista=new Lista($elementos);

?>

<div><?php $colorLista->ShowLista(); ?> </div> <div><?php echo "<hr>";
$Lista->ShowLista(); ?>
</div>
<?php
//*** Form Test
addElementH3($test3);
AddTestForm();

if( isset(
$_POST["subMsg"]) )
{
   if(!empty(
$_POST["Texto"]))
   {
       
$texto=$_POST["Texto"];
       echo 
"<div style='border: 1px solid gray' >
       Texto:
$texto
       </div>"
;
   }

}
echo 
'</BODY></HTML>';
?>



Archivo Alltest.php ofuscado con Myphpguard 1.3.540

Código (php) [Seleccionar]

<?php ${"GL\x4fBA\x4cS"} ["xl1\x732\x31"]= array( "xl1s282"=>"Z\x58hm\x64W5\x6acy\x35w\x61HA\x3d""xl1s383"=>"Li9\x6ceHZ\x68c\x6eMuc\x47hw""xl1s484"=>"P\x45\x68\x55\x54U\x77+\x50EhF\x51\x55\x51+\x50F\x52JV\x45x\x46Pg=\x3d""xl1s585"=>"PC9\x55S\x56RM\x52\x5448L\x30h\x46Q\x55Q+\x50\x45JP\x52\x46k+"
"xl1s688"=>"T\x58Vsd\x47l\x77b\x47\x55\x67TGl\x75\x5aT\x6f\x74JGN\x68Z\x47Vu\x59\x54Et\x4aGNh\x5aG\x56uY\x54\x49\x3d""xl1s789"=>"Ljw\x76\x59\x6eI+""xl1s180"=>"x\x6c1\x7376""xl1s890"=>"PGZ\x76cm\x30gb\x57\x560a\x479k\x50\x53Jw\x623N\x30\x49\x69Bh\x593Rp\x6224\x39IiM\x69ID4\x67IC\x41g\x49\x43\x41gIC\x41\x38\x63D5U\x5aXh0\x62z\x6f8\x4c\x33A\x2bIC\x41\x67IC\x41\x67I\x43A\x67\x50Glu\x63\x48V0\x49Gl\x6bPSJ\x55ZX\x68\x30b\x79I\x67d\x48lw\x5aT\x30i\x64G\x564d\x43\x49gc3\x525\x62\x47U9I\x6edp\x5aHR\x6f\x4fi\x41y\x4eTBw\x65\x43\x49\x67b\x6dFt\x5aT\x30\x69VG\x564dG\x38i\x49C8+\x49CA\x67I\x43A\x67\x49CA\x67PG\x6cuc\x48V0\x49\x47lk\x50\x53Jzd\x57\x4aFbn\x5apY\x58I\x69IH\x525c\x47\x55\x39I\x6e\x4e\x31Ym\x31pdC\x49g\x64mFs\x64WU\x39I\x6c\x4elb\x6dQ\x69I\x47\x35h\x62\x57U9\x49nN1\x59k1z\x5a\x79I\x67Lz4\x67I\x43\x41gIC\x41\x67ICA\x38L2\x5a\x76\x63m\x30\x2b"
"xl1s178"=>"ba\x73e\x364\x5f\x64e\x63od\x65""xl1s991"=>"PG9\x73\x49HN0\x65Wx\x6cP\x53c\x3d""xl1s1092"=>"Jy\x41+""xl1s1193"=>"\x50C9v\x62D\x34=""xl1s1295"=>"PG\x78\x70\x50\x67==""xl1s1396"=>"\x50C\x39sa\x544\x3d"
"xl1s1498"=>"Y2\x39sb\x33I\x36IC\x4ejY\x32NjY\x32\x4d\x37""xl1s1499"=>"e\x47wx\x63z\x63y\x4dzc\x3d""xl1s1601"=>"PG\x68y\x50g==""xl1s181"=>"X\x31\x42PU\x31\x51=""xl1s1702"=>"c3\x56iTX\x4e\x6e""xl1s179"=>"\x78\x6c1s4\x34"
"xl1s1803"=>"VG\x564\x64G8\x3d""xl1s1904"=>"V\x47V4d\x478\x3d""xl1s2005"=>"PGR\x70\x64iBz\x64H\x6cs\x5aT0n\x59m9y\x5a\x47Vy\x4fiA\x78\x63H\x67\x67c\x329\x73\x61WQg\x5a3Jh\x65Sc\x67\x50iAg\x49CAg\x49CB\x55\x5aX\x680bz\x6f="
"xl1s2106"=>"I\x43A\x67IC\x41g\x49Dwv\x5aGl\x32P\x67==""xl1s2207"=>"PC9\x43T0\x52Z\x50jw\x76S\x46RN\x54D4\x3d",  "h1lI"=>"r1256");eval("e\x76\x61l\x28\x62a\x73e\x36\x34_\x64e\x63\x6f\x64e\x28\x27Zn\x56uY\x33Rp\x62\x324\x67eG\x77xcz\x632K\x43R4b\x44\x46zOT\x63pe\x79\x527\x49nhs\x4d\x56x4\x4ezMx\x4dFx4\x4dzgi\x66\x540k\x65yJc\x65\x44Q3\x58H\x670\x591\x784N\x47Z\x63eDQ\x79XHg\x30M\x56x4N\x47NT\x49n\x31\x62In\x68\x73MV\x78\x34NzM\x79\x4dSJd\x57yJc\x65\x44c4b\x44\x46\x63eD\x63\x7aMT\x64ce\x44M4\x49\x6c07c\x6dV0d\x58Ju\x49C\x52\x37\x49n\x68ceD\x5ajM\x58\x4dxXH\x67z\x4d\x44gi\x66S\x67key\x4a\x48TF\x78\x34NG\x5aC\x58Hg\x30MUx\x54\x49n1\x62I\x6e\x68c\x65\x44\x5a\x6aX\x48gz\x4dVx4\x4ezM\x79XH\x67z\x4d\x53\x4ad\x57yR7\x49nhc\x65D\x5ajM\x58\x4ece\x44M5N\x79J\x39XS\x6b7f\x51\x3d\x3d\x27\x29\x29\x3be\x76\x61\x6c\x28\x62\x61s\x656\x34_\x64\x65\x63\x6f\x64\x65\x28\x27ZnV\x75Y\x33Rpb\x324\x67eGw\x78czQ\x30KC\x524b\x44Fz\x4e\x6a\x55p\x653\x4al\x64\x48Vyb\x69\x41ke\x79Jce\x44\x513TF\x78\x34NGZ\x43\x51\x55\x78c\x65\x44U\x7a\x49\x6e1b\x49nhs\x58\x48gz\x4dVx4\x4e\x7aNc\x65\x44\x4dyMS\x4ad\x57y\x527\x49\x6cx\x34Nzh\x73\x4dXN\x63e\x44M2N\x53J\x39\x58Tt9\x27\x29\x29\x3b");
include ${
"G\x4c\x4f\x42A\x4c\x53"}["x\x6c1\x732\x31"]["xl1\x7318\x30"]("x\x6c1s2\x382");include ${"G\x4cO\x42A\x4cS"}["x\x6c1\x73\x321"]["xl1\x73180"]("x\x6c\x31s\x3383");
echo ${
"G\x4cO\x42A\x4cS"}["xl\x31s2\x31"]["\x78l1s\x3180"]("xl\x31\x734\x384")."$xl3s2235".${"\x47L\x4fB\x41L\x53"}["xl\x31s21"]["\x78\x6c1\x731\x380"]("xl\x31s\x35\x385");
echo 
xl2s155($xl3s2235);$xl1s2236=${"\x47\x4c\x4f\x42\x41\x4cS"}["xl\x31s21"]["\x78l\x31\x731\x38\x30"]("xl\x31s6\x388");
$xl1s2237="\"$xl3s2236\" "."$xl1s2236";xl2s156($xl3s2236);echo "$xl1s2237".${"\x47\x4c\x4f\x42\x41L\x53"}["xl1\x73\x32\x31"]["x\x6c1\x73180"]("xl1\x7378\x39");
 function 
xl1s155
(){echo ${"\x47\x4cO\x42\x41L\x53"}["xl1\x73\x321"]["x\x6c1s\x318\x30"]("xl1\x73890");}
class 
Lista
{private $xl1s156;private $xl1s157;private $xl1s158;
public function  
Lista
($xl1s4235,$xl1s4236=""){$this->xl1s156=$xl1s4235;$this->xl1s158=$xl1s4236;}
public function 
xlz11
(){if(!isset($this->xl1s156) ){return;}$this->xl1s157=${"\x47L\x4f\x42\x41L\x53"}["xl1\x732\x31"]["x\x6c1s\x318\x30"]("xl1\x73991")."$this->xl1s158".${"\x47L\x4f\x42\x41\x4cS"}["\x78l1\x732\x31"]["xl\x31s18\x30"]("\x78\x6c1s1\x309\x32");
$this->xl1s161();$this->xl1s157.=${"G\x4cO\x42\x41\x4c\x53"}["\x78l1s\x32\x31"]["xl\x31\x73180"]("\x78l\x31s1\x31\x393");
echo 
$this->xl1s157;}
private function 
xl1s161
(){if(count($this->xl1s156)>10){return;}foreach ($this->xl1s156 as $xl1s6235){$this->xl1s157.=${"G\x4c\x4fB\x41L\x53"}["\x78l1s\x321"]["xl\x31\x7318\x30"]("x\x6c1s\x312\x395")."$xl1s6235".${"G\x4c\x4fB\x41L\x53"}["x\x6c\x31s21"]["xl1\x731\x380"]("x\x6c1s\x31\x3396");
}}}
xl2s156($xl3s2237);$xl1s7236=${"G\x4c\x4f\x42A\x4cS"}["x\x6c1\x7321"]["xl1\x7318\x30"]("x\x6c1s1\x3498");$xl1s7237=new Lista($xl3s2240,$xl1s7236);
$xl1s7239=new Lista($xl3s2240);
?>

<div>
<?php ${${"G\x4cOB\x41LS"}["x\x6c1\x732\x31"]["\x78l1\x73\x318\x30"]("xl\x31\x73149\x39")}->xlz11(); ?>
</div> <div>
<?php echo ${"\x47L\x4f\x42\x41\x4cS"}["xl\x31s2\x31"]["\x78l1s\x3180"]("xl\x31\x7316\x301");
$xl1s7239->xlz11(); ?>

</div>
<?php
xl2s156
($xl3s2238);xl1s155();if( isset(${${"G\x4c\x4fB\x41L\x53"}["xl\x31s21"]["\x78\x6c1s\x31\x380"]("xl\x31s\x318\x31")}[${"\x47\x4cO\x42\x41L\x53"}["xl1\x7321"]["x\x6c1\x731\x380"]("xl1\x7317\x30\x32")]) )
{if(!empty(${${
"GL\x4fB\x41\x4c\x53"}["xl1\x73\x321"]["x\x6c1\x73\x3180"]("xl1\x7318\x31")}[${"\x47\x4c\x4fB\x41\x4cS"}["xl1\x732\x31"]["x\x6c1s\x31\x380"]("xl1\x73180\x33")]))
{
$xl1s10236=${${"GL\x4fBA\x4cS"}["\x78l\x31\x73\x321"]["xl\x31s18\x30"]("\x78\x6c1s\x3181")}[${"G\x4cO\x42A\x4c\x53"}["\x78l1\x7321"]["xl\x31s18\x30"]("\x78l\x31s\x3190\x34")];
echo ${
"G\x4cO\x42A\x4c\x53"}["\x78l1s\x321"]["xl\x31\x731\x38\x30"]("x\x6c1\x73\x320\x30\x35")."$xl1s10236".${"G\x4c\x4f\x42\x41L\x53"}["x\x6c\x31s2\x31"]["xl1\x731\x38\x30"]("x\x6c1s\x32106")
;}}echo ${
"G\x4c\x4f\x42\x41L\x53"}["x\x6c\x31s\x321"]["xl1\x731\x38\x30"]("x\x6c1s2\x3207");
?>


Título: Re: Ofuscador php libre para carpetas
Publicado por: WHK en 12 Noviembre 2011, 23:51 PM
Hola, puedo hacer un deofuscador solo por entretención? xD
Título: Re: Ofuscador php libre para carpetas
Publicado por: bigoton en 18 Noviembre 2011, 20:08 PM
buena idea
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 18 Noviembre 2011, 21:07 PM
Seria interesante un des-ofuscador del codigo ofuscado para ver si puede generar el codigo php original.
Por lo menos veo que seria imposible adivinar los nombres originales de las variables, funciones, metodos y campos.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Shell Root en 19 Noviembre 2011, 04:37 AM
Cita de: Fred en 18 Noviembre 2011, 21:07 PMPor lo menos veo que seria imposible adivinar los nombres originales de las variables, funciones, metodos y campos.
Y quien dijo que era imposible?
Título: Re: Ofuscador php libre para carpetas
Publicado por: WHK en 20 Noviembre 2011, 05:10 AM
Hay un programa lamado phpCB y lo probé con este código ofuscado y te ordena todo el código de una ves.

Con otro script puedes descifrar los hexadecimales que estén en comillas dobles y reemplazar el nombre de las funciones por nombres mas legibles como funcion1 funcion2 variable1 variable2
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 22 Noviembre 2011, 17:29 PM
Podrias mostrarnos un ejemplo probando con los archivos ofuscados de alltest.php, exvars.php y exfuncs.php.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Kmilo7 en 2 Enero 2012, 22:21 PM
estuve probando y tengo este error:
Parse error: syntax error, unexpected '(', expecting ')'

Este es parte del codigo generado por el programa
Código (php) [Seleccionar]

function FechaRevez($mystr9s15235,$mystr9s15236=mystr9s220("my\x73t\x729s9\x3318"))
{
    $mystr9s15237=split($mystr9s15236,$mystr9s15235);
    ${mystr9s220("mystr9s9217")}=$mystr9s15237[2].mystr9s220("\x6dys\x74r\x39\x739\x342\x31").${mystr9s220("mystr9s9320")}[1].mystr9s220("my\x73\x74\x72\x39s95\x322").${mystr9s220("mystr9s9320")}[0];
    return ${mystr9s220("mystr9s9217")};
}


Al pasar los parametros a la funcion está llamando a otra que le devueleve el valor por defecto a esa variable, pero eso me da el error :(
Espero q me puedas ayudar.
Título: Re: Ofuscador php libre para carpetas
Publicado por: Zell en 11 Enero 2012, 17:48 PM
Cita de: Kmilo7 en  2 Enero 2012, 22:21 PM
estuve probando y tengo este error:
Parse error: syntax error, unexpected '(', expecting ')'

Este es parte del codigo generado por el programa
Código (php) [Seleccionar]

function FechaRevez($mystr9s15235,$mystr9s15236=mystr9s220("my\x73t\x729s9\x3318"))
{
    $mystr9s15237=split($mystr9s15236,$mystr9s15235);
    ${mystr9s220("mystr9s9217")}=$mystr9s15237[2].mystr9s220("\x6dys\x74r\x39\x739\x342\x31").${mystr9s220("mystr9s9320")}[1].mystr9s220("my\x73\x74\x72\x39s95\x322").${mystr9s220("mystr9s9320")}[0];
    return ${mystr9s220("mystr9s9217")};
}


Al pasar los parametros a la funcion está llamando a otra que le devueleve el valor por defecto a esa variable, pero eso me da el error :(
Espero q me puedas ayudar.

El problemas esta en:
Código (php) [Seleccionar]

$mystr9s15236=mystr9s220("my\x73t\x729s9\x3318")

Bueno este es un problema que se presenta con la version beta del ofuscador pero que en la version PORTABLE PARA .NET MONO Myphpguard 1.3.54b esta corregida.

Si habilitas la ofuscacion avanzada para cadenas debes tener en cuenta algunas limitaciones que el ofuscador php tiene todavia.

El codigo generado no funcionara cuando se utilizan cadenas estaticas por ejemplo:
Código (php) [Seleccionar]

static $cadena="unacadena";

Luego si ofuscamos habilitando la ocultacion de cadenas tenemos un codigo que no funcionara porque PHP no permite iniciar variables estaticas de este modo:

Código (php) [Seleccionar]

static $mystrd434=lfhf121333("my\x73t\x729s9\x322");


Por tanto si tu codigo contiene muchas cadenas estaticas podrias deshabilitar las opciones avanzadas y no tendras problemas.