Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 4
  • 194

Python ma to do siebie, że jest widoczny i łatwo dostępny do wglądu przez każdego wykonującego. Czy jest możliwość, aby go skonwertować do formy, z której nie będzie możliwości uzyskać pełnego kodu źródłowego lub maksymalnie go zaciemnić?

user00123123
  • Zapytał
  • @ user00123123 | 31.03.2015
    • laureat
    • 21
    • 18
    • 77

Odpowiedzi (2)

  • 0

Nie ma takiej możliwości. Zawsze można będzie wykorzystać taki kod.

Pytanie raczej: w jakim celu chcemy sprawę zaciemnić? Możliwe, że są lepsze ku temu praktyki.

  • Odpowiedział
  • @ | 07.04.2015
  • TRENER ALTKOM AKADEMII
  • 0

Może po prostu wystarczy go skompilować? ;)

undefine@uml:~$ cat > test_modul.py
#!/usr/bin/python
print "ala ma kota"
undefine@uml:~$ cat > test.py
#!/usr/bin/python
import test_modul
undefine@uml:~$ python -OO test.py 
ala ma kota
undefine@uml:~$ rm test_modul.py
undefine@uml:~$ ls -l test_modul.pyo 
-rw-rw-r-- 1 undefine undefine 136 lut 13 21:04 test_modul.pyo
undefine@uml:~$ python -O test.py 
ala ma kota
undefine@uml:~$ file test*py*
test_modul.pyo: python 2.7 byte-compiled
test.py:        Python script, ASCII text executable

Tracimy w ten sposób przenośność, skompilowany moduł uruchomi się tylko na konkretnej wersji pythona... Do tego nie ma większego problemu by taki skompilowany moduł zdekompilować - ale jeżeli zależy nam tylko na tym by nie dało się wprost podejrzeć kodu - może wystarczy?

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 13.02.2016
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169