亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ArkGuard混淆工具使用指南

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 2025-09-28 16:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

ArkGuard是一款源碼混淆工具,提供基礎混淆功能。當軟件發(fā)布后,其代碼很容易被他人獲取分析,通過閱讀清晰的變量名、函數名,攻擊者或競爭者可以非常輕松地理解代碼的邏輯結構、業(yè)務核心算法和關鍵流程。代碼混淆(Obfuscation)就是一種重要的技術應對手段。它通過像“重命名”這樣的方式,將代碼中原本有意義的標識符變成簡短、無規(guī)律的字符,極大地增加了人工閱讀和理解代碼的難度與成本。

使用指南

ArkGuard混淆開啟指南

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/source-obfuscation-guide

混淆加固

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-build-obfuscation#section19439175917123

ArkGuard混淆工具:

① 開啟混淆開關:

在模塊的build-profile.json中配置。

"arkOptions":{
"obfuscation":{
 "ruleOptions":{
  "enable":true,
  "files":["./obfuscation-rules.txt"]
 }
}
}

② 配置混淆規(guī)則:

從DevEco Studio 5.0.3.600版本開始,新建工程時混淆規(guī)則配置文件obfuscation-rules.txt中默認會配置以下四項混淆規(guī)則,開發(fā)者可根據實際需求進行自定義修改。

-enable-property-obfuscation
-enable-toplevel-obfuscation
-enable-filename-obfuscation
-enable-export-obfuscation

混淆選項如下所示:

默認混淆(不同版本默認配置不一致) 開啟混淆后生效
關閉混淆 -disable-obfuscation
開啟屬性名稱混淆 -enable-property-obfuscation
開啟字符串屬性名稱混淆 -enable-string-property-obfuscation
開啟頂層作用域名稱混淆 -enable-toplevel-obfuscation
開啟導入導出名稱混淆 -enable-export-obfuscation
開啟文件名混淆 -enable-filename-obfuscation
代碼壓縮 -compact
聲明文件注釋刪除 -remove-comments
刪除console.*語句 -remove-log
名稱緩存輸出 -print-namecache
名稱緩存復用 -apply-namecache
輸出未混淆名單 -print-kept-names
縮減語言預置白名單 -extra-options strip-language-default
縮減系統(tǒng)預置白名單 -extra-options strip-system-api-args
保留聲明文件參數 -keep-parameter-names
合并依賴模塊選項 -enable-lib-obfuscation-options
通過注釋在源碼中標記白名單 -use-keep-in-source

③ 配置混淆保留選項

開啟混淆后,代碼中的方法、屬性或路徑被混淆。但是在程序運行時,如果訪問未混淆的對象時,可能會導致功能不可用。

保留選項如下所示:

指定保留屬性名稱 -keep-property-name
指定保留頂層作用域或導入導出元素名稱 -keep-global-name
指定保留文件/文件夾名稱 -keep-file-name
指定保留注釋 -keep-comments
指定保留聲明文件中的所有名稱 -keep-dts
指定保留源碼文件中的所有名稱 -keep

④ 指定release編譯

源碼混淆僅支持release編譯,不支持debug編譯。

點擊DevEco Studio界面右上角圖標選擇構建模式:

89e97850-9794-11f0-8c8f-92fbcf53809c.png

debug模式的構建產物會包含大量調試信息,例如變量名、函數名、行號等。在經過混淆后,這些調試信息將沒有意義,甚至報錯。

混淆助手工具(ObfuscationHelper)

我們誠邀廣大開發(fā)者一起參與 HarmonyOS 技術生態(tài)建設,共建更開放、更智能的未來世界!一個可以對模塊和場景進行掃描,快速識別需要配置的保留選項和白名單字段,一鍵生成白名單混淆規(guī)則文件Hm-recommend-keep-list.txt。

① 開啟混淆工具

菜單欄:Tools->ObfuscationHelper

8a463c0c-9794-11f0-8c8f-92fbcf53809c.png

在模塊欄點擊鼠標右鍵:

8aa72616-9794-11f0-8c8f-92fbcf53809c.png

② 選擇掃描的模塊和場景

可以選擇要掃描的模塊。如果模塊之前已經生成過白名單,則會生成相應的歷史記錄。選擇歷史記錄后,會在本次掃描后自動關聯歷史的排查記錄,歷史排查過的白名單字段將不再被重復排查。

8b063f52-9794-11f0-8c8f-92fbcf53809c.png

生成推薦白名單,會在對應模塊下生成推薦白名單文件。

8b6d3bb2-9794-11f0-8c8f-92fbcf53809c.png

③ 手動排查白名單

使用DevEco Studio 6.0.0 Beta1及以上版本,按以下步驟操作:

待排查白名單中顯示的是掃描出來不能自動生成推薦白名單,需要開發(fā)者根據業(yè)務進一步排查,識別白名單字段并配置到文件中。

如果排查后不需要配置白名單,點擊待排查,選擇已排查,標記該項已經排查。

如果排查后需要配置白名單,電子添加白名單,在輸入框中輸入保留選項和白名單字段,點擊保存白名單。

8bcfc3a4-9794-11f0-8c8f-92fbcf53809c.png

排查完成后,點擊生成排查白名單按鈕,ObfuscationHelper會在對應模塊下生成排查白名單文件Hm-manual-keep-list.txt/Hm-manual-consumer-keep-list.txt,并提示對應的文件路徑。同時在工程根目錄下生成對應的白名單Excel表格obfuscation-helper-xxx.xlsx。如果勾選合并白名單文件,點擊OK,會在工程根目錄下生成合并后的白名單文件Hm-merge-manual-keep-list.txt。

