识别 Windows 安装包打包工具

404 字
2 分钟
识别 Windows 安装包打包工具

在逆向分析或软件溯源时,能快速判断某个 .exe 安装包是由哪款工具打包的,往往能节省大量时间。以下按流行程度排列主流打包工具及其识别特征,并附实操流程。

1. Inno Setup#

  • 特征字符串Inno SetupJorMunk
  • 文件结构:标准 PE,不可被 7-Zip 直接解包,需 innounp / innoextract
  • 安装后遗留unins000.dat + unins000.exe

2. NSIS#

  • 特征字符串Nullsoft Install System$INSTDIR$TEMP
  • 文件结构:可被 7-Zip 直接解包,解包后含 $PLUGINSDIR 文件夹
  • 文件头魔术字节:偏移 4 字节处为 EF BE AD DE

3. WiX Toolset#

  • 分两种形态:.msi 是 OLE 结构化存储;Burn 捆绑包是 .exe
  • Burn 特征字符串WiXBurnWixBundleAction

4. InstallShield#

  • 特征字符串InstallShieldMacrovisionInstallScript
  • 内嵌 ISSetup.dll_ISRES_SETUP.DLL
  • 早期版本内嵌 .cab

5. Advanced Installer#

  • 特征字符串Advanced InstallerCaphyon
  • 通常包裹一个 MSI

6. Squirrel / Velopack#

  • 特征字符串SquirrelvelopackvpkUpdate.exe
  • 内嵌 NuGet .nupkg 结构
  • 程序集名含 SquirrelVelopack
  • 典型交互特征:单文件,双击直接启动程序,后台静默完成安装,用户无感知,不会弹出安装向导

Squirrel / Velopack 的设计哲学决定了它强制安装到 %LocalAppData%\<AppName> 下,没有任何交互界面,用户完全没有自定义路径的机会。对于有洁癖或习惯把程序装到非系统盘的人来说确实很难受。

实操流程#

Terminal window
1. file xxx.exe
2. strings xxx.exe | grep -iE "(inno|nsis|nullsoft|wix|burn|installshield|squirrel|velopack|caphyon)"
3. 看偏移 4 字节魔术字节(NSIS:EF BE AD DE)
4. 7-Zip 尝试解包(能解且有 $PLUGINSDIR NSIS)
5. 安装后看残留文件(unins000.dat Inno)
6. llvm-objdump -p 看导入表(判断是否 .NET)

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

识别 Windows 安装包打包工具
https://cialo.site/posts/windows-installer-identification/
作者
洛璃
发布于
2026-06-26
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
洛璃
初春的离去,晚樱的谢幕
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
34
分类
11
标签
123
总字数
140,689
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录