Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are Nuitka compiled files actually binaries ? #2820

Closed
RobertAzovski opened this issue Apr 20, 2024 · 1 comment
Closed

Are Nuitka compiled files actually binaries ? #2820

RobertAzovski opened this issue Apr 20, 2024 · 1 comment
Assignees
Labels
question Question asked about Nuitka

Comments

@RobertAzovski
Copy link

Please just explain how does compilation works with Nuitka.

I thought binary file is just an array of 0010010101 but it seems like Nuitka just packs separate python files like Pyinstaller does. Like this one shown on ViRusTotal seems like whole my executables are consist of pyd files.
_hashlib.pyd
_ctypes.pyd
libffi-8.dll
libcrypto-1_1.dll
_uuid.pyd

So technically it is not binary at all but some archive of python bytecode files packed together ?

If so. What chances that Source Code of My program can be reverse engineered ??

@kayhayen
Copy link
Member

The files you see there are DLLs and extension modules used for embedding Python, these are written in C, e.g. the hashlib module can use either a built-in module _hashlib or an external module. These are not using bytecode, and are just packaged by Nuitka.

Nuitka only compiles Python code to C code and therefore machine code itself. For some parts, it can use bytecode, e.g. the encodings are required to be bytecode when initializing the Python DLL, embedded statically or not, but user code is normally never bytecode.

@kayhayen kayhayen self-assigned this Apr 20, 2024
@kayhayen kayhayen added the question Question asked about Nuitka label Apr 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Question asked about Nuitka
Projects
None yet
Development

No branches or pull requests

2 participants