1.啟動除錯服務
將ida中Android_Server移動到手機中(ida所在目錄dbgsrv檔案中)
db push android_Server /data/local/tmp/as
adb shell
su
cd /data/local/tmp
ls -l
chmod 777 as
./as -p23456 #隨意埠號
adb forward tcp:23456 tcp:23456 #埠轉發到電腦
2.查看除錯app包名
#運行需要除錯的app
# windows
#adb shell dumpsys window w |findstr \/ |findstr name=
#mac
#adb shell dumpsys window w |grep \/ |grep name=
#例如
mAnimationIsEntrance=true mSurface=Surface(name=NavigationBar)/@0x69e619c
mAnimationIsEntrance=true mSurface=Surface(name=StatusBar)/@0xbcd3aaf
mAnimationIsEntrance=true mSurface=Surface(name=com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity)/@0xb681146
mSurface=Surface(name=com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity)/@0x63b4834
mSurface=Surface(name=com.breel.wallpapers.dioramas.lagos.LagosWallpaperService)/@0x2031e
3.已debug狀態啟動app
adb shell am start -D -n 包名/啟動類
#例如
adb shell am start -D -n com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity
4.IDAdebug連接
1.環境配置
Debugger>Process options
中配置好上一步設定好的除錯ip:127.0.0.1 埠23456
Debugger>Attach to Process,
然后 Attach to Process,從彈出的視窗中選擇com.ss.android.ugc.aweme
5.相關快捷鍵
1. F2下斷點
2. F7進入函式,F8單步除錯,F9跳到下一個斷點,F2下斷點,G調到函式地址
3. N重名
4. g跳到地址和函式名
5. u取消把函式匯編變成機器碼
6. c就是把機器碼變成匯編
7. F5
8. p分析函式,把機器碼那些東西翻譯成函式
9. ctrl+s看見系統所有的模塊
10. ctrl+f搜索
11. 單步除錯注意右上角,暫存器變藍色表示被改了
12. otions->number of opcode bytes可以查看機器碼,填入4一行看4個機器碼
13. 在hex view-1按F2可以修改機器碼,再次按F2確定修改
14. alt+g看是thumb還是arm指令
15. 在函式名上按X可以看見上層呼叫
16. 在f5偽c/c++代碼的情況下,注釋是/,匯編情況下注釋是;
17. f4移動到游標處
18. 在暫存器視窗按E可以修改暫存器的值
19. 在記憶體視窗f2可以修改記憶體的值
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528044.html
標籤:Python
上一篇:淺談PHP設計模式的橋接模式
下一篇:pycharm操作redis
