这种安装包是怎么做到的

飞扬时空美化版的7zip安装包,貌似是个自解压程序,用解压软件直接打开只有两个文件,完全找不到主程序,


安装的时候也很怪,路径名称显示为\Device,任然找不到主程序在哪里

C:\users\你的名字\AppData\Local\Temp\

这个可能是nsis制作的安装包,用自定义介绍文本文件隐藏了文件头

以前7z对nsis的支持很好,15.15之前的版本连nsis的运行代码都能看,后来就只有民间版本支持了

1 个赞

可否将安装包分享一下?

http://iyoung.ysepan.com/

确实看不出用了什么方式打包,也没法从安装临时目录提取。

就是上面帖子说的修改过的 NSIS 制作的包

@Pixie 看了下,发现Detect It Easy(DiE)比ExeInfo PE提供了更有用的信息,后者的信息如下:

Unknown exe , EP : 81 EC … , 05 sections [ Linker 6.00 ] Std Compiler section ,
Overlay : ZIP archive > Offset : 0000h - [ Deflate64
]
Big sec. 01 [ .text ] , Click - [ Scan / t ] Button or Detect via : DIE v3 http://ntinfo.biz

不过我试了64位ffmpeg.exe,Detect It Easy(DiE)主界面上给的信息是操作系统: Windows(Server 2003)[AMD64, 64 位, 控制台],这个信息并不准确,倒是高级中的Windows 95是对的。

@kli2018 民间版本是第三方修改版吧?有可信的版本推荐吗?官方最新的版本没法解包。
15.15是7z的版本号吗?尝试了下也没办法解包,可能是不支持新版nsis制作的安装包了。

民间版本也不能查看这种隐藏过的nsis安装程序,应该是中国特色了,藏着掖着的

我用7z查看国外大佬制作的各种便携版软件的引导程序(各种xxxportable.exe),大多数都是nsis制作的,直接就能显示脚本和使用的插件
截图20230923015141

让我很容易的了解并学习了便携版引导程序的运行过程

其实实现这个的原理也不复杂,和图片里隐藏压缩文件的原理差不多,就是把一个压缩包压缩到了可执行文件头部,这样,7z打开的时候就只解开了头部的这个压缩包
sshot-2
有2个包,头个有2个文件,7z打开的时候也就显示的这两个文件

实现方法:
https://www.52pojie.cn/thread-465934-1-1.html
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=404397

我测试了下,7z官方版本能看到使用的插件,但是看不到nsi脚本文件,也就是说和第三方版本相比,官方版就隐藏了这个脚本是吗?

7z
第三方的全编译版本解压后有这么多文件夹,除了第三和第四两个是对应官方版修改的,其他的几个目录是作什么用的?没能找到说明。

  1. 看原理是挺简单的,假如这个包也没有加密,是不是理论上跳过自定义头部解压第二个包就能得到其中的内容?毕竟两个压缩包都已经侦测到了,只是目前只有检测的软件而没有提取的软件是吗?
  2. 换句话说只要对7z进行修改,检测到有两个压缩包,可选解压就能解决这个问题?按这个想法,是不是也能解决图片藏文件的问题了?

对,只要搞掉第一个压缩包就可以,比如下面的手动方法

1.在 DiE 中查看提取器可以看到包在AC00

2.随便一个 HEX 编辑器打开,跳转到AC00,就可以看见 zip 包文件头,看右边的 ASCII 码,很明显就是第一个包

3.把文件头改为零,或者把这一整段填充为零都可以

4.保存,用 7z 打开,安装包就出来了

感谢指教,可惜提取器不能正确识别并转存。
手动操作,有点没想通,为什么只改第一个ZIP文件头标识不行,而要两个都改才可以呢?

麻烦看下这个文件:https://down.shudaxia.com/ShuDaXia_PC_Setup.exe

好像也没有附加,双击是安装向导,但是也没法提取。