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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Pequeño Ofuscador de codigo PHP (Pruebenlo)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Pequeño Ofuscador de codigo PHP (Pruebenlo)  (Leído 15,993 veces)
yovaninu


Desconectado Desconectado

Mensajes: 349



Ver Perfil
Pequeño Ofuscador de codigo PHP (Pruebenlo)
« en: 28 Octubre 2010, 06:52 am »

Hola a todos. Hace mucho tiempo he tenido la necesidad de ofuscar mis codigos en PHP y buscando por la red me encontre con ofuscadores on-line pero que requerian librerias extras.

Luego encontre un excelente ofuscador denominado PHP Processor, es shareware, pero tiene unas pequeñas limitantes como por ejemplo, no quita indentación de los archivos y tampoco permite definir las variables aleatorias puesto que les pone un solo patron y longitud. Sin embargo es un gran ofuscador.

Pero me he decidido a programar mi pequeño Ofuscador y me ha servido bastante, se trata de OfWiz y le he puesto algunas opciones interesantes, aunque aun falta muchas otras opciones como por ejemplo ofuscar todos los PHP de un directorio, aun asi me permito publicarlo aqui en esta parte del foro para quienes se animen a probarlo.

Aqui una breve explicación de su uso:

Interfaz:


Barra de Herr.


Explicación:
1. Permite configurar la generacion de variables aleatorias y algunas otras opciones
2. Backup de todo el directorio seleccionad (AUN NO FUNCIONA)
3. Colorea la sintaxis PHP
4. Oculta los comentarios de un archivo PHP
5. Resalta los comentarios de un archivo PHP
6. Elimina los comentarios de un archivo PHP
7. Elimina las lineas en blanco que se encuentre en un archivo PHP
8. Elimina la indentación de un archivo PHP
9. Reemplaza las variables que se encuentren por otras generadas aleatoriamente y de acuerdo a lo establecido en el punto 1
10. Aplica los puntos 6, 7, 8 y 9 de un solo paso al archivo mostrado
11. Guarda los cambios que se hizo al archivo mostrado.
12. Aplica los puntos 6, 7, 8 y 9 a todos los archivos del directorio seleccionado (YÁ FUNCIONA)


Ejemplo:
php original

Código
  1. <?php
  2.   /* Archivo PHP
  3.    de Pruebas*/
  4.  
  5.   include("conex.php"); //archivo de conezion a la BD
  6.   $link=Conectarse();
  7.   if($link){
  8.   $nombre=$_GET['nombre'];
  9.   $apellidos=$_GET['apellidos'];  
  10.   mysql_query("insert into prueba (Nombre,Apellidos) values ('$nombre','$apellidos')",$link);
  11.   }  
  12.  
  13.   /*Redireccionamos*/
  14.   header("Location: ejem07d.phtml");
  15.  
  16. ?>
  17.  


PHP Ofuscado, luego de aplicarle por ejemplo, el boton 10
(sin lineas en blanco, sin indentacion, sin comentarios y con variables ofuscadas[todo])
Código
  1. <?php
  2. include("conex.php");
  3. $_NIn25CptS3ZS=Conectarse();
  4. if($_NIn25CptS3ZS){
  5. $_WJFxXWL9FgN1=$_GET['nombre'];
  6. $_dGNZxmmoi090=$_GET['apellidos'];
  7. mysql_query("insert into prueba (Nombre,Apellidos) values ('$_WJFxXWL9FgN1','$_dGNZxmmoi090')",$_NIn25CptS3ZS);
  8. }
  9. header("Location: ejem07d.phtml");
  10. ?>
  11.  
  12.  


otro ejemplo con variables ofuscadas generadas con solo numeros [boton 1]
Código
  1. <?php
  2. include("conex.php");
  3. $_077443507825415429=Conectarse();
  4. if($_077443507825415429){
  5. $_535838837465153412=$_GET['nombre'];
  6. $_738018528184598387=$_GET['apellidos'];
  7. mysql_query("insert into prueba (Nombre,Apellidos) values ('$_535838837465153412','$_738018528184598387')",$_077443507825415429);
  8. }
  9. header("Location: ejem07d.phtml");
  10. ?>
  11.  

Esta hecho en Basic y probado en WinXP, el source lo publicare en el foro de Basic, de momento les dejo el exe y los OCX por si no les funciona.

El exe esta limpio y no desconfiar de él, aunque para mayor seguridad pasarle el antivirus.

Descargas:
Ofwiz (en ZIP)
Los OCX (en ZIP)

Descomprimir ambos zip en una sola carpeta, luego ejecutar el exe, a la primera puede salir un error, ejecutar otra vez y todo funcionará.

Saludos


« Última modificación: 2 Noviembre 2010, 06:51 am por yovaninu » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #1 en: 28 Octubre 2010, 19:55 pm »

WTF! Solo en variables?


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Kasi

Desconectado Desconectado

Mensajes: 76



Ver Perfil
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #2 en: 28 Octubre 2010, 22:48 pm »

¿que sentido tiene ofuscar el nombre de las variables?

En realidad es mas lioso a la hora de programar, por que si en vez de acordarte que llamaste a una variable $variable la llamaste $adafnjtrj te puedes volver loco xD, seria mas util si lo que ofuscase fuesen los datos, pero aun así , buen trabajo  ;-)
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #3 en: 28 Octubre 2010, 23:17 pm »

Sería interesante poner todo sin saltos de línea :rolleyes:
En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #4 en: 29 Octubre 2010, 05:43 am »

