Asar is a simple extensive archive format, it works like tar that concatenates all files together without compression, while having random access support.

Asar是一种简单的扩展存档格式,它的工作原理是tar将所有文件连接在一起而不进行压缩,同时具有随机访问支持。

特征

  • 支持随机访问
  • 使用JSON存储文件信息
  • 编写解析器非常容易

安装

This module requires Node 10 or later.

$ npm install asar -g

使用说明

$ asar --helpUsage: asar [options] [command]Commands:pack|p <dir> <output>create asar archivelist|l <archive>list files of asar archiveextract-file|ef <archive> <filename>extract one file from archiveextract|e <archive> <dest>extract archiveOptions:-h, --help     output usage information-V, --version  output the version number

提起asar,就应该提起resources目录。这个目录是asar的主战场,里面会有个electron.asar的文件,这个是系统自带的。而如果您的打包命令里面没有指定asar参数的话,你的默认代码目录就会是个app文件夹,而不是app.asar

当然,你可以使用asar命令,把app目录打包成app.asar文件,然后删除app目录。但是这样的话,然并卵,你的最终的文件可能会因此不能正常运行。正确的做法是:你使用electron-packager打包的时候,就必须指定好参数--asar,这样就可以生成个app.asar文件了。

解压app.asar

两条命令任选其一

Bash

asar e app.asar <解压后的目录>
asar extract app.asar <解压后的目录>

我们可以修改 <解压后的目录> 里面的文件,然后,我们再进行打包即可。

打包app.asar

两条命令任选其一,打包asar之后,再看效果。

asar p <被打包的目录> app.asar
asar pack <被打包的目录> app.asar

结论

asar打包仅仅是个非常初级的加密方式,解密也非常容易。所以,还是把你的代码,使用webpack类似的前端构建工具,进行代码加密混淆,才是正途。

electron asar相关推荐

  1. asar 如何解密加密?electron 的 asar 的具体用法

    在electron中,asar是个特殊的代码格式.asar包里面包含了程序猿编写的代码逻辑.默认情况下,这些代码逻辑,是放置在resource/app目录下面的,明文可见,这样的话,也就有了代码加密( ...

  2. Electron那些事05:保护源码asar

    [前言] 回顾之前的章节Electron那些事02:打包_uikoo9的博客-CSDN博客 打包应用这里还有一个优化点,本节来优化一下 [对比Electron应用] 对比几个electron应用的文件 ...

  3. Electron程序逆向(asar归档解包)

    要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程. GitHub - electron ...

  4. 探秘app.asar

    开发过Electron客户端的都知道,在package.json的build节点下,如果设置"asar": true,软件打包时会把程序文件合成为一个app.asar文件.软件安装 ...

  5. Electron flash插件

    Electron 支持 Pepper Flash 插件.要在 Electron 里面使用 Pepper Flash 插件,我们 要手动设置 Pepper Flash 的路径并且应用里启用 Pepper ...

  6. electron 打包后启动应用报错:Error: ENOENT: no such file or directory, open ‘xxx/manifest.json‘‘

    使用 electron-builder 打包后启动报错: Reading /xxx/manifest.json failed. Error: ENOENT: no such file or direc ...

  7. 小满Vue3第三十九章(Vue开发桌面程序Electron)

    建议视频教程小满Vue3(第三十九章 electron桌面程序)_哔哩哔哩_bilibili Electron官网Electron | Build cross-platform desktop app ...

  8. 使用Electron打造跨平台桌面应用

    https://uinika.github.io/web/server/electron.html 早期桌面应用的开发主要借助原生 C/C++ API 进行,由于需要反复经历编译过程,且无法分离界面 ...

  9. mac软件全屏时候最顶上任务栏保留,MAC能不能做一个把程序放在顶部菜单栏的功能...

    @KochiyaOcean emmmm,我修改了ico为png 在 app.js 第 22 行 const poiIconPath = path.join( ROOT, 'assets', 'icon ...

最新文章

  1. 算法---------简化路径(Java版本)
  2. python filter
  3. cgic: 为C语言编写CGI的C函数库
  4. hadoop学习2 记录配置hadoop环境的那些坑
  5. BZOJ2844 albus就是要第一个出场
  6. 计算机一级b和小高考,2021年小高考B是几分相关内容
  7. 机器学习实战15-自动编码器
  8. ES读写为何速度那么快(史上最全面总结)
  9. H5中 video 使用border-radius失效解决方法
  10. JavaScript使用Modbus协议实现RTU设备连云
  11. 嵌入式系统多媒体框架分析
  12. java将英语单词进行词性分类排序_史上最全讲解,必须牢记的英语十类词性分类及用法!(上)...
  13. layui登陆验证页面模板(滑块学习)
  14. HyperLPR3车牌识别-Linux/MacOS使用:C/C++库编译
  15. Tushare介绍和入门级实践(1)——使用tushare接口获取沪深300成分股交易日涨跌数据
  16. oracle11g安装完成如何打开界面
  17. windows7 企业版的应用
  18. 数据分析师的能力体系
  19. vue 监听手机返回键---实用
  20. html图片滤镜,CSS滤镜(Filters)

热门文章

  1. 联想小新air14----鼠标移动出现残影问题解决
  2. 带您遨游太空,美摄科技为航天创意小程序提供全面技术支持
  3. 小米三停在android,据小米MIUI更新公告,多部新款小米手机停更
  4. Linux周期性计划任务和任务调度以及举例
  5. 心已死,搜索引擎百度百家号已死!
  6. TortoiseGit删除本地分支和远程分支
  7. 什么是浏览器指纹-这篇文章全面告诉你答案
  8. 【MySQL】深入理解MySQL索引优化器原理(MySQL专栏启动)
  9. Spring-事务管理
  10. php直出,Swoole2.0原生协程高性能开发实践--朱新宇@PHPCON2017