我正在使用Inno设置工具来打包/设置我的所有文件(dll,exe,jpg等)。 但我发现有一个名为 InnoExtractor 的软件可以真正打开我的设置并读取所有脚本并提取所有文件,因为我需要在设置中隐藏/保护我的文件我花了很多时间/精力来保护我从Inno Setu p生成的setup.exe,但是我发现有些人说要向Inno安装脚本添加一个passowrd,但这也是错误的,因为客户端知道密码,他可以简单地使用InnoExtractor并提取所有内容,即使它受密码保护!不是吗??
现在,我只想问是否有人可以建议我解决这个问题。事实上我嵌入了XML文件和dll,用于根据客户端机器在客户端安装特定文件,但如果客户端将所有dll提取到他的机器那么它将是catestropha !!我需要一种方法来阻止客户端查看/解压我的setup.exe!
答案 0 :(得分:2)
如果您需要能够在用户的计算机上运行相同的代码,则无法保护用户的代码。将文件传送到客户端的计算机后,无论您使用何种方法打包它们,客户端都可以提取文件。
你只能让它变得更难,但是没有绝对的解决方案。
您使用的标准工具越多,反编译代码就越容易。如果您想进行反编译,请制作自定义安装程序,而不是依赖标准安装程序工具(如Inno Setup)。
可能唯一安全的方法是使用一些在线服务。
您可以使用一些非常强大的密码加密文件(每个文件/ DLL使用不同的加密密钥)。安装程序将询问用户一些密码,并将密码发送到某些在线服务。验证密码后,在线服务会发回允许客户端安装的DLL的解密密钥。这将允许安装程序仅解密该客户端的DLL。
另一种方法是,只有在验证客户端后,安装程序才会从服务器上实际下载DLL。
答案 1 :(得分:2)
无法100%保护您的安装程序免受攻击者攻击。如果有人想破解它,它就可以做到。
你能做什么:
1)使用某些自定义(第三方)系统加密文件或使用[Setup] Encryption指令
2)修改Inno设置 - 下载源代码,更改它们并再次编译
3)将敏感文件和数据放在服务器上,并在安装过程中下载它们(+加密)
4)[代码]部分无法完全解压缩,在那里进行一些计算或文件操作