【问题标题】:Pyminifier (obfuscation) does not appear to change anything other than in command linePyminifier(混淆)似乎没有改变命令行以外的任何东西
【发布时间】:2018-04-25 06:43:37
【问题描述】:

我试图用pyminifier 混淆我的python 代码。通常我会使用 SAAS,但是它不在这个小项目的预算之内,也不可能将它作为服务器应用程序托管。我试过以下代码:

pyminifier --nonlatin --replacement-length=50 C:/hi.py

虽然当我编辑文件时,它似乎没有任何不同。当我用Uncompile6 打开时也是如此。我错过了什么吗?它在命令行中更改或出现。如果我通过 pyinstaller 分发它,则代码在 cmd 中似乎发生了变化,但似乎没有任何不同。

【问题讨论】:

  • pyminifier 不会更改源文件,它会将其输出发送到终端。您需要自己将该输出捕获到文件中,例如通过重定向。为什么要使用--replacement-length=50?当然,较短的名称会使代码更加模糊。
  • @PM2Ring 我明白了。这可以解释为什么什么都没有改变。这方面的文档似乎不多,你能提供一个例子吗?
  • 我不使用 Windows,但我很确定标准重定向语法在您的命令提示符下有效,例如 pyminifier -O --nonlatin --replacement-length=5 C:/hi.py >C:/newhi.py
  • @PM2Ring 我的确切输出是# Created by pyminifier`。似乎没有正确混淆。

标签: python python-3.x obfuscation pyinstaller decompiling


【解决方案1】:

默认情况下,pyminifier 只会使文件更小(删除不必要的空格,cmets....)。 你可能想运行:

pyminifier -O --nonlatin --replacement-length=50 C:/hi.py

【讨论】:

  • 显然这并没有改变来源,但还有一个额外的重定向步骤。我找不到任何东西。也许转换为 pyz - 比如 pyminifier --pyz=C:/hi1.pyz C:/hi1.py。尽管我有一个大型导入库,但它会产生错误...
  • 老实说,这个库已经过时了,它可以正常工作真是太棒了 xD
  • ﱟ=True ^ SyntaxError: 标识符中的无效字符
【解决方案2】:

尝试使用 -o 添加输出文件

pyminifier -o C:/hi_2.py --nonlatin --replacement-length=50 C:/hi.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多