Android app如何加密
一.什麼是Android介面劫持
介面劫持是指在Android系統中,惡意軟體透過監控目標軟體的運行,當偵測到目前執行介面為某個被監控應用程式的特定介面時(一般為登入或支付介面),彈出偽造的釣魚頁面,從而誘導用戶輸入信息,最終竊取用戶的隱私(惡意竊取用戶帳號、卡號、密碼等信息),或者利用假冒界面進行釣魚欺詐。
二.常見攻擊手段
1. 監聽系統Logocat日誌,一旦監聽到發生Activity介面切換行為,即進行攻擊,覆蓋上假冒Activity介面實施欺騙。
2. 監聽系統API,一旦惡意程式監聽到相關介面的API元件調用,即可發動攻擊。
3. 5.0以下機型枚舉取得堆疊頂部Activity,監控到目標Activity出現,即可發動攻擊。
4. 惡意啟動Service監聽目標應用,在切換到目標Activity時,彈出對話框劫持目前介面迷惑使用者
三.預防手段
● 針對使用者
幾乎所有的Android手機都配備了一個HOME鍵,如果長按它,就可以查看最近使用的任務。當使用者在要輸入密碼進行登入時,可以透過長按HOME鍵查看近期任務,比如說登入微信時長按發現近期任務出現了微信,那麼現在的這個登入介面就極有可能是個惡意偽裝的Activity,切換到另一個程序,再查看近期任務,就可以知道這個登入介面是來自哪個程序了。
● 針對開發人員
針對釣魚Activity類型劫持,在登入視窗或使用者隱私輸入等關鍵Activity的onPause方法中偵測最前端Activity應用程式是不是本身或是系統應用,如果發現惡意風險,則給使用者一些警示訊息,提示使用者其登陸介面以被覆蓋,並給出覆蓋正常Activity的類別名稱。
如果是針對彈出式對話方塊類型的劫持,接管Activity的生命週期,當發現當前介面onResume之後,判斷是否失去焦點;如果同時存在則有可能是對話方塊類別劫持,判斷此時執行的活動進程是否包含敏感權限(全域Alert權限、取得任務堆疊權限等),如果有的話則給使用者警告。
Android 的APK 中怎麼放置反編譯「炸彈」
上面文章裡提到的"炸彈", 其實就是反編譯器的bug,所以針對不同的反編譯器,需要設計不同的「炸彈」。先了解常用的 APK 反編譯工具:
● baksmali/smali: baksmali 能將二進位 dex 檔案轉換為 smali 文字檔案用於分析,smali 則能將 smali 檔案重新編譯為 dex 檔案。
● Apktool : 整合了 baksmali/smali 用於處理 dex 文件, 另外實作了 res 資源檔案(例如layout / strings等)的反編譯。
● AxmlPrinter : 用於將二進位形式的 AndroidManifest.xml 轉換為文字形式的 AndroidManifest.xml。
● dex2jar: 能將 dex 轉換為 jar 檔案。
● jd-gui: 能將 jar 檔案反編譯為 java 原始碼。
● Ida Pro: 主要用於反編譯 Apk 中的 So 文件,也支援將 dex 文件反編譯為類似smali 語法的文字形式指令。
從上面的反編譯工具可以看出,主要分為三種功能:
● 反編譯資源,如 AndroidManifest.xml、layout.xml
#可以對Dex文件進行反編譯,或將其轉換為Java代碼
● 反編譯So 文件
炸彈」的設定需要對特定的文件格式有相當的了解,而且可能只能針對某個反編譯工具的。
Android app如何加密?
An Android app comprises dex files, so files, res and assets resources.。這個內容可以重寫為:此加密技術可分為三個主要面向:DEX檔案的保護、SO檔案的加密以及資源檔案(如res和assets)的保護。
● dex保護
未加密的dex檔案來自於Java編譯和打包,因此破解成本較低且易受攻擊。從加殼最基礎的形式開始,到函數執行體抽取、動態加載,再到目前的vmp 虛擬機保護,該方案的安全性逐漸提升。特別是在vmp加固中,使用了自行研發的虛擬機來解釋函數體,如果指令加密替換運用得當,會讓破解者感到非常困難。
● so加密
so文件,由起初的段加密,發展到自訂elf結構的加密方式,能防止IDA查看函數名稱,增加破解成本和難度。
● 資源保護
#res資源文件,通常只採用混淆的方式增加逆向難度。 assets資源,一般不處理。由於H5應用數量的不斷增長,一些供應商(如易盾和娜迦)已提供了assets加密功能,但其實現原理並不清楚。
除了上述三點防護外,還有防反編譯、防二次打包、防調試、防模擬器、防xposed功能等。
b) 為了防止反編譯,通常會對市場上的反編譯工具(如apktool)進行反制,利用其漏洞使反編譯失敗
b) 防二次打包,一般常用的是在程式碼裡保存簽名訊息,啟動時在native層將目前apk的簽名資訊與已儲存的簽名進行比對。市面上已有破擊工具。可以在常用實作方式上做些升級。
c) 防調試,透過ptrace進程,阻止破解者再ptrace調試。
d) 防模擬器,偵測/system/bin/su和/system/xbin/su檔案。
偵測XposedHelpers的methodCache,以判斷是否被hook來防範xposed。
以上是Android app如何加密的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

最近幾天,Ice Universe 不斷披露有關 Galaxy S25 Ultra 的詳細信息,人們普遍認為這款手機將是三星的下一款旗艦智慧型手機。除此之外,洩密者聲稱三星只計劃升級一台相機

OnLeaks 現在與 Android Headlines 合作,首次展示了 Galaxy S25 Ultra,幾天前,他試圖從他的 X(以前的 Twitter)粉絲那裡籌集到 4,000 美元以上的資金,但失敗了。對於上下文,嵌入在 h 下面的渲染圖像

除了發布兩款新智慧型手機外,TCL 還發布了一款名為 NXTPAPER 14 的新 Android 平板電腦,其大螢幕尺寸是其賣點之一。 NXTPAPER 14 採用 TCL 標誌性品牌霧面液晶面板 3.0 版本

Vivo Y300 Pro剛剛全面亮相,它是最薄的中階Android手機之一,配備大電池。準確來說,這款智慧型手機厚度僅為 7.69 毫米,但配備 6,500 mAh 電池。這與最近推出的容量相同

三星尚未就何時更新其 Fan Edition (FE) 智慧型手機系列提供任何提示。目前來看,Galaxy S23 FE 仍然是該公司的最新版本,於 2023 年 10 月年初推出。

最近幾天,Ice Universe 不斷披露有關 Galaxy S25 Ultra 的詳細信息,人們普遍認為這款手機將是三星的下一款旗艦智慧型手機。除此之外,洩密者聲稱三星只計劃升級一台相機

Redmi Note 14 Pro Plus 現已正式成為去年 Redmi Note 13 Pro Plus 的直接後繼產品(亞馬遜售價 375 美元)。正如預期的那樣,Redmi Note 14 Pro Plus與Redmi Note 14和Redmi Note 14 Pro一起成為Redmi Note 14系列的主角。李

OnePlus的姊妹品牌iQOO的2023-4年產品週期可能即將結束;儘管如此,該品牌已宣布 Z9 系列的開發尚未結束。它的最終版,也可能是最高端的 Turbo+ 變體剛剛按照預測發布。時間
