
Nuestro código es nuestro mayor tesoro (mi tesorooo) y por tanto seguro que muchas veces nos interesa protegerlo lo máximo posible para que no nos copien todo el trabajo realizado durante muchas horas.
Una de las opciones, de pago, es Zend Guard. Se trata de una herramienta de escritorio que protege las aplicaciones de la ingeniería inversa y no autorizada mediante el suministro de codificación y ofuscación, así como proteger de uso sin licencia y de la redistribución.
Como herramientas gratuita podemos destacar la herramienta de jcarlosrendon.morelosplaza o como opción más "casera" las funciones que nos proponen en el siguiente foro foro.undersecurity.net
Otras aplicaciones de escritorio -gratuitas esta vez- que podemos utilizar es MyPhpGuard la cual utiliza un algoritmo bastante básico o phpprotect la que nos promete una buena ofuscación.
Veremos cómo funcionan algunas de las aplicaciones (gratuitas) que hemos descrito anteriormente
Para el código fuente
else if((isset($_GET['wb']))&&($_GET['wb']!="")){
if((isset($_GET['cl']))&&($_GET['cl']!="")){
$colors = "['".$_GET['cl']."']";
}
else
$colors = '["0099CC","AA66CC","99CC00","FFCC00"]';
$content = file_get_contents($_GET["wb"]);
echo $content;
}
El código generado por la herramienta MyPhpGuard es
else{$mystr1s2242 = '["0099CC","AA66CC","99CC00","FFCC00"]';}}else if((isset($_GET['wb']))&&($_GET['wb']!="")){
if((isset($_GET['cl']))&&($_GET['cl']!="")){$mystr1s2242 = "\x5b\x27".$_GET['cl']."\x27\x5d";}
else
$mystr1s2242 = '["0099CC","AA66CC","99CC00","FFCC00"]';$mystr1s2243 = file_get_contents($_GET["\x77\x62"]);
echo $mystr1s2243;}
El generado por phpProtect
else if((isset($_GET['wb']))&&($_GET['wb']!="")){
if((isset($_GET['cl']))&&($_GET['cl']!="")){
$PHPprotectV6 = "['".$_GET['cl']."']";
}
else
$PHPprotectV6 = '["0099CC","AA66CC","99CC00","FFCC00"]';
$PHPprotectV7 = file_get_contents($_GET["wb"]);
echo $PHPprotectV7;
}
Y finalmente el generado por jcarlosrendon
// Este archivo es protegido por la ley del derechos de propiedad literaria. La ingenieria inversa de este codigo se prohibe estrictamente.
eval(gzinflate(base64_decode('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')));
Como conclusión, en base a todas las herramientas y métodos probados, creo que la ofuscación solo puede servir para que el código no sea fácilmente legible, pero cualquier persona con unos conocimientos mínimos podría realizar el proceso inverso y ver nuestro código real de una forma muy rápida. Si debiese de elegir uno, elegiría el de jcarlosrendon debido a su complejidad de código a simple vista y a que usa base 64 para ello.
¿Has utilizado o conoces algún otro?

Comentarios
Publicar un comentario