Foros del Web » Programando para Internet » PHP »

Ofuscacion de Codigo PHP

Estas en el tema de Ofuscacion de Codigo PHP en el foro de PHP en Foros del Web. Holas. Estaba desarrollando un proyecto y necesitaba proteger el codigo fuente de la web. Utilice uno de los productos zend para ofuscar el codigo. La ...
  #1 (permalink)  
Antiguo 13/05/2008, 18:19
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 16 años
Puntos: 0
Pregunta Ofuscacion de Codigo PHP

Holas.

Estaba desarrollando un proyecto y necesitaba proteger el codigo fuente de la web.
Utilice uno de los productos zend para ofuscar el codigo.

La pregunta es si es posible hacer ingenieria inversa de esto y ademas si ofuscar el codigo realentiza el script .

gracias como simpre!!
  #2 (permalink)  
Antiguo 13/05/2008, 19:24
isra00
Invitado
 
Mensajes: n/a
Puntos:
Re: Ofuscacion de Codigo PHP

Lo que hace el ofuscador de Zend y los demás ofuscadores, es entre otras cosas:

- Convertir el código a base64.
- Cambiar los identificadores (variables, funciones, clases....) a nombres tipo a00034 o v011001010110, de tal manera que resulta infumable para un humano.
- Eliminar saltos de línea y tabuladores.
- Eliminar comentarios.
- Ofuscar el código HTML y las cadenas.

Al menos, es todo lo que hace obfuscPHP, el ofuscador que yo uso. Con todo esto, el código generado es código ejecutable, es decir, de ingeniería inversa nada, ya que no hay código ensamblador compilado ni nada por el estilo. Ahora bien, en términos prácticos, interpretar, para una persona, un código PHP ofuscado es imposible (si no lo fuese, entonces los fabricantes de ofuscadores se quedarían sin trabajo). Así que si ofuscas tu código (te invito a que lo pruebes por ti mismo e intentes leer el código ofuscado), puedes estar tranquilo de que nadie te lo robe (a no ser que quiera hacer variaciones mínimas y que sea un verdadero gurú).

Con respecto al rendimiento, bueno, quizá según el nivel de ofuscación el código puede ser un pelín más lento, por poner un ejemplo: la mayoría del código se convierte a base64, se almacena como string y se ejecuta con la función eval(). En el código original no tenías esto, y el script ofuscado obliga al motor de ejecución de PHP a "tragarse" ese larguísimo string (partiéndolo en trozos más pequeños) y a ejecutar la función eval() que, originalmente no habías escrito.

Como todo, depende del proyecto que se trate. Si vas a ponerlo en el servidor local de un cliente, como, personalmente, es mi caso, y no suele haber mucha gente conectada a la vez (20 como mucho), entonces la ofuscación no es un problema. Pero si se trata de un sitio web muy recurrido entonces quizá el caché y otros métodos de optimización del rendimiento no basten (en este caso deberías tener el control del servidor, para que nadie pudiese ver el código).

Espero haberme explicado, y sobre todo, haber sido de ayuda.
Un abrazo,
Isra.
  #3 (permalink)  
Antiguo 13/05/2008, 21:08
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 16 años
Puntos: 0
Re: Ofuscacion de Codigo PHP

isra, muchas gracias por tu ayuda. Ya me ayudaste en otra ocasion.

Si, prove ofuscar codigo y vi que se hacia un funcio eval( asldfjaslfjslf3543235...); y muchas mas letras y numeros inentendibles.

Pienso empezar por ofucarlo. Lo voy a poner en un hosting compartido para empezar ademas. Si el sitio crece y tengo problemas de rendimiento, bueno mejor!! sera hora de pasar a un dedicado, ahi puedo no ofuscar.

Gracias
  #4 (permalink)  
Antiguo 14/05/2008, 08:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ofuscacion de Codigo PHP

Hola nixspatin,

Lo que hace el Zend Encoder o el IonCube Encoder, es lo que dice su nombre, compilan y codifican el archivo PHP, y lo que te entregan es un archivo binario (no de texto como un obfuscador), lo que ayuda a ejecutar más rápido el script ya que PHP no tiene que compilar y ejecutar tu archivo, simplemente lo ejecuta directamente.

