搜索
查看: 2867|回复: 2

[文件] electron之asar文件打包解包、查看编辑工具

  [复制链接]

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2017-12-28 23:39:32 | 显示全部楼层 |阅读模式
electron用到一种asar的打包文件格式,压缩工具都不支持这个,只能在node.js的命令行里搞,虽然我用node.js写了个工具,不能直接查看文件列表,不能编辑,打包解包连个进度条都没有,闷声不响的.......虽然码命令行能让人找到某种神圣的自豪感,但我还是受不了了,决定自己写一个。

这个asar的格式说是说简单,但是呢,先看看这个文件头:
class header {
    struct headerSize = {
        INT pickleOjectSize = 4;
        INT size;   
    }
    struct headerJson = {
        INT pickleOjectSize;
        INT size;
    }
}
其实asar的文件头就是一个JSON字符串,然后他在前面记录了JSON的长度,然后他以用一个数值记录了长度的长度,然后他又用一个数值记录了长度的长度的长度..........这种写法很不一般。

当然,有用的数值是最后一个,取出JSON的长度再把JSON读出来,JSON里记录了所有文件的偏移量和文件大小,跟tar完全是两种不同的解决问题的思路,大家有兴趣可以对比看看。

库模块已加入aardio标准库:
fsys.asar.reader 用于解包,fsys.asar.writer 用于打包生成asar文件。

新增的asar打包解包范例程序位置:
aardio范例->文件操作->asar打包解包

附效果图:
asar2.gif

回复

使用道具 举报

0

主题

1

帖子

7

积分

新手入门

Rank: 1

积分
7
发表于 2018-3-20 10:16:45 | 显示全部楼层
分享源码吧,谢谢!

你这个正式我需要的东西,非常感谢。邮箱发我也可以:479770920@qq.com,谢谢了!
回复

使用道具 举报

4

主题

63

帖子

478

积分

二级会员

Rank: 3Rank: 3

积分
478
发表于 2018-3-20 10:54:19 | 显示全部楼层
479770920 发表于 2018-3-20 10:16
分享源码吧,谢谢!

你这个正式我需要的东西,非常感谢。邮箱发我也可以:,谢谢了!

真是懒得出奇,眼睛瞎,不看帖子不说,连动手翻翻示例都不肯,你确定是来学aardio的吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-10-17 15:57 , Processed in 0.078125 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表