【问题标题】:Is it possible to "patch" a .exe for copy protection?是否可以“修补” .exe 以进行复制保护?
【发布时间】:2012-03-04 04:38:50
【问题描述】:

是否可以使用 C++ 或 C# 创建应用程序,以便我可以修补 exe 文件以进行复制保护?
因此,如果用户在我的网站上有一个绑定了软件的帐户,我可以要求他们输入一个通过数据库检查的密钥,然后执行或显示错误。

当我说“补丁”时,我的意思是应用到已经构建/编译的 exe。谢谢您的帮助。 :)

【问题讨论】:

  • 是否要调整权限,让用户以超级用户身份登录时只能更改文件?
  • 可能,但 C# 与 C++ 的命题完全不同。在所有情况下都是一个坏主意。
  • @David - Heffernan 啊,很好。你能为我指出正确的方向吗?我应该寻找什么? :)
  • @Henk Holterman - 哦。为什么这是个坏主意?不保证能正常工作吗?
  • 这些类型的复制保护通常称为“信封”(例如 HASP 信封)。您可以搜索它们。

标签: c# c++ exe drm copy-protection


【解决方案1】:

根据您的复制保护的复杂程度,“修补”可能在最简单的情况下归结为在受保护的 EXE 文件中的选定偏移处写入几个字节。 This project 可能很有趣。

【讨论】:

  • 是的。只要可以应用简单的保护包装,就可以轻松移除此修补程序。这种保护可以通过所有产品的一些“常见”破解来消除。对于所有包装器来说,这是一个很大的缺点。
【解决方案2】:

这很容易实现,许多打包程序和保护系统(如 Themida)都会这样做,但是,这样的事情很容易被破解,因此您需要评估某人破解您的程序所需的努力与回报。

但是,要直接回答您的问题,最好的办法是挂钩 PE 中定义的代码入口点,并将其重定向到您的检查器(取决于操作系统)。 UPX 是一个开源可执行打包程序,应该提供一个良好的使用基础或参考点,因为它挂钩可执行文件的条目以运行解包引擎。您还可以找到一些关于包装器和保护器的文章here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2017-03-10
    • 2016-10-12
    • 2010-09-27
    • 1970-01-01
    相关资源
    最近更新 更多