【发布时间】:2011-12-13 09:49:19
【问题描述】:
我在使用 inno 设置时遇到问题。我正在使用 inno 安装更新,并使用 update.exe 用户获得带有许可证号的 txtfile。在他的 Unit 上,这个 licencenumber 可由 dll 函数读取。
在安装过程之前,我必须比较这些数字。仅当此数字相同时,用户才尝试在具有正确许可证的正确计算机上安装更新。
如果我将此检查放入单独的 exe 中,则只需更改 exe 即可轻松破解它(无错误代码)。所以我想将检查拆分为单独的 exe(我在其中检查其他一些东西,如安装的版本号等)和 update.exe
在更新 exe 中,我想读取更新包内的 txt 文件 - 这很简单。 在 check.exe 中,我想调用内部 dll 并获取机器的许可证号。我必须将此数字作为 int 返回。 C# 允许我这样做。
但是我怎样才能在 innosetup 中得到这个数字呢?
我尝试为此获取错误代码(0=错误 - 版本不正确等,XXXXXXXXX = 机器的许可证号)。但是错误代码在 inno 中只有 2 个字符。我只得到 2 个字符...
将数字保存在另一个文件中不是解决方案,因为用户可以通过这种方式破解它......是否可以在不给用户机会操纵的情况下将数字放入 inno 中?
【问题讨论】:
标签: security licensing exec inno-setup pascal