You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取NSIS安装程序支持的所有自定义CLI参数?

获取NSIS安装程序自定义CLI参数的方法

直接反编译提取脚本片段

NSIS安装程序的参数逻辑都写在编译前的.nsi脚本里,可通过NSIS官方工具提取核心脚本:

  • 下载NSIS完整工具包,找到makensis.exe
  • 在命令行执行反编译命令:
    makensis /X"SetCompressor /FINAL lzma" /D__COMPRESSOR_LZMA__ /D__LZMA__ /D__ZIP__ /D__SOLID__ /D__SOLID_LZMA__ /U your_installer.exe
    
  • 查看生成的.nsi文件,搜索${GetOptions}、CommandLine相关代码块,这里会明确列出所有自定义参数(包括你已知的/op=n)

动态调试追踪参数解析流程

用调试工具直接跟踪安装程序的参数处理逻辑:

  • 用x64dbg或OllyDbg加载目标安装程序,设置断点在GetCommandLineW(或GetCommandLineA)函数上
  • 启动程序触发断点后,查看完整命令行参数,再单步跟踪代码执行,重点关注字符串比较指令(如strcmp、wcscmp)
  • 这些比较指令会匹配自定义参数的名称,借此可以找出所有支持的参数

枚举常见参数模式反向验证

基于NSIS脚本的常规写法,尝试以下参数格式,结合安装行为变化推导参数:

  • 键值对格式:/KEY=VALUE,比如/INSTALLPATH=C:\Program Files\YourApp、/CONFIG=custom.ini
  • 布尔型参数:/KEY,比如/NOSTARTMENU、/SKIP_DESKTOP_SHORTCUT
  • 冒号分隔格式:/KEY:VALUE,比如/op:1(对应你已知的/op=n)
  • 针对已知的/op=n,可以尝试/op=1、/op=2等不同值,观察安装过程的差异,反向判断参数的作用

避坑提示

  • 7zip只能解压安装程序的资源文件,无法提取核心脚本逻辑,不要依赖这种方法
  • 用Procmon监控时,要精准过滤目标进程,重点对比不同参数下注册表、文件系统的操作差异,可能间接发现参数对应的功能

内容的提问来源于stack exchange,提问作者v.doro2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:07:13