codificar programa

ch3m4 en ch3m4.org ch3m4 en ch3m4.org
Lun Sep 6 02:15:33 CEST 2004


Mensaje citado por Packo <packo_assamita en supercable.es>:

> Para poder hacer un programa y que luego no se puedan acceder a los literales
> y las llamadas al sistema a través de un simple editor hexadecimal, ¿hay
> alguna manera?, estoy seguro que sí. Tb acepto soluciones alternativas como
> que los literales se tomen de un  archivo encriptado, en tal caso ¿como se
> haría?

Si entiendo bien, no quieres que se "vean" las cadenas de caracteres; pero no
aclaras cómo has pensado distribuir la aplicación, si con los fuentes o como
binarios de algún tipo.

De cualquier modo mira en el módulo "encoding" los diferentes tipos de codificar
cadenas de caracteres. No hace falta que importes el módulo; el tipo 'str' tiene
los métodos 'encode' y 'decode' para codificar/decodificar:

>>> print 'Abobql rkcrpgf gur Fcnavfu Vadhvfvgvba!'.decode("rot13")
>>> print '4e6f626f6479206578706563747320746865205370616e69736'\
'820496e717569736974696f6e21'.decode("hex")
>>> print \
"""x=9C=F3=CBW(=C8L-JI,V=C8=3D=BC=B0X!5G=A1$35=B7=20_!9?O!'=1F(=92=05=E4=82=18=
=D6=BA=9A=00=99=B3=10=C7
""".decode("quopri").decode("zip")


Si quieres algo más serio, mirarte el módulo "crypt".




Más información sobre la lista de distribución Python-es