【教程】原始碼加密、防洩密軟體

雪奈椰子發表於2023-12-15

 【教程】原始碼加密、防洩密軟體

什麼是程式碼混淆?

 是一種將應用程式二進位制檔案轉換為功能上等價,但人類難於閱讀和理解的行為。在編譯 Dart 程式碼時,混淆會隱藏函式和類的名稱,並用其他符號替代每個符號,從而使攻擊者難以進行逆向工程。

Flutter 的程式碼混淆功能僅在 上生效,不需要原始碼。

侷限性

請注意,混淆你的程式碼並  不會 加密資源,也不能防止逆向工程。它只是用更晦澀的名稱重新命名這些符號。

info

在應用程式中儲存重要私密的資訊(如密碼、金鑰等)是一種  非常不安全的做法

支援的構建目標

以下構建目標支援本篇介紹的混淆過程:

  • aar

  • apk

  • appbundle

  • ios

  • ios-framework

  • ipa

  • linux

  • macos

  • macos-framework

  • windows

info

Web 應用不支援混淆。因為當你構建 Flutter Web 應用釋出版本時, Web 應用已經經過了   處理。 Web 壓縮提供了與混淆相似的效果。

混淆你的應用程式

要混淆你的應用程式,請在 release 模式下使用  flutter build 命令,並使用  --obfuscate 和  --split-debug-info 選項。  --split-debug-info 選項指定了 Flutter 輸出除錯檔案的目錄。在混淆的情況下,它會輸出一個符號表。請參考以下命令:

$ flutter build apk --obfuscate --split-debug-info=/<project-name>/<directory>

一旦你混淆了二進位制檔案,請務必  儲存符號表檔案。如果你將來需要解析混淆後的堆疊跟蹤,你將需要該檔案。

tips_and_updates  小提示:

--split-debug-info 選項也可以不使用  --obfuscate 來提取 Dart 程式符號,以減少程式碼體積。想了解更多關於應用體積的資訊,請查閱  。

關於這些標誌的詳細資訊,請執行特定構建目標型別的幫助命令,例如:

$ flutter build apk -h

如果輸出中沒有列出這些標誌,請執行  flutter --version 命令,檢查你的 Flutter 版本。

加固流程:

ipaguard介面概覽

ipaguard介面分左右2塊:左邊選單導航欄,右邊的功能區左側選單:按模組分成啟動介面,程式碼模組,檔案模組,重簽名與測試模組右側主功能區會隨著功能變化,但是整體分3塊,頂部顯示過濾區,中間主體內容顯示區,底部開關控制和強度控制下面分模組介紹ipaguard功能介面。

ipaguard啟動介面

這個介面可以選中開啟檔案,從配置載入檔案,切換軟體顯示的語言,登入賬號,檢視軟體的版本資訊等 

 

ipaguard程式碼混淆介面

程式碼混淆介面隨左側的選單不同略有區別。但是整體是,頂部選擇需要處理的macho檔案,然後是一排顯示過濾控制功能。 

 

資原始檔混淆介面

資原始檔模組包括了檔名稱修改,web資源壓縮,圖片水印等等功能。介面分頂部的顯示控制,中介的檔案列表,底部的是否處理開關。 

 

重簽名介面

簽名配置介面可以配置簽名證照,描述檔案,設定app的許可權(次功能大部分app是用不到的),設定混淆加密完是否要直接安裝到裝置。底部同樣是是否進行簽名的總開關


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70026554/viewspace-3000308/,如需轉載,請註明出處,否則將追究法律責任。

相關文章