Interesante!! puede serme util para darle a mis clintes los scripts ofuscados, luego de meterle un backdoor por si se hacen los locos y no pagan xDD

Creo que hace poco se toco ese tem en este mismo sub-foro  ;-)

Saludos
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
yovaninu


Desconectado Desconectado

Mensajes: 349



Ver Perfil
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #5 en: 29 Octubre 2010, 16:28 pm »

Sería interesante poner todo sin saltos de línea :rolleyes:
Si pero al menos a mi me da un error cuando se pone esto en una sola linea (sesiones)
Código
  1. <?php session_start();echo "pruebas";?>
PHP Processor lo hace pero como repito da errores

He pensado en quitar los saltos de linea excepto a aquellas que contengan 'session_start()'. trabajare en ello.

Saludos.

En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #6 en: 2 Noviembre 2010, 05:50 am »

Tendria que tener una funcion que llene todo de GOTO, que haga un buen revuelto de code jaj pensalo para el boton 11!

Buen trabajo amigo!
En línea

yovaninu


Desconectado Desconectado

Mensajes: 349



Ver Perfil
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #7 en: 2 Noviembre 2010, 06:49 am »

WTF! Solo en variables?
Si pero imagina este codigo
Código
  1. <?php
  2.  
  3. function SaveFields($_395235877769193118,$_768412588487539682,$_622717084878451623,$_428524278336320264,$_443876177544517825){
  4. $_385704394318424627=conectar();
  5. $_515523638832940496=strrev($_395235877769193118);
  6. $_164524131018531184=0;
  7. $_509328683334354304[]="";
  8. $_524350488241242933=$_428524278336320264;
  9. for($_616163133412708775=0; $_616163133412708775<strlen($_395235877769193118); $_616163133412708775+=$_524350488241242933){
  10. $_509328683334354304[$_164524131018531184]=substr($_395235877769193118,$_616163133412708775,$_524350488241242933);
  11. $_164524131018531184++;
  12. }
  13. foreach ($_509328683334354304 as $_615960853591119343) {
  14. $_843153309815347106="insert into $_768412588487539682($_622717084878451623) values('$_615960853591119343')";
  15. if($_443876177544517825=="si")
  16. mysql_query($_843153309815347106,$_385704394318424627) or die(mysql_error());
  17. else
  18. echo "<br>".$_843153309815347106;
  19. }
  20. return 0;
  21. }
  22.  
  23. ?>
  24.  
Como que ya se hace dificil de leer no?, quiza no sea el objetivo en general pero un nivel mas de ofuscacion a quienes queremos proteger en algo nuestros scripts.

Gracias por los comentarios. Estoy depurando el codigo por que con mas de 200 archivos de un directorio como que a veces me salta errores, pero lo vengo tratando tambien ese punto.

En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #8 en: 2 Noviembre 2010, 07:44 am »

Lo que pasa con las variables es que cualquier refactor incluso manual te lo vuelve a su estado original. Te sugiero mas cosas para seguir llevando esto a otros niveles:
  • agregar variables extra y luego usar estas variables para agregar condiciones extras por todos lados
  • lo de los gotos que dije antes
  • cambiar el nombre de los miembros privados
En línea

yovaninu


Desconectado Desconectado

Mensajes: 349



Ver Perfil
Re: Pequeño Ofuscador de codigo PHP (Pruebenlo)
« Respuesta #9 en: 2 Noviembre 2010, 14:35 pm »

Lo que pasa con las variables es que cualquier refactor incluso manual te lo vuelve a su estado original. Te sugiero mas cosas para seguir llevando esto a otros niveles:
  • agregar variables extra y luego usar estas variables para agregar condiciones extras por todos lados
  • lo de los gotos que dije antes
  • cambiar el nombre de los miembros privados

El 'refactor' tendria que saber las variables originales, lo cual es imposible, a lo mucho podria reemplazarlas por variablesun poco mas entendibles, es decir n1,n2,etc.. aun asi el codigo sigue un tanto ilegible.

Más aún si pensamos que asi como puse en el ultimo ejemplo, asi iran todos los archivos del proyecto, por lo que seran miles de variables reemplazadas y 'refaccionar' eso pues suena muy lioso.

Entiendo que el nivel de ofuscacion es minimo y que puedo agregarle lo que me recomiendas, sobre los 'gotos' y 'miembros privados' te agradeceria alguna idea.

De momento he estado pensando tambien en cambiar el nombre de las funciones que puedan estar en archivos externos (includes) o en el mismo archivo php, esto por ejemplo si lo hace el PHP Processor.

Saludos.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ofuscador php libre para carpetas « 1 2 »
PHP
Zell 17 12,832 Último mensaje 11 Enero 2012, 17:48 pm
por Zell
[Aporte]Ofuscador de código
.NET (C#, VB.NET, ASP)
hackertotal22 4 10,117 Último mensaje 26 Septiembre 2011, 18:56 pm
por hackertotal22
[RESUELTO] Pequeño fallo de código
Desarrollo Web
eltiolavara 2 2,368 Último mensaje 17 Enero 2013, 00:44 am
por eltiolavara
HideMyPHP - Ofuscador PHP Gratuito
PHP
ZeusAFK 9 12,001 Último mensaje 18 Marzo 2013, 21:06 pm
por IP3
Pequeño problema con codigo php. « 1 2 »
Desarrollo Web
invdoolca 11 6,587 Último mensaje 21 Enero 2015, 20:13 pm
por Usuario Invitado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines