InnoSetup生成的可执行文件如何防止DLL重定向?
InnoSetup DLL重定向安全风险缓解方案及官方文档说明
缓解方案配置
- 启用内置安全机制:InnoSetup v6.0.3及之后版本(含你使用的v6.0.5)已默认启用微软推荐的DLL加载安全策略,包括限制从当前目录加载系统DLL(如common-controls系列)。若需明确强制配置,可在安装脚本的
[Setup]段添加:
该参数会直接禁用当前目录的DLL重定向功能,确保安装程序优先从系统受保护目录加载核心DLL。DisableCurrentDirectoryDllRedirection=yes - 额外加固措施:
- 不要将高权限安装程序放在用户可写目录(如下载文件夹),优先部署到系统受保护目录或通过可信渠道分发。
- 为安装程序添加数字签名,Windows会对签名程序的DLL加载行为提供额外校验,同时防止安装程序本身被篡改。
官方文档说明
InnoSetup官方文档中明确覆盖了相关安全配置:
DisableCurrentDirectoryDllRedirection参数:文档标注其默认值在v6.0.3+版本为yes,专门用于规避当前目录DLL重定向带来的安全风险。- 官方安全最佳实践章节中,也明确建议使用数字签名、避免在可写目录运行高权限安装程序等措施,进一步降低安全隐患。
内容的提问来源于stack exchange,提问作者oarevalo
相关产品推荐
相关产品推荐

