Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/07/2008, 15:02
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Cómo crear un compilador php?

Tal como dice lalogrosz, ya hay varias herramientas, y la ventaja que tienen al ser Closed Source es que es dificil ver los métodos de obfuscación que hacen (ya que lo que hacen aparte de compilar es obfuscar).

Actualmente lo que Zend Guard y IonCube encoder hacen es:
- Obfuscan tu código fuente, cambiando variables por números y cambiando nombres por strings aleatorios.
- Compilan tu código fuente y generan un ByteCode.
- Comprimen el código resultante.

Luego a traves de la extensión que tienen le indican a PHP que al ver los archivos en formato binario en lugar de tratar de compilarlos los ejecute directamente.

Es por eso que no es 100% garantizado ya que si alguien conociera muy bien el lenguaje ensamblador podría ver el código en ASM y a lo mejor (después de mucho trabajo) re hacer el código fuente.

Si tu lo quieres hacer y realizar necesitaras amplios conocimientos del Zend Engine, y de C y C++, ya que necesitaras conocer muy bien el código fuente de PHP, también necesitaras saber de código ensamblador para verificar cosas y optimizar procesos.

Saludos.