Bueno, hay muchas formas de hacerlo, pero todo depende de los conocimientos de los curiosos... si son muy curiosos, entonces no hay protección que valga...
Un ejemplo. Supongamos que tenemos este programa:
Using perl Syntax Highlighting
#!/usr/bin/perl
my $password = 'misecretword';
acceso($usuario, $password);
sub acceso {
print "Acceso de [$usuario]/[$password]\n";
print "Listo!\n";
}
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
No tiene nada de especial. Si lo ejecutamos, funciona, sacando los valores a pantalla, pero podría hacer cualquier otra cosa.
Ahora, hacemos una copia de este programa y lo guardamos en un sitio seguro (esto es importante).
Después, añadimos una línea más, para que quede así:
Using perl Syntax Highlighting
#!/usr/bin/perl
use Acme::Pony;
my $password = 'misecretword';
acceso($usuario, $password);
sub acceso {
print "Acceso de [$usuario]/[$password]\n";
print "Listo!\n";
}
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Es decir, solo añadimos la línea
use Acme::Pony;, un módulo que, previamente, hemos instalado.
Ejecutamos una vez el programa.
Using text Syntax Highlighting
explorer@casa:~/Documentos/Desarrollo> perl ./kkk.pl
explorer@casa:~/Documentos/Desarrollo>
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Aparentemente no ha pasado nada, pero si miramos por dentro, el programa queda "mágicamente", transformado en algo como esto:
Using perl Syntax Highlighting
use Acme
::Pony;
b
UfFybu
fFyBUfF
YbUffYBUFfy
buffYbuffYbuFf
yBuFfYBUfFYbuFFYbU
fFyBUFfYbuffYBufFybU
FFyBufFyBUfFYBUfFYbuffy
bUffybuffYbuFfYBUFfybuf
fyBufFYBufFybUffYBUFfYBUF
fYBuFfYBuFFyBufFyBUfFYbuFF
YbUfFYbUFfYBUFfYBuffybufFyBU
ffyBUfFybufFYbufFYbUFfYbuffYB
ufFybuFFyBuffyBUffYbUFFYbUff
YbUFfyBUFfYBuFfYbuFFyBUff
YBUffYBUfFybuffYBUFfybu
FFYBuffyBUFFyBUFfyBufFY bU
FFybuFfYbuffYbUFfYBuFfyB UFFybu
ffyBuffyBufFybuffyBUFfYbuff YBuFFybUF
FyBUffYBUfFYBuFFYbUFFYbUFfyBuf FYBuffYbuF
FybuffyBufFyBUFFybuffybUffYBUffYbuFfYBuFFyBufFyBUfFYbuFFYbUf
FybUFf YBuffYBufFybUFFyBuFfyBUffyBuFFYbUFFyBUFfYBUFfYBufFybUFFybuFf
yBUfFYBufF ybUFfYBUffyBuFfybufFyBuffyBuffyBUfFYbufFYbUFfybUFfYbUffYBuFFy
bUFFyBUFFyBUffybUfFybufFybUffYbUfFYBuFFybUFFyBuFfYBUfFybufFYbuFfyBUFfYbuFf
YBuFFYB uFFybuFFyBuffybufFybufFybUffybufFYBuFfybuFFyBUffYBUfFYbuFFYbUFFyBUFf
YBUFfYB ufFybUFFybuFfyBUfFybUfFybUFfYBUffyBuFfybufFyBuffyBUffYBUfFyBuFFYbuF
fybUF fybuffYbuFfybuFFyBUffyBUfFYbufFYbUfFybUFfYBufFYBuFFYBuFFybuffyBuf
FYbUFF YbuFfYbuffybuffYbuffybuFfybuffyBuffybufFybuffyBUFfyBufFYBuFfyB
uFFybU FFyBUffyBuFFYbuffybUffyBuffYbuFfybufFyBUffyBUfFYbufFYbUfFyb
UFfYB ufFYBuFFYBuFFybuffyBuffyBufFYbUfFybUFfybuffYbuFFyBUfFybu
FfyBufFy BuFFYbUFfyBUFfYbUfFYBuFfybuFFybUffYBUfFy
bUfFYbU FFYbUFfYbUFFyBuFFYBuFfyBUfFYb
UffyBuf FybuffyBUFfYbuff YBuFFybUFFyB
UffYBUf FYBuFFYbUFFYbU FfyBufFYBuff
YbuFFyB uFFYbUffyBUF fYbuFFYbUFfy
BuffYb uFFyBUFfyb UfFybuffybu
fFybu ffybUffyb uffYbuffybu
Ffybu ffYBUffYbuFF YbUffYbUFf
yBUFf YBuf fYbUFF ybuffyBuff
YbufF ybufFY buFf YbuFfYBu
FFybU FFybu FfYB UfFYBUf
FYbU ffyb Uffyb
UFFyB ufFY
BuFFy bUff
yBufF YbUF
Fybu
F
fYbuffYbUFFYBufFyBuffybUfFybufFYBUFfYbUFFYBuFfYbUffyBufFYBufFybuFfybUfFYBUFfYbUFFYBuFf
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
con lo que, de repente, todo nuestro programa ha "desaparecido" (por eso era importante,
antes, haber hecho una copia de nuestro programa, en otro sitio).
Pero... este sigue siendo nuestro programa, ¡y sigue funcionando!
Using text Syntax Highlighting
explorer@casa:~/Documentos/Desarrollo> perl ./kkk.pl
Acceso de [
[email protected]]/[misecretword]
Listo!
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Y asunto resuelto... ¡con poni incorporado!