8c3ae4f4-9794-11f0-8c8f-92fbcf53809c.png

使用DevEco Studio 6.0.0 Beta1以下版本,按類似步驟操作:

需要手動填寫混淆規(guī)則和白名單,且不支持關聯歷史記錄。

8c9e4ac6-9794-11f0-8c8f-92fbcf53809c.png

④ 在混淆配置中添加白名單文件

8d03539e-9794-11f0-8c8f-92fbcf53809c.png

方式一:

在各模塊的build-profile.json5中,將Hm-manual-keep-list.txt加入到混淆配置files字段下,將Hm-manual-consumer-keep-list.txt加入到consumerFiles字段下。

方式二:

將合并后的文件Hm-merge-manual-keep-list.txt配置在entry模塊build-profile.json5的files字段下。

常見問題

場景一:開發(fā)者在開啟屬性混淆情況下,調用系統(tǒng)api接口使用了類型為Record的對象,對象key被混淆導致編譯報錯。

分析:系統(tǒng)api接口不會被混淆,當key值被混淆后,在系統(tǒng)api側獲取不到原來的key值。

解決方案:將Record類型的key值加入屬性白名單

場景二:引入三方的har包,如何忽略這個三方har包

解決方案:在使用這個三方har的模塊里配置-keep ./oh_modules/三方庫名

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4744

    瀏覽量

    96924
  • 代碼
    +關注

    關注

    30

    文章

    4927

    瀏覽量

    72530
  • 編譯
    +關注

    關注

    0

    文章

    682

    瀏覽量

    34872

原文標題:ArkGuard混淆工具使用指南

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    HYPERLYNX 仿真工具使用指南

    HYPERLYNX 仿真工具使用指南第四部分:HYPERLYNX 仿真工具使用指南
    發(fā)表于 08-05 11:47

    Synplify工具使用指南

    Synplify工具使用指南目錄166怎樣用Tcl語言執(zhí)行批處理任務..............................................155使用Symbolic FSM
    發(fā)表于 08-13 17:12

    Quartus工具使用指南(華為)

    Quartus工具使用指南(華為)
    發(fā)表于 10-09 08:54

    Synplify工具使用指南

    Synplify工具使用指南:關鍵詞Synplify synthesis 綜合 Script 腳本 Tcl FPGA Verilog摘要:本文的目的是為Synplify的使用提供幫助,包括三個主要內容,第一部分快速入門,介紹基本的工作流程
    發(fā)表于 11-01 15:20 ?136次下載

    凌陽DMC工具使用指南

    凌陽DMC工具使用指南 凌陽科技(sunplus)推出16位馬達驅動控制的工業(yè)級單片機--SPMC75系列,為方便客戶產品開發(fā),凌陽公司提供了DMC (Digital Motor Co
    發(fā)表于 09-19 10:26 ?2293次閱讀
    凌陽DMC<b class='flag-5'>工具</b>的<b class='flag-5'>使用指南</b>

    MSP430-FET430仿真工具使用指南

    MSP430-FET430仿真工具使用指南.
    發(fā)表于 02-16 18:21 ?27次下載

    AirSync Debugger使用指南_微信藍牙協(xié)議調試工具

    AirSync Debugger使用指南_微信藍牙協(xié)議調試工具
    發(fā)表于 06-24 14:29 ?31次下載

    MSP-FET430P140工具使用指南

    MSP-FET430P140工具使用指南
    發(fā)表于 08-19 14:49 ?0次下載

    電子票使用指南免費下載

    電子票使用指南電子票使用指南電子票使用指南電子票使用指南電子票使用指南電子票使用指南
    發(fā)表于 11-24 14:02 ?3次下載

    華為Quartus工具使用指南電子版

    華為Quartus工具使用指南電子版
    發(fā)表于 06-04 10:47 ?0次下載

    Rockchip RKDevInfoWriteTool工具使用指南

    電子發(fā)燒友網站提供《Rockchip RKDevInfoWriteTool工具使用指南.7z》資料免費下載
    發(fā)表于 09-21 09:26 ?35次下載
    Rockchip RKDevInfoWriteTool<b class='flag-5'>工具</b>及<b class='flag-5'>使用指南</b>

    AN1080_APM32_工具使用指南

    AN1080_APM32_工具使用指南
    發(fā)表于 11-09 21:03 ?0次下載
    AN1080_APM32_<b class='flag-5'>工具</b>鏈<b class='flag-5'>使用指南</b>

    N32WB452系列NS-Link下載工具使用指南

    N32WB452系列NS-Link下載工具使用指南
    發(fā)表于 11-10 19:51 ?1次下載
    N32WB452系列NS-Link下載<b class='flag-5'>工具</b><b class='flag-5'>使用指南</b>

    N32G4FR系列NS-Link下載工具使用指南

    N32G4FR系列NS-Link下載工具使用指南
    發(fā)表于 11-11 21:50 ?1次下載
    N32G4FR系列NS-Link下載<b class='flag-5'>工具</b><b class='flag-5'>使用指南</b>

    Quartus工具使用指南

    電子發(fā)燒友網站提供《Quartus工具使用指南.pdf》資料免費下載
    發(fā)表于 07-15 16:34 ?1次下載