【问题标题】:My exe doesn't execute after I decompiled and changed the code反编译并更改代码后,我的 exe 不执行
【发布时间】:2017-11-16 20:03:19
【问题描述】:

我有一个.exe 文件,其中py2exe 编译的文件在我的.exe 文件夹中我有一些.dll 文件,一个.exe 文件和library.zip 文件,在这个zip 里面我有很多@ 987654328@编译文件。

我已经使用 Easy Python Decompilerlibrary.zip 反编译了这些文件,该程序为我创建了新文件,我可以在其中查看和更改我的代码。

我在需要的地方打开了这个文件,并使用 python 编辑器更改了我的代码,最后我保存为新的脚本代码,带有一些名称和扩展名.pyc 目的是替换第一个.pyc

再次压缩库文件夹,我尝试运行.exe prgram,但更改后程序不执行。

我在任务中做错了什么?我需要以某种方式重新编译吗?

【问题讨论】:

  • 如果您有代码,请尝试重新运行 py2exe。我不认为坚持使用同一个 exe 文件是最好的办法。

标签: python python-2.7 py2exe decompiler


【解决方案1】:

pyc 和 py 文件不一样。虽然它们代表相同的代码,但它们完全不同:

  • py 文件代表你正在输入的代码,可以被 python 解释器解释,不是原生的,并且是可移植的

    • pyc 文件是 py 文件的编译版本,不可移植,不打算由人修改,但速度更快

您不能交换它们并期望它起作用。您需要先将其编译为 pyc。你会在这里找到更多信息:How can I manually generate a .pyc file from a .py file

【讨论】:

  • 我很快就测试了,首先我需要将它编译为 pyc 并在替换后?正确?
  • 在我看来,你不应该使用同一个 exe 文件,但是是的,如果一切顺利,编译然后替换可能会起作用。请注意,这绝不是替换 exe 文件中的二进制 blob 的好习惯
  • 谢谢你用替换解决了很多问题,如果替换不起作用,还有什么选择?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 2011-11-15
  • 2014-11-28
  • 2012-02-14
  • 2018-11-26
  • 1970-01-01
相关资源
最近更新 更多