W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
目前只在 macOS 上支持ASAR完整性檢查。
如果你使用 >= electron-packager@15.4.0
或 >= @electron-forge/core@6.0.0-beta.61
那么將滿足所有需求。
為了啟用ASAR 完整性檢查,你需要確保 app.asar
文件是由支持 asar 完整性的 asar
npm 軟件包生成的。 版本 3.1.0
中引入了支持。
然后,您必須在打包的應用程序 Info.plist 中填充有效的 ElectronAsarIntegrity 字典塊。下面包含一個示例。
<key>ElectronAsarIntegrity</key>
<dict>
<key>Resources/app.asar</key>
<dict>
<key>algorithm</key>
<string>SHA256</string>
<key>hash</key>
<string>9d1f61ea03c4bb62b4416387a521101b81151da0cfbe18c9f8c8b818c5cebfac</string>
</dict>
</dict>
有效算法值當前僅為 SHA256。散列是使用給定算法的 ASAR 標頭的散列。 asar 包公開了一個 getRawHeader 方法,然后可以對其結(jié)果進行哈希處理以生成此值。
ASAR 完整性檢查目前默認處于禁用狀態(tài),可以通過切換保險絲來啟用。有關(guān)什么是電子保險絲及其工作原理的更多信息,請參閱電子保險絲。啟用此保險絲時,您通常還希望啟用 onlyLoadAppFromAsar 保險絲,否則可以通過 Electron 應用程序代碼搜索路徑繞過有效性檢查。
require('@electron/fuses').flipFuses(
// 比如 /a/b/Foo.app
pathToPackagedApp,
{
version: FuseVersion.V1,
[FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
[FuseV1Options.OnlyLoadAppFromAsar]: true
}
)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: