前言
- 首先感謝各路大神發(fā)表的博客哩陕,查閱的太多就不挨個點名道謝了
- 本文旨在對學習使用IDA手動對Android應用脫殼的過程中呐粘,針對環(huán)境搭建遇到的一些細節(jié)問題進行記錄和分享碱璃,存在的不足與錯誤還望各位指正
- 首先分享一個連接:使用IDA進行簡單的脫殼
- 剛開始接觸使用IDA進行脫殼学歧,我學習參考的就是上面分享的這篇博客
- 下面記錄我在搭建相應環(huán)境時候踩過的坑
準備工作
- Android真機(我使用的是 魅族MX3 搭載Android4.4系統(tǒng))
- Xposed框架apk:Xposed_APK
- RE管理器:RE管理器
- 360一鍵ROOT:360一鍵ROOT
- IDA Pro 6.8:資源自行百度
- adb工具:下載Android SDK
- Android Killer
環(huán)境搭建
- step 1:ROOT你的真機计济,具體Root可以根據(jù)機型自行百度。一般使用現(xiàn)成的一鍵ROOT工具就可以成功ROOT
- step 2:配置adb工具到環(huán)境變量:adb配置
- step 3:安裝IDA
- step 4:將手機的usb調試打開排苍,連接到電腦
- step 5:找到IDA安裝目錄下的dbgsrv文件夾沦寂,打開后Shift+右鍵打開命令行執(zhí)行:
adb push android_server /data/data/android_server
將android_server文件拷貝到手機中的/data/data/目錄下
- step 6:PC端打開cmd,執(zhí)行如下命令:
* 注意:我到這步執(zhí)行上述命令后提示adb opendir failed ,permission denied淘衙,于是我使用```su root```切換至root下執(zhí)行传藏,還是不行。經(jīng)過查資料彤守,最后找到一個辦法解決了問題毯侦。
* 解決辦法:安裝RE管理器,使用RE管理器手動給/data/data/文件夾以及android_server授權具垫。
![授權/data/data/](http://upload-images.jianshu.io/upload_images/1863312-99954c4b3dce5ce4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![授權android_server](http://upload-images.jianshu.io/upload_images/1863312-cef39a2b204dd007.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 7:root shell下執(zhí)行```adb shell /data/data/android_server```將其運行起來
![運行android_server](http://upload-images.jianshu.io/upload_images/1863312-daab3e10ea44b830.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 8:另起一個cmd侈离,執(zhí)行```adb forward tcp:23946 tcp:23946```將手機端的23946端口和PC端之間建立聯(lián)系
![端口轉發(fā)](http://upload-images.jianshu.io/upload_images/1863312-7a2dda7117e93882.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 9:在手機上安裝要脫殼的應用,使用命令```adb install xxx.apk```
![安裝目標APK](http://upload-images.jianshu.io/upload_images/1863312-d069fa2572e1d1b1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 10:把目標apk拖進AndroidKiller做修,查看包名和入口
![查看包名和入口](http://upload-images.jianshu.io/upload_images/1863312-f76b3f5b64c496c6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 11:adb shell下執(zhí)以root身份執(zhí)行```am start -D -n com.ali.tg.testapp/com.ali.tg.testapp.MainActivity```就會以debug模式啟動應用
![手機端等待調試](http://upload-images.jianshu.io/upload_images/1863312-6aaf1be6ad0d1df4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 12:打開IDA(這里是32位版)霍狰,注意選擇對應的版本。依次點擊Debugger-->Attach-->Remote ARMLinux\Android Debugger
![IDA使用步驟](http://upload-images.jianshu.io/upload_images/1863312-01f73b7a223e14fb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 13:在彈出的窗口中配置Host為localhost并點擊Debug Options
![IDA使用](http://upload-images.jianshu.io/upload_images/1863312-410d9c4d7f8cb85b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
繼續(xù)進行如下圖配置:
![IDA配置](http://upload-images.jianshu.io/upload_images/1863312-86a7ce37eff4897e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 14:點擊ok后可以看到手機中的進程
![Choose Attach](http://upload-images.jianshu.io/upload_images/1863312-20ee8fc16dfc84bb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
注意:我在這里折騰了2天饰及,出現(xiàn)的問題是我在這步看不到所有的進程,只能看到2-3個進程康震。所有的環(huán)節(jié)都是在root下執(zhí)行燎含,手機也已經(jīng)root了,而且啟動android_server也是在root下啟動的腿短。使用RE管理器也給android_server賦了所有權限也不行屏箍。
解決辦法:后來發(fā)現(xiàn)我這個魅族MX3手機Root是官方提供的,居然是一次一授權橘忱,并不能持久化root權限給shell赴魁。后來我下了個360一鍵root,又Root了一次并且讓它托管權限分配钝诚,成功持久化了ROOT權限給shell颖御,在IDA中看到了所有的進程
* step 15:Ctrl+F搜索目標APK包名,點擊OK開始調試
![開始調試](http://upload-images.jianshu.io/upload_images/1863312-8d150b292d29aafc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* step 16:DDMS查看
![DDMS查看](http://upload-images.jianshu.io/upload_images/1863312-639ce878d7249b07.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
真機剛開始無法像上圖一樣列出所有的包名凝颇,后來經(jīng)過我查閱資料得到一個比較方便的方法解決問題潘拱,那就是安裝一款Xposed模塊:[Xposed Mould for Debug](https://security.tencent.com/index.php/opensource/detail/17)
至于Xposed框架怎么使用,可以參考我之前的博客和自行查閱資料拧略。
#結束
后面隨著學習會不定期記錄與分享過程與經(jīng)驗芦岂,希望共同進步。
最后編輯于 :
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者