Android逆向之手機環境配置

2021-02-14 網絡安全技術點滴分享

該篇文章主要介紹在Android逆向開始之前的手機環境配置。其中包括對手機進行刷機(根據所需的Android手機型號、Android系統版本進行刷機。這裡我以nexus 5 android 6.0.1為例,其他Google系手機型號及刷其他Android版本系統都是類似的);第二個則是安裝Android逆向分析hook框架(Xposed、frida)及一些常用的基礎插件等。

一、刷機前準備

電腦下載platform-tools(刷機用到的工具),可以在下面連結下載platform-tools(包括windows、linux、mac),如下所示

https://developer.android.com/studio/releases/platform-tools.html

如果上面下載速度慢的,也可以在公眾號回復"nexus_platform-tools"通過百度盤下載,下載完並將目錄設置為PATH環境變量即可

當然如果你還需要涉及到Android開發的話,也可以直接下載Android studio進行安裝,它會自帶下載Android sdk裡面就包含platform-tools,下載連結如下

https://developer.android.com/studio/

下載Android 6.0.1刷機包,可以在下面連結下載,如下所示

https://developers.google.com/android/images/

分別有不同機型、不同Android版本對應的系統鏡像,限於篇幅就不一一截圖

下載第三方recovery包TWRP(用於對Android機內部的數據或系統進行修改 類似windows PE或DOS),下載連結如下

https://twrp.me/Devices/ (根據android設備型號搜索下載對應的recovery包,如果下載速度慢,可以在公眾號回復"twrp recovery包",這個recovery包僅適用於nexus 5,如果有其他機型需要也可以聯繫我幫忙下載)

下載su root工具SuperSU(支持Android 4.2-8.0系統root),下載連結如下

https://supersu.dev(如果下載慢,可以在公眾號回復"superSU"進行下載)

下載su root工具magisk(支持Android 4.2-10系統root),下載連結如下 

https://github.com/topjohnwu/Magisk(如果下載慢,可以在公眾號回復"Magisk"進行下載)

下載adbd.apk,(這是用於實現adb root功能的,Android系統版本支持4.2-6.0以下,如果刷的系統是6.0及以上,則adbd.apk實現不了adb root功能),下載連結如下

https://forum.xda-developers.com/showthread.php?t=1687590  (如果下載慢,可以在公眾號回復"adbd.apk"進行下載)

下載xposed框架(如果下載速度慢,可以在公眾號回復"xposed"進行下載),下載連結如下

https://repo.xposed.info/module/de.robv.android.xposed.installer

下載frida-server(如果下載速度慢,可以在公眾號回復"frida-server"進行下載),下載連結如下

https://github.com/frida/frida/releases

二、開始對nexus 5刷機(Android 6.0.1)

需要刷機的nexus 5手機連接到電腦上,並確認已經設置為允許usb調試

確認platform-tools目錄已經設置為PATH環境變量,使用adb devices命令進行測試(不會提示不是內部或外部命令),如下所示

執行adb reboot bootloader指令使手機進入fastboot模式,如下所示

如果手機的bootloader還沒解鎖(可以看上圖的LOCK STATE),則需要執行fastboot flashing unlock進行解鎖

解壓Android6.0.1系統鏡像,如下圖所示

進入解壓後的目錄,執行flash-all.bat批處理文件開始刷Android6.0.1系統,等待最後刷完成功即可,如下所示

如果在執行flash-all.bat出現Snapshot cancel

fastboot: error: Command failed 則是因為電腦下載的platform-tools版本太高,如下所示

需要使用低版本的platform-tools進行替代,具體的操作步驟,可以參考以下文章

https://www.jianshu.com/p/d40db7e08e3e

三、刷入第三方recovery(TWRP)到新系統中

需要刷recovery的nexus 5手機連接到電腦上,並開啟usb調試

在刷第三方recovery之前,我們先把待會兒要用來root的magisk複製到手機的/sdcard或者/sdcard/Download中(這是用來root系統的。也可以複製superSU到手機中,執行adb push Magisk-v20.4.zip /sdcard/Download指令,superSU支持的Android版本只到8.0,現在官方也停止了維護,因此本文我以magisk為例),如下所示

執行adb reboot bootloader 指令使手機進入fastboot模式

執行fastboot flash recovery twrp.img 指令刷入第三方recovery,如下所示

刷完recovery後,不要重啟手機,不然recovery又會被刷回原來的,這樣當進入recovery後,會提示如下錯誤

四、對剛刷完的Android系統進行root

刷完recovery後,不重啟手機,直接通過音量上下鍵選擇recovery模式,電源開關確認,進入recovery模式,如下所示

安裝magisk,選擇 install ,找到上面複製到手機中的magisk壓縮包,安裝壓縮包,等待安裝成功,最後選擇 Do not Install 不要安裝TWRP App。至此,通過magisk root手機就完成了,具體如下所示

五、安裝Xposed框架、frida-server 及Android逆向分析中常見的插件

執行adb install XposedInstaller_3.1.5.apk指令,安裝Xposed,安裝成功後打開,如下所示

安裝xposed成功後,打開xposed,會提示xposed框架沒有安裝,則需要安裝xposed框架,安裝後重啟即可,具體如下所示

安裝android逆向分析app時,常使用的xposed插件

BuildProp Enhancer

修改Android系統的ro.debuggable屬性,使安裝在手機上的app都能夠被調試,下載連結如下:

https://repo.xposed.info/module/com.jecelyin.buildprop

項目地址如下:

https://github.com/jecelyin/buildprop

JustTrustMe

繞過app的證書校驗,方便抓取數據包,進行安全分析,下載連結如下:

https://github.com/Fuzion24/JustTrustMe

GG Tools:

繞過app對手機的root檢測、繞過app的重籤名校驗隱藏xposed框架等,便於安全分析,下載連結如下:

https://repo.xposed.info/module/com.gojek.galau.ggtools

更多xposed插件則需要根據我們分析時的具體情況再尋找或者自己開發所需的插件,後面有有趣的插件也會再及時更新

當然,如果習慣使用frida的。也可以在手機中開啟frida服務,先將frida-server複製到手機中,然後啟動frida-server,具體的可以參考以下文章

android逆向之frida安裝與使用

以下是android逆向分析中常使用的frida腳本,連結如下:

https://github.com/m0bilesecurity/Frida-Mobile-Scripts/tree/master/Android

綜上所述,該篇文章主要是使用Android官方的系統鏡像進行刷機,然後安裝配置Android逆向所需的框架及插件。在刷機的時候,我們也可以選擇自己修改編譯Android系統源碼,再進行刷機,定製我們自己所需的分析環境。

相關焦點

  • 精品連載丨安卓 App 逆向課程一之環境配置
    我們知道,現在爬蟲可以說是越來越難做了,幾乎不是 JavaScript 逆向就是 App 逆向。
  • 逆向環境搭建
    Pixel玩逆向必備一臺真機,那麼非谷歌親兒子莫屬,模擬器缺失native/so層,屬於精簡版系統,故還是真機香呀。
  • Android APP 取證之逆向工具篇
    在國內,由於最近幾年國產手機廠商之間的競爭和努力,如今 Android 平臺的使用數量和廣度,已經遠超蘋果的 iOS 了。如今 Android 的生態環境已經變得相當良好和成熟,廣大老百姓的衣食住行也早已融入其中。故而,Androd的眾多 APP 裡蘊含著海量的廣大用戶的數據。但是其中也滋生了很多黑色產業的鏈條,竊取著用戶信息,損害者用戶利益。
  • Android逆向學習-使用ida動態調試中的那些坑
    使用新版ida pro中的android_server程序,可以在我的Android8.0手機上運行了。設置好埠轉發,繼續使用ida去連接。點擊Debugger選項,點擊switch debugger,選擇Remote ARM/Linux Android debugger再配置process options
  • 一文入門Android逆向
    然後選擇`Asia→Shanghai`,然後重啟即可。4、更一般來說是在狀態欄上放一個持久的圖標,用戶可以打開它並獲取消息。廣播接收者的註冊有兩種方法,分別是程序動態註冊和AndroidManifest文件中進行靜態註冊。動態註冊廣播接收器特點是當用來註冊的Activity關掉後,廣播也就失效了。靜態註冊無需擔憂廣播接收器是否被關閉,只要設備是開啟狀態,廣播接收器也是打開著的。
  • 跟肉絲姐學 Frida 之 快速搭建 Frida 安卓逆向環境
    快速搭建 Frida 安卓逆向環境這段時間空閒的時間一直在跟著肉絲姐補課,手殘把手機搞崩了,借著這個機會寫一篇文章記錄下如何從零完成 Frida 安卓逆向環境的搭建。按照肉絲姐的教程,非常順利的完成了pixel+ andriod 8.1.0 + twrp3.3 + Magisk + Frida 這套環境的搭建,這個過程中需要的工具有:所有的工具包下載地址參考肉絲姐的 Gthub :https://github.com/r0ysue/AndroidSecurityStudy
  • 環境配置:React Native 開發環境配置 For Android
    Node.js 之生態系統是目前最大的開源包管理系統。我們都知道React Native是需要使用js開發的,所以Node.js是必不可少的安裝。安裝方式如下:我們可以通過Homebrew安裝:brew install nvm或者通過這裡的方式安裝,地址:https://github.com/creationix/nvm#installation安裝完了nvm,我們這裡最好配置一下環境變量到.bash_profile文件,因為如果不配置的話,容易出現這個錯誤nvm command
  • 安卓逆向 | 主動調用方案之sekiro + xposed
    當抓取app數據接口遇到加密參數的時候,不會逆向的朋友可能會選擇中間人或者自動化測試工具抓取數據,這兩種方案在某種程度上能解決部分需求,但是跟別人提起的時候還是顯得有些寒磣,就好比你只會selenium而不會js逆向一樣,看到逆向大佬們聊技術你就插不上嘴。
  • Android逆向之旅---虛擬位置定位APP破解
    發現程序是判斷支付寶的返回碼是不是9000,如果是9000就跳到一個新的頁面,這個頁面後來我們知道,就是註冊頁面,這個時候我們就可以輸入我們的手機號進行註冊了。;meta-data android:name="TxAppEntry" android:value="io.xudwoftencentmm.VApp"/> 這行代碼保存即可如圖:
  • Windows配置android測試環境
    配置JDK環境  安裝android studio  配置android環境  安裝模擬器請參考上面jdk配置連接https://www.yuque.com/funcat/env/betm111.下載客戶端請從此連結 https://developer.android.google.cn
  • ​【移動安全】一文入門Android逆向
    本文節主要介紹一下Android逆向常用的環境、工具、動靜態分析思路,筆者通過學習肉絲大佬分享的一些內容,加上自己一些經驗總結而來。1、環境準備環境也分三六九等,一個好的環境能讓你節省大量時間和精力去投入到更有意義的事情中,所以Android移動安全第一步,就是配置一套無坑的環境,首先是硬體配置如下:Kali-linux-2019-4-vmware-amd641.1、VMware虛擬機
  • 《教我兄弟學Android逆向01 編寫第一個Android程序》
    要麼是自己上課不學習 大學美好的時光都浪費在了陪同學一起去網吧打遊戲上面了 反正大學幾年過去了 自己也沒有學到一些有用的知識 現在他們即將面臨著畢業要出去找工作 但是自己什麼都不會 而且計算機相關的工作又分為好多種 自己也不知道怎麼去選擇以後從事的工作 所以就會感到很迷茫   網上教程是找到一大堆 大多講的都很雜 看了都看不懂 雲裡霧裡的感覺 也有不少同學剛接觸Android逆向或者說也學習了一段時間的逆向了
  • 科普 | OpenCV在Android中的環境配置
    正巧作者最近在做一個需要使用Android手機作為主控和視覺採集器,與STM32(這部分不歸我做)協調交互來控制機器人的項目。因此我就以自己在完成這個項目中摸索到的經驗為基礎,介紹OpenCV在Android系統中環境的配置。
  • 如何開始對Android應用的逆向分析?
    本文是我的關於如何開始Android逆向系列文章的第一部分。
  • 頭狼的安卓逆向學習之旅(一)
    一本本厚厚的英文學習資料就這樣啃下來了,說多了都是淚啊~~~~    今天跟大家分享的是安卓逆向之開發環境的搭建,準備好了嗎?那就開始啦~~~0x01 正文一、Windows環境1.下載 SDK①訪問 Android 官網(http://developer.android.com/index.html)->點擊 AndroidStudio->下拉網頁,找到最新 SDK 下載(如下截圖所示)
  • Android逆向分析必備網址大全
     本期小編將推送一期Android逆向分析必備網址大全。
  • Android兼容性測試CTS之環境搭建
    為了確保Android應用能夠在所有兼容Android的設備上正確運行,並且保持相似的用戶體驗,在每個版本發布之時,Android提供了一套兼容性測試用例集合(Compatibility Test Suite, CTS)來認證運行Android系統的設備是否完全兼容Android規範,並附帶有相關的兼容性標準文檔(Compatibility Definition Document, CDD
  • 淺談Android應用保護(一):Android應用逆向的基本方法
    筆者基於日常的學習和整理,寫了一系列關於Android應用安全和保護的文章,主要關注客戶端代碼和數據保護,介紹了幾種針對Android應用的逆向分析
  • 安卓ndk開發實戰(1)Android Studio 中配置 ndk 和 cmake 工具
    一、下載 Android Studio 安裝包通過以下下載地址下載:https://developer.android.google.cn
  • iOS 安全之 iOS 逆向環境準備
    學 iOS 逆向之前,想必是了解或熟悉了 Android 逆向或 iOS 開發。