elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: [1]
1  Programación / PHP / Ofuscador php libre para carpetas 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
  • Solo hay que establecer la carpeta que contiene el sitio web y la aplicacion se encarga de cargar todos los archivos de cualquier extension, pero por defecto solo los archivos de extension .php estaran habilitados para ser ofuscados.  
  • Luego hay que establecer la carpeta de salida. Aqui el ofuscador colocara todos los archivos y subcarpetas en el mismo orden de la carpeta original.  
  • Establecemos las variables u funciones que no seran ofuscadas, o que tendran un nombre personalizado.  
  • Establecemos las opciones del projecto, aqui la mas importante podria ser si se va habilitar ofuscar los nombres de las funciones. Luego esta el prefijo que es una cadena que se utilizara para generara todos los nombres.  
  • Por ultimo solo hacemos click en el boton GENERAR ARCHIVOS. Una vez que nos muestre un mensaje del final del proceso vamos a la carpeta de salida, luego copiamos la carpeta al servidor para ver los resultados.  



CARACTERISTICAS
  • La aplicacion trabaja sobre proyectos, se puede guardar, abrir, renombrar y crear nuevos projectos rapidamente.
  • Ofusca clases, funciones y variables.
  • Soporta dependencias de funciones y variables entre archivos (includes y requires).
  • Es un aplicacion hecha en lenguaje c#.Net 2.0.
  • Viene con su propio instalador.
  • Ofusca cadenas encerradas entre comillas dobles.
  • Arregla algunos errores de las versiones anteriores.
  • Genera un mapa de todas las variables y funciones de un archivo ofuscado, para ser utilizados posteriormente en otros projectos para no volver a ofuscarlos.  


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 :
Código:
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
  1.  
  2. <?php
  3. function ShowInfo($name,$cod)
  4. {
  5.    echo $name.' '.$cod;
  6.  
  7.    include 'TestVars.php';
  8.    require "TestFuncs.php";
  9.    $maxsize= GetMaxSize($name);
  10.  
  11.    for($i=1;$i<$maxsize;$i++)
  12.    {
  13.        $size=$i*$base;
  14.        echo "valor".$i.' = '.$cod.$prev.$size;
  15.  
  16.    }
  17. }
  18.  
  19.  
  20. $figure1 = 'tow';
  21. $figure2 = "tank";
  22.  
  23. class Info
  24. {
  25.    private $name;
  26.    private $cod;
  27.    var $uvar=array(true, false);
  28.  
  29.    private $maxSize=0;
  30.  
  31.    public function __construct($name,$cod,$maxSize)
  32.    {
  33.        $this->name=$name;
  34.        $this->cod = $cod;
  35.        $this->maxSize = $maxSize;
  36.    }
  37.  
  38.    public function Show()
  39.    {
  40.        echo $this->name.$this->cod;
  41.        $this->ShowValues();
  42.    }
  43.  
  44.    function showB()
  45.    {
  46.        echo "function showB ";
  47.        return $this->uvar;
  48.    }
  49.  
  50.    private function ShowValues()
  51.    {
  52.        require "./TestVars.php";
  53.  
  54.        for($i=1;$i<$this->maxSize;$i++)
  55.        {
  56.            echo "<p>";
  57.            echo "valor".$i." = ".$this->cod.$prev.$i.$base;
  58.            echo "</p>";
  59.        }
  60.    }
  61. }
  62. ShowInfo("hunter", "ht", 12);
  63.  
  64. $Informacion = new Info("Hierro","he",11);
  65.  
  66. echo "coment ?> >";
  67. echo " cadena de prueba //no".
  68.  
  69. "ex1";
  70. echo "cadena de //co
  71. varias lineas";
  72. ?>
  73. <table class="uTable">
  74.    <tr><td> tabla 1 empire <?php echo $figure1 ?> </td></tr>
  75.  
  76. </table>
  77. <?php echo $figure2.' <hr>';
  78. $Informacion->Show();
  79.  
  80. ?>
  81.  

Archivo TestVars.php
Código
  1. <?php
  2. $base=1;
  3. $prev = "dom";
  4. ?>
  5.  


