溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android app如何加密

發布時間:2022-01-11 16:26:52 來源:億速云 閱讀:208 作者:iii 欄目:網絡安全

本文小編為大家詳細介紹“Android app如何加密”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Android app如何加密”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

一.什么是Android界面劫持

界面劫持是指在Android系統中,惡意軟件通過監控目標軟件的運行,當檢測到當前運行界面為某個被監控應用的特定界面時(一般為登錄或支付界面),彈出偽造的釣魚頁面,從而誘導用戶輸入信息,最終竊取用戶的隱私(惡意盜取用戶賬號、卡號、密碼等信息),或者利用假冒界面進行釣魚欺詐。

Android app如何加密

二. 常見攻擊手段

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 文件,或者進一步將 Dex 文件轉換為 Java 代碼

●    反編譯 So 文件

炸彈”的設置需要對特定的文件格式有相當的了解,而且可能只能針對某個反編譯工具的。

Android app如何加密?

android app包含的內容有dex文件,so文件,res,assets資源文件。對應的加密按此內容分為三大方面:dex保護、so加密、資源保護(res, assets)。

●   dex保護

由于未保護的dex文件,是從java編譯打包而來,破解成本低較易受到攻擊。其保護措施從最基本的加殼,到函數執行體抽取、動態加載,再到當前的vmp虛擬機加固,安全逐步增強。尤其是vmp加固,更是使用了自研虛擬機解釋函數體,如果指令加密替換做的好,會讓破解者很難受。

●    so加密

so文件,由起初的段加密,發展到自定義elf結構的加密方式,能防止IDA查看函數名稱,增加破解成本和難度。

●    資源保護

res資源文件,通常只采用混淆的方式增加逆向難度。assets資源,一般不處理。但隨時H5應用日益增多,部分廠商(易盾、娜迦)有提供assets加密的功能,實現原理不詳。

除了上述三點防護外,還有防反編譯、防二次打包、防調試、防模擬器、防xposed功能等。

a) 防反編譯,一般是對市面上的反編譯工具(例如apktool)做對抗,利用其漏洞,致使反編譯失??;

b) 防二次打包,一般常用的是在代碼里保存簽名信息,啟動時在native層將當前apk的簽名信息與保存的簽名進行比對。市面上已有破擊工具??梢栽诔S脤崿F方式上做些升級。

c) 防調試,通過ptrace進程,阻止破解者再ptrace調試。

d) 防模擬器,檢測/system/bin/su和/system/xbin/su文件。

e) 防xposed,通過檢測XposedHelpers的methodCache,判斷是否被hook。

讀到這里,這篇“Android app如何加密”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女