当我想保护通用数据块以将此原则应用于通用应用程序的分发时,我正在考虑我拥有的各种选项。
- 加密没有意义,这就像给用户提供一些无法使用的东西,或者我必须同时提供加密文件和密钥来解密它,这更没有意义。
- 生成熵没有意义,因为这个过程只会以其他方式重新排列数据,而不会破坏应用程序的业务逻辑。
- 将我的应用程序包装在一个需要用户密码的可执行文件中,我的真实应用程序和我的包装器是双重链接的,如果我的包装器没有发出绿灯,我的应用程序将无法运行。
- 基于 Web 的分发,如流行的“Steam”服务,基于一些登录/ID 验证为每个用户定制编译。
还有哪些其他选择?我知道这不会最终得到一个明确的解决方案,但至少我想避免用户只是通过简单的复制和粘贴来重新分发我的应用程序,并且我希望在软件分发系统上至少有一点优势。