asar 如何解密加密?electron 的 asar 的具體用法

來源:https://newsn.net/say/electron-asar.htmlhtml

 

electron中,asar是個特殊的代碼格式。asar包裏面包含了程序猿編寫的代碼邏輯。默認狀況下,這些代碼邏輯,是放置在resource/app目錄下面的,明文可見,這樣的話,也就有了代碼加密(asar打包)的需求前端

 

asar 如何解密加密?electron 的 asar 的具體用法(圖12-1)webpack

 

在本篇文章中,蘇南大叔將要講述的內容就是:asar工具的使用。本文的模特是:在mac下面,使用electron-packager簡單打包的quick-start項目dmg文件。web

 

基本說明

electron的構建體系中,打包這個概念特別的容易混淆。這裏有不少種結果都是能夠說是打包,可是打包的程度是徹底不一樣的,這也就決定了不一樣的打包場景。本文中,asar這個打包,是個最最最最最小的打包概念,並且這個包,僅僅是對resource/app目錄的封裝,讓人們不是那麼容易看到你寫的代碼結果而已。npm

 

asar 如何解密加密?electron 的 asar 的具體用法 - asar的形態

 

asar 如何解密加密?electron 的 asar 的具體用法(圖12-2)bash

 

asar有不少參數,你們可使用 asar --help來查看其基本參數。固然,若是你使用 asar --help沒有反應的話,那麼可能您的系統裏面尚未全局安裝asar,這個時候,你須要下述命令安裝一下asar依賴包。app

Bash
sudo npm install asar -g

 

asar 如何解密加密?electron 的 asar 的具體用法 - 010asar 如何解密加密?electron 的 asar 的具體用法(圖12-3)electron

 

Bash
asar --help

 

asar 如何解密加密?electron 的 asar 的具體用法 - 000

 

asar 如何解密加密?electron 的 asar 的具體用法(圖12-4)前端構建

 

 

目錄結構

提起asar,就應該提起resource目錄。這個目錄是asar的主戰場,裏面會有個electron.asar的文件,這個是系統自帶的。而若是您的打包命令裏面沒有指定asar參數的話,你的默認代碼目錄就會是個app文件夾,而不是app.asar工具

 

asar 如何解密加密?electron 的 asar 的具體用法 - 001

 

asar 如何解密加密?electron 的 asar 的具體用法(圖12-5)

 

 

asar 如何解密加密?electron 的 asar 的具體用法 - 002asar 如何解密加密?electron 的 asar 的具體用法(圖12-6)

 

固然,你可使用asar命令,把app目錄打包成app.asar文件,而後刪除app目錄。可是這樣的話,然並卵,你的最終的文件可能會所以不能正常運行。正確的作法是:你使用electron-packager打包的時候,就必須指定好參數--asar,這樣就能夠生成個app.asar文件了。

 

asar 如何解密加密?electron 的 asar 的具體用法 - 004asar 如何解密加密?electron 的 asar 的具體用法(圖12-7)

 

 

asar 如何解密加密?electron 的 asar 的具體用法 - 005asar 如何解密加密?electron 的 asar 的具體用法(圖12-8)

 

 

解壓app.asar

兩條命令任選其一

Bash
asar e app.asar <解壓後的目錄> asar extract app.asar <解壓後的目錄>
 

咱們能夠修改 <解壓後的目錄> 裏面的文件,而後,咱們再進行打包便可。

 

asar 如何解密加密?electron 的 asar 的具體用法 - 006asar 如何解密加密?electron 的 asar 的具體用法(圖12-9)

 

 

asar 如何解密加密?electron 的 asar 的具體用法 - 007asar 如何解密加密?electron 的 asar 的具體用法(圖12-10)

 

 

打包app.asar

兩條命令任選其一,打包asar以後,再看效果。

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

 

asar 如何解密加密?electron 的 asar 的具體用法 - 008asar 如何解密加密?electron 的 asar 的具體用法(圖12-11)

 

 

asar 如何解密加密?electron 的 asar 的具體用法 - 009asar 如何解密加密?electron 的 asar 的具體用法(圖12-12)

 

 

結論

asar打包僅僅是個很是初級的加密方式,解密也很是容易。因此,仍是把你的代碼,使用webpack相似的前端構建工具,進行代碼加密混淆,纔是正途。

相關文章
相關標籤/搜索