installation - 如何通过反编译保护/加密 Inno Setup

标签 installation inno-setup

我正在使用 Inno 设置工具来打包/设置我的所有文件(dll、exe、jpg 等)。 但是我发现有一个软件叫InnoExtractor它可以真正打开我的设置并读取所有脚本并提取所有文件,因为我需要在设置中隐藏/保护我的文件我花了很多时间/努力来保护从 Inno Setup 生成的 setup.exe。 , 但我发现有人说给 Inno Setup Script 添加密码,但这也是错误的,因为客户端知道该密码,他可以简单地使用 InnoExtractor 并提取所有内容,即使它受密码保护!不是吗!?

现在,我只是问是否有人可以建议我解决这个问题。其实我是根据客户端的机器在客户端嵌入了XML文件和用于安装特定文件的DLL,但是如果客户端把所有的DLL都解压到他的机器上那将是一场灾难!我需要一种方法来防止客户端看到/提取我的 setup.exe!

最佳答案

如果您需要能够在用户的机器上运行相同的代码,则无法保护代码不受用户访问。将文件传送到客户端机器后,无论您使用何种方式打包,客户端都可以提取文件。

你只能让它变得更难,但没有绝对的解决方案。

您使用的标准工具越多,反编译代码就越容易。如果你想让反编译变得困难,请制作自定义安装程序,而不是依赖标准安装程序工具(如 Inno Setup)。


可能唯一安全的方法是使用一些在线服务。

  • 您可以使用一些非常强大的密码来加密文件(每个文件/DLL 使用不同的加密 key )。安装程序会要求用户提供一些密码,并将密码发送到一些在线服务。在线服务在验证密码后,将发回您允许客户端安装的 DLL 的解密 key 。这将允许安装程序仅为该客户端解密 DLL。

  • 另一种选择是,只有在您验证客户端后,安装程序才会真正从服务器下载 DLL。

关于installation - 如何通过反编译保护/加密 Inno Setup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39641410/

相关文章:

plugins - Telegraf:如何添加“输入插件”?

python - DLL 加载失败 : %1 is not a valid Win32 application for NumPy

swift - 有没有办法使用安装来防止用户从一台设备创建多个帐户?

registry - 尽管 key 存在,Inno Setup RegKeyExists 返回 False

internationalization - 用于自定义面板的 Inno setup i18n

visual-studio-2010 - Visual Studio 2010 专业版的预计安装时间是多少

node.js - Node js Express 安装错误 'EACCES'、 'no such file'

installation - Web 安装构建器软件

inno-setup - 一诺 : Disallow "Ignore" when file is in use

opencv - 使用 NSIS 创建 OpenCV 安装程序