使用os.path.exists保护exe文件是个好主意吗?

时间:2012-12-06 21:23:12

标签: python file exe

使用是否是个好主意:

import os.path
os.path.exists (file_path)

“保护”程序以防止副本?

例如,在我们的主应用程序中,我们使用:

import os.path
os.path.exists ("c:\windows\mifile.dll")

其中mifile.dll是任何内容,当然还有其他名称,例如windriv.dll,只是用记事本保存的简单文字。

如果文件存在,程序可以正常工作,如果没有,则会显示一条警告消息,说明它是非法副本或其他内容。

安装程序时,我会正常安装软件包或便携式文件夹,并手动复制mifile.dll中的文件c:\windows

2 个答案:

答案 0 :(得分:3)

这不是最好的主意。

  1. 很多人(例如我自己和可能的病毒程序)都会看到Windows目录,并会删除这样的内容。
  2. 加密可能会更好
  3. 捕获导入错误不是最简单的事情
  4. 如果你担心非法拷贝,那么不久就会有人知道这个问题并且你有一个可以轻松复制并轻松分发的文件。
  5. 使用导入和错误输出对逆向工程师来说是一个巨大的危险信号
  6. 使用UAC时,如果不以管理员身份运行程序,则可能无法访问此文件

答案 1 :(得分:1)

没有

无论您最终采用哪种解决方案,“秘密握手安装技术”的一般概念基本上都是破坏。您实际上是在阻止您的客户:

  • 升级本机的操作系统
  • 从备份中恢复系统
  • 由于硬件故障将服务移至新计算机

客户 需要在未来几年内完成其中任何一项。当他们这样做时,您的程序将会中断,他们将不知道为什么或如何解决它。鉴于您此时甚至可以使用它们,请想一想当它们与您联系以解决问题时这会让您看起来如何。

如果发现分包商秘密地将自己介绍为像这样的单一故障点,我会非常生气。

信任您的客户,获得您可信赖的新客户,或者寻求完全专业的非秘密DRM解决方案。