Saludos.
  #5 (permalink)  
Antiguo 14/05/2008, 16:51
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 16 años
Puntos: 0
Re: Ofuscacion de Codigo PHP

Cita:
Iniciado por GatorV Ver Mensaje
Hola nixspatin,

Lo que hace el Zend Encoder o el IonCube Encoder, es lo que dice su nombre, compilan y codifican el archivo PHP, y lo que te entregan es un archivo binario (no de texto como un obfuscador), lo que ayuda a ejecutar más rápido el script ya que PHP no tiene que compilar y ejecutar tu archivo, simplemente lo ejecuta directamente.

Saludos.
Osea que ademas de impedir enternder su contenido, te lo hace mas rapido ?
  #6 (permalink)  
Antiguo 14/05/2008, 17:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ofuscacion de Codigo PHP

Así es, ya que evita que el interprete de PHP tenga que compilar el código.

Saludos.
  #7 (permalink)  
Antiguo 14/05/2008, 17:54
 
Fecha de Ingreso: noviembre-2007
Ubicación: Córdoba
Mensajes: 70
Antigüedad: 16 años, 5 meses
Puntos: 1
Re: Ofuscacion de Codigo PHP

Hola.

La única pega es que tienes que instalar algún módulo en el php del servidor.

Saludos.
__________________
http://www.javierav.com
  #8 (permalink)  
Antiguo 15/05/2008, 10:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Ofuscacion de Codigo PHP

Un comentario, con respecto a

Cita:
Iniciado por isra00
Ahora bien, en términos prácticos, interpretar, para una persona, un código PHP ofuscado es imposible
Quizás sea imposible para una persona, pero no para el mismo programa que lo generó.
Basta con que el interesado instale ese programa, y toda la protección se fue. Y en caso de que no exista el programa, los pasos para generar el código suelen ser relativamente sencillos, así que el único problema serían los nombres de variables.
Y basta generalmente un conocimiento más o menos general del programa para saber qué hace, por lo que 'Buscar y Reemplazar' probablemente haga el resto del trabajo de 'desofuscar' el código, reemplazando los nombres sin sentido por nombres que consideremos apropiados.


Saludos.
  #9 (permalink)  
Antiguo 16/05/2008, 17:48
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 16 años
Puntos: 0
Respuesta: Ofuscacion de Codigo PHP

Jaja!! entonces en que quedamos??. no entiendo
  #10 (permalink)  
Antiguo 22/07/2008, 12:35
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Ofuscacion de Codigo PHP

buenas, me anoto en este tema porque me interesa.

yo tengo un script que es gratis pero tiene el codigo encriptado con phpshield, y vi que hay una carpeta en el script que dice phpshield y adentro tiene muchos archivos, alguno sabe como funciona eso ?
  #11 (permalink)  
Antiguo 22/07/2008, 12:55
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: Re: Ofuscacion de Codigo PHP

Cita:
Iniciado por alvlin Ver Mensaje
Un comentario, con respecto a



Quizás sea imposible para una persona, pero no para el mismo programa que lo generó.
Basta con que el interesado instale ese programa, y toda la protección se fue. Y en caso de que no exista el programa, los pasos para generar el código suelen ser relativamente sencillos, .....
Saludos.
Pero en si.... confiene ofuscarlo ono, al momento de que nadie sepa que tiene el archivo....
  #12 (permalink)  
Antiguo 22/07/2008, 12:56
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Respuesta: Ofuscacion de Codigo PHP

loading............

Bueno para entender como está hecha una clase codificada con ZEND lo que yo hice es.

1.- Instalar Zend Optimizer en mi servidor
2.- Hacer Reflection de las clases.

Y bueno hasta ahí un buen logro jejeje


connection closed.
__________________

Maborak Technologies
  #13 (permalink)  
Antiguo 23/07/2008, 06:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Ofuscacion de Codigo PHP

no hay nada gratuito no ? todos los ofuscadores o codificadores son pagos ?
si tuviesen que pagar por cual lo harian ? ayer probe el demo del sourceguardian y no funciono...
me codifico el php pero al querer probarlo me decia que no tenia el archivo del decoder y si lo tenia en la carpeta correcta :S
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:44.