來源: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 的具體用法(圖12-2)bash
asar有不少參數,你們可使用 asar --help
來查看其基本參數。固然,若是你使用 asar --help
沒有反應的話,那麼可能您的系統裏面尚未全局安裝asar
,這個時候,你須要下述命令安裝一下asar依賴包。app
sudo npm install asar -g
asar 如何解密加密?electron 的 asar 的具體用法(圖12-3)electron
asar --help
asar 如何解密加密?electron 的 asar 的具體用法(圖12-4)前端構建
提起asar
,就應該提起resource
目錄。這個目錄是asar
的主戰場,裏面會有個electron.asar
的文件,這個是系統自帶的。而若是您的打包命令裏面沒有指定asar
參數的話,你的默認代碼目錄就會是個app
文件夾,而不是app.asar
。工具
asar 如何解密加密?electron 的 asar 的具體用法(圖12-5)
asar 如何解密加密?electron 的 asar 的具體用法(圖12-6)
固然,你可使用asar
命令,把app
目錄打包成app.asar
文件,而後刪除app
目錄。可是這樣的話,然並卵,你的最終的文件可能會所以不能正常運行。正確的作法是:你使用electron-packager
打包的時候,就必須指定好參數--asar
,這樣就能夠生成個app.asar
文件了。
asar 如何解密加密?electron 的 asar 的具體用法(圖12-7)
asar 如何解密加密?electron 的 asar 的具體用法(圖12-8)
app.asar
兩條命令任選其一
asar e app.asar <解壓後的目錄> asar extract app.asar <解壓後的目錄>
咱們能夠修改 <解壓後的目錄> 裏面的文件,而後,咱們再進行打包便可。
asar 如何解密加密?electron 的 asar 的具體用法(圖12-9)
asar 如何解密加密?electron 的 asar 的具體用法(圖12-10)
app.asar
兩條命令任選其一,打包asar
以後,再看效果。
asar p <被打包的目錄> app.asar asar pack <被打包的目錄> app.asar
asar 如何解密加密?electron 的 asar 的具體用法(圖12-11)
asar 如何解密加密?electron 的 asar 的具體用法(圖12-12)
asar
打包僅僅是個很是初級的加密方式,解密也很是容易。因此,仍是把你的代碼,使用webpack
相似的前端構建工具,進行代碼加密混淆,纔是正途。