Archivo TestFuncs.php
Código
  1. <?php
  2. function GetMaxSize($name)
  3. {
  4.    if ($name!="unk") {
  5.        return 10;
  6.    }
  7.    else { return 1;  }
  8. }
  9.  
  10.  
  11. ?>
  12.  


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
  1. <?php
  2. function x11x2x31s155
  3. ($x11x2x31s3235,$x11x2x31s3236){echo $x11x2x31s3235.' '.$x11x2x31s3236;include 'TestVars.php';require "\x54\x65\x73t\x46\x75\x6ec\x73\x2e\x70\x68p";
  4.  
  5. $x11x2x31s3237= x11x2x32s155($x11x2x31s3235);for($x11x2x31s3238=1;$x11x2x31s3238<$x11x2x31s3237;$x11x2x31s3238++)
  6. {$x11x2x31s3239=$x11x2x31s3238*$x11x2x33s2235;echo "\x76\x61\x6co\x72".$x11x2x31s3238.' = '.$x11x2x31s3236.$x11x2x33s2236.$x11x2x31s3239;
  7. }}
  8.  
  9. $x11x2x31s4235 = 'tow';$x11x2x31s4236 = "\x74\x61\x6ek";
  10. class Info
  11. {private $x11x2x31s156;private $x11x2x31s157;var $uvar=array(true, false);private $x11x2x31s159=0;
  12.  
  13. public function __construct
  14. ($x11x2x31s5235,$x11x2x31s5236,$x11x2x31s5237){$this->x11x2x31s156=$x11x2x31s5235;$this->x11x2x31s157 = $x11x2x31s5236;
  15.  
  16. $this->x11x2x31s159 = $x11x2x31s5237;}
  17. public function Show
  18. (){echo $this->x11x2x31s156.$this->x11x2x31s157;$this->x11x2x31s163();}
  19. function showB
  20. (){echo "\x66\x75\x6ec\x74\x69\x6fn\x20\x73\x68\x6fw\x42\x20";return $this->uvar;}
  21.  
  22. private function x11x2x31s163
  23. (){require "\x2e\x2f\x54e\x73\x74\x56a\x72\x73\x2e\x70h\x70";for($x11x2x31s8235=1;$x11x2x31s8235<$this->x11x2x31s159;$x11x2x31s8235++)
  24. {echo "\x3c\x70>";echo "\x76\x61\x6co\x72".$x11x2x31s8235."\x20\x3d\x20".$this->x11x2x31s157.$x11x2x33s2236.$x11x2x31s8235.$x11x2x33s2235;
  25.  
  26. echo "\x3c\x2f\x70>";}}}
  27. x11x2x31s155("\x68\x75\x6et\x65\x72", "\x68\x74", 12);$x11x2x31s9235 = new Info("\x48\x69\x65r\x72\x6f","\x68\x65",11);
  28.  
  29. echo "\x63\x6f\x6de\x6e\x74\x20?>\x20>";
  30. echo "\x20\x63\x61d\x65\x6e\x61 \x64\x65\x20\x70r\x75\x65\x62a\x20\x2f\x2fn\x6f".
  31. "\x65\x78\x31";
  32. echo "\x63\x61\x64e\x6e\x61\x20d\x65\x20\x2f\x2fc\x6f
  33. v\x61\x72\x69a\x73\x20\x6ci\x6e\x65\x61\x73"
  34.  
  35. ;
  36. ?>
  37. <table class="uTable">
  38. <tr><td> tabla 1 empire
  39. <?php echo $x11x2x31s4235 ?>
  40.  
  41. </td></tr>
  42. </table>
  43. <?php echo $x11x2x31s4236.' <hr>';$x11x2x31s9235->Show();
  44.  
  45. ?>
  46.  


Archivo TestVars.php ofuscado
Código
  1. <?php
  2. $x11x2x33s2235=1;$x11x2x33s2236 = "\x64\x6f\x6d";
  3.  
  4. ?>
  5.  


Archivo TestFuncs.php ofuscado
Código
  1. <?php
  2. function x11x2x32s155
  3. ($x11x2x32s3235){if ($x11x2x32s3235!="\x75\x6e\x6b") {return 10;}else { return 1;  }}
  4.  
  5. ?>
  6.  


Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines