什么是asar文件
asar(Atom Shell Archive)是一种常用于Electron应用程序中的压缩归档格式。类似于zip、tar。是将Electron应用的前端资源文件(如HTML/CSS/JavaScript等)与Node.js模块打包成一个单独的文件,主要作用是方便资源的管理与分发。
asar文件具有以下特点:
- 可以将程序中的多个资源文件整合为一个归档文件,显著提升资源管理的便捷性;
- 程序运行时可直接读取asar文件中的内容,不需要解压,同时解决Windows系统长路径名的问题(MAX_PATH 260字符问题);
- asar文件无法直接解压,防止直接篡改源代码,为应用程序提供基础防护。
asar的打包与解包
对asar文件的打包与解包可以通过node.js附带的asar工具来实现。
配置node.js
1.首先要安装node.js,Windows系统可以在官网下载对应系统的node.js,Linux系统可以直接用安装指令进行安装(apt、yum等),官网地址如下:
https://nodejs.org/zh-cn
2.Windows系统上需要配置环境变量,此电脑->属性->高级系统设置->环境变量,写入安装好的node.js路径。

3.在终端查看版本信息,查询出版本信息表示搭建成功。

安装asar工具
1.通过npm命令来安装asar工具:
npm install -g asar
2.使用asar指令将指定文件夹打包成asar文件,并存放于当前目录:
asar pack /path/source_dir new_app.asar
3.使用asar指令将asar文件解包,并将解包后的文件存放于当前目录:
asar extract app.asar ./app
保护asar文件
可以通过Virbox Protector工具对asar文件进行保护,并且有两个保护方案:
方案一
通过对electron的主程序进行加壳保护,asar文件以资源文件的形式进行绑定保护,该方案具备以下优势:
- 保护后的asar文件格式会被处理,asar文件无法被解压且内容不可见;
- 只有对应的electron主程序才能调用保护后的asar文件,未保护的electron无法调用。
方案二
直接对asar文件进行保护,保护asar文件中的js文件,该方案具备以下优势:
- 支持对asar文件的内容保护,可通过asar文件直接获取js文件;
- 安全度高,解压asar后无法获取js中的源码,且可以配合反调试功能;