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