If you cannot extract Python bytecode, consider these methods:
uncompyle6 -o ./output_dir ./extracted_file.pyc
For newer Python versions (3.9+), uncompyle6 often fails because the bytecode opcodes have changed. pycdc is a newer, open-source tool actively maintained to handle modern Python versions.
Most Python-to-EXE tools leave a clear signature. For a PyInstaller-generated EXE (the most common):