Python sourcecode packer...
Verfasst: Donnerstag 25. Juni 2015, 13:10
Hab u.a. http://stackoverflow.com/questions/6882 ... urce-files gefunden und auch sowas wie https://github.com/liftoff/pyminifier
Mit pyminifier kann man u.a. den code zusammen pressen... Beispiel: https://github.com/liftoff/pyminifier/b ... README.rst
Nun Frage ich mich, ob man das nicht weiter auf die Spitze treiben kann.
Man könnte halt ein Wöterbuch machen, mit allen vorkommenden Namen und auch allen Python statements/builtins usw.
Aber anders als beim Pyminifier und dem darin erhaltenen "obfuscator", soll die Namen auch wieder zurück konvertiert werden können.
Eigentlich müßte es doch möglich sein, das AST modul zu verwenden und so einen speziellen Kompressor/Dekompressor schreiben.
Sowas wie Python-Bytecode, der sich allerdings wieder zurück übersetzten läßt zum normalen Code.
Evtl. könnte man darauf verzichten, das beim Dekomprimieren 100% der original code raus kommt. Sondern einer der nach PEP-8 Formatiert ist. Vielleicht https://github.com/google/yapf dazu ansehen?
Ich frage mich allerdings, ob man damit besser sein kann, als eine generischer zlib:deflate oder LZMA Kompressor?!? (Wobei man die ja auch zusätzlich anwenden könnte)
Mit pyminifier kann man u.a. den code zusammen pressen... Beispiel: https://github.com/liftoff/pyminifier/b ... README.rst
Nun Frage ich mich, ob man das nicht weiter auf die Spitze treiben kann.
Man könnte halt ein Wöterbuch machen, mit allen vorkommenden Namen und auch allen Python statements/builtins usw.
Aber anders als beim Pyminifier und dem darin erhaltenen "obfuscator", soll die Namen auch wieder zurück konvertiert werden können.
Eigentlich müßte es doch möglich sein, das AST modul zu verwenden und so einen speziellen Kompressor/Dekompressor schreiben.
Sowas wie Python-Bytecode, der sich allerdings wieder zurück übersetzten läßt zum normalen Code.
Evtl. könnte man darauf verzichten, das beim Dekomprimieren 100% der original code raus kommt. Sondern einer der nach PEP-8 Formatiert ist. Vielleicht https://github.com/google/yapf dazu ansehen?
Ich frage mich allerdings, ob man damit besser sein kann, als eine generischer zlib:deflate oder LZMA Kompressor?!? (Wobei man die ja auch zusätzlich anwenden könnte)