Android_Hook之劫持登錄學習


利用Xposed框架編寫模塊實現登錄劫持

用到的環境:

Xposed的使用:

  • Xposed可以在不修改APK的情況下對應用的運行結果產生影響,是一款比較常用的Android Hook工具。
  • 首先安裝Xposed框架對應APK文件到已經root的手機中,安裝完成后打開Xposed如下圖所示:

安裝好的Xposed框架

  • 接着點擊“安裝/更新”。注意:安裝Xposed存在手機變磚的風險,如果你不明白什么是變磚,也不知道如何解決此問題,請慎重。
  • 這樣Xposed框架就在手機中安裝完成了,但是這僅僅是一個框架,我們需要下載或者自行編寫功能模塊。

編寫測試應用

  • 我們要模擬一個登陸劫持,下面給出一個模擬登錄的APP,界面如圖:

登錄失敗

登錄成功

  • 下面附上測試應用關鍵登陸驗證代碼:

登錄驗證

  • 測試應用的包名為:'com.example.administrator.logintest'

編寫Hook模塊

  • 使用AndroidStudio新建一個Android工程,可以沒有Activity
  • 找到AndroidMainfest文件,添加如下幾個標簽:

添加標簽

  • 其中xposedminversion是API的最小版本,這里我們使用的版本為54
  • 將API導入工程:

導入jar包

  • 注意不要放在libs里,新建一個lib文件夾粘貼進去,然后add library
  • 修改build.gradle,把compile改為provided:

gradle

  • 新建一個類,繼承 IXposedHookLoadPackage,Hook的關鍵步驟在此,下面直接上代碼:

Hook

  • 這里有兩個比較關鍵的方法:handleLoadPackage獲取包加載時候的回調並拿到其對應的classLoader;findAndHookMethod對指定類的方法進行Hook。

編譯並安裝模塊

  • Build APK后使用adb install XXXX.apk 命令將模塊APK安裝到手機中:

InstallHookMoudle

  • 手機上的Xposed框架檢測的模塊安裝:

檢測到模塊

  • 激活模塊,重啟手機:
    激活模塊

  • 打開模擬登陸應用,進行登錄操作,在Xposed的日志中查看劫持到的信息:

查看劫持的信息

Acknowledge

  • 感謝《Android安全技術揭秘與防范》這本書和其作者 周聖韜
  • Hook的關鍵在於對目標應用的逆向,找到關鍵方法
  • 寫的比較粗略,如果疑問歡迎留言交流


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM