Android逆向-動態調試release-apk

介紹

本帖主要講解動態調試release-apk,可以查看apk運行中變量值和運行邏輯,本篇爲android逆向基礎篇

本帖涉及到android一些基礎知識
1: android基礎知識
2: AndroidStuduo的基本使用
3: smali的基本語法

開發工具

工具名稱 工具類型 說明
AndroidStuduo 編輯工具 看android源碼和smali用的
monitor SDK工具 這個sdk自帶的工具用於debug
apkToolr java工具 將apk解成smali項目
jadx java工具 將apk解成java項目
smalidea AndroidStuduo插件 這個是識別smali用的
VirtualApp apk 可理解成虛擬手機,打開VirtualApp添加需要調試的應用,這樣就可以成debug模式

開始

1:將apk解成smali文件和java文件

  • 將apk轉smali(用於調試)
    控制檯輸入 java -jar apkTool的絕對路徑 d apk的絕對路徑
    例如:java -jar apktool.jar d test.apk
    
  • 將apk轉成as項目(用於看源碼)
    1:打開jadx的bin目錄的 jadx-gui.bat 文件(會彈出選擇文件的界面)
    2:選擇你的apk,等待加載完畢
    3:可以選擇選擇file → save as gradle project導出去(也可以直接在裏面看代碼)
    

2: AndroidStuduo導入smali

  1. 裝插件 file → settings → plugins → install plugin from disk 選擇剛剛下載好的smalidea這個插件,然後重啓生效

  2. 第二步:導入smali工程(和導入android工程一樣) , file → new → import Project 選擇剛剛導出來的smali項目

3:將AndroidStudio運行模式設置爲遠程調試模式

  • 打開Edit Configurations…
    在這裏插入圖片描述

  • 在出現的界面,點擊左上角的“+”,在出現的下拉列表中再點擊“Remote”
    在這裏插入圖片描述

  • 設置遠程調試的名稱和監聽遠程的端口→將遠程名稱設置爲“8700” ,Name可以設置也可以不設置
    在這裏插入圖片描述

4:ADM(AndroidDeviceMonitor)+ AS(AndroidStudio) + VirtualApp協同開始動態調試

1: 打開ADM

找到SDK 根目錄 → tools → 打開monitor.bat

2: VirtualApp使用,添加需要調試的app

1: 安裝VirtualApp,
2:安裝需要調試的apk,
3:VirtualApp添加需要調試的apk(有個添加app)

3: 開始調試
3.1:打開剛剛添加的apk,查看ADM是不是出現了進程名,如下圖
在這裏插入圖片描述

3.2:在ADM裏面選中需要調試的進程名

在這裏插入圖片描述
3.3:在開始打開smali工程的AS裏面點擊debug的圖標
在這裏插入圖片描述
3.4:這時候ADM會出現一個小瓢蟲,說明正常的debug了
在這裏插入圖片描述
3.5:smali工程就可以斷點調試了,如果程序走到這裏就會斷住
在這裏插入圖片描述

收工

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章