Falldog / pyconcrete

Protect your python script, encrypt it as .pye and decrypt when import it
Apache License 2.0
692 stars 149 forks source link

What is the best option to make a project portable with pyconcrete? #66

Open math-artist opened 4 years ago

math-artist commented 4 years ago

Hi, I am currently looking at the many options to protect my source code from being "easy" to reverse engineer.

I have some experience with pyinstaller, which can be really helpful to manage and simplify the packaging of many modules that I use, so I can quickly send a zipped folder to my customers, who usually have no programming knowledge of any kind.

Is there an option, or a hack / work-around to get pyconcrete to work as a stand-alone, without having Python installed on the computer?

Falldog commented 4 years ago

No, currently pyconcrete is not support work as a stand-alone.

Maybe you can study PyInstaller or python zipapp, spend some time to make it integrated with pyconcrete.

SeanTolstoyevski commented 4 years ago

Nuitka.

It converts python code into C code and compiles it. But of course some variables can be read from compiled .exe. This looks more solid than the others.

Nuitka puts all C files created by the compilation into a single file. Partially more difficult to examine.

With Pyconcrete, maybe you can find a way to use Nuitka. Combining the two can be a difficult decompile process.

Falldog commented 4 years ago

Nuitka seems cool, I will spend some time to study it in future

SeanTolstoyevski commented 4 years ago

Hi @Falldog ,

As a recommendation, I would recommend that the pye converted files be compressed into the library named "library.zip" as in py2exe. Files can be read from Archive.

This is the approach of PyInstaller and py2exe.

Python's zip support is highly developed. If this sounds like a good idea, we can start somewhere.