Protect your python script, encrypt .pyc to .pye and decrypt when import it
0.9.x Beta
- your_script.py
import pyconcrete
- pyconcrete will hook import module
- when your script do
import MODULE
, pyconcrete import hook will try to findMODULE.pye
first and then decryptMODULE.pye
via_pyconcrete.pyd
and execute decrypted data (as .pyc content) - encrypt & decrypt secret key record in
_pyconcrete.pyd
(like DLL or SO) the secret key would be hide in binary code, can't see it directly in HEX view
- only support AES 128 bit now
- encrypt & decrypt by library OpenAES
- get the pyconcrete source code
$ git clone <pyconcrete repo> <pyconcre dir>
- install pyconcrete
$ python setup.py install
-
need to input your passphrase create secret key for encrypt python script.
-
same passphrase will generate the same secret key
-
convert your script to
*.pye
$ pyconcrete-admin.py compile_pye --file=<your py script>
$ pyconcrete-admin.py compile_all_pye --dir=<your py module dir>
-
remove
*.py
or copy*.pye
to other folder -
import pyconcrete in your main script
- recommendation project layout
main.py # import pyconcrete and your lib
src/*.pye # your libs
- install pyconcrete as lib
$ python setup.py install \
--install-lib=<your project path> \
--install-scripts=<where you want to execute pyconcrete-admin.py>
- import pyconcrete in your main script
- recommendation project layout
main.py # import pyconcrete and your lib
pyconcrete/* # put pyconcrete lib in root, keep it as original files
src/*.pye # your libs