一、所使用平台及軟體:
1、安卓手機:小公尺2s 版本6.0 系統為開發版已取得root許可權。
2、軟體:ida_pro_v6.8
3、電腦系統win10
二、步驟:
1、確保xml裡的android:debuggable=」true」
2、將android_server檔案push到手機/data/local/tmp目錄
2、執行setenforce 0
3、執行chmod 755 android_server
4、執行android_server
5、埠** adb forward tcp:23946 tcp:23946
6、除錯模式啟動程式adb shell am start -d -n 包名/類名
7、ida附加程序
8、f9執行,下斷點除錯。
三、擴充套件:
1、在有反除錯的情況下如何跳過
說明,一般來說 反除錯在這裡開啟乙個執行緒,然後不斷地做輪詢,主要的原理是判斷trackerpid字段值是否等於0,由於如果存在除錯,trackerpid就不為0,因此可以用作反除錯;要破解也簡單,我們只要把這裡的呼叫函式給nop掉即可
2、下斷點
ctrl + s 然後搜尋到so檔名
a.觸發斷點
下好斷點之後,直接f9執行吧,就能斷在jni_onload函式處~
當這種除錯手法出現之後,將特殊函式,或者反除錯函式放在jni_onload中也不是那麼的安全了。此時,程式猿們通過分析系統對so檔案的載入鏈結過程發現,jni_onload函式並不是最開始執行的。在jni_onload函式執行之前,還會執行init段和init_array中的一系列函式。
因此,現在的除錯方法,都是將斷點下在init_array中~
至於下斷點的方法,可以模擬於在jni_onload中下斷點的方法,在init_array的函式中下斷點。還有一種方法便是通過在linker模組中,通過對其中函式下斷點,然後也能單步到init_array中下面便詳細介紹下如何給任意系統函式下斷點
四、後記
從很多網上部落格中找到的資料,稍作整理,以備後用。已經過實際操作可行。
安卓逆向學習筆記(10) 安卓逆向學習資料
因為喜歡android安全,而android逆向是android安全的乙個分支,所以小弟利用業餘時間自學了一點android逆向。在學習過程中總結了一點學習資料,特此分享給大家。1 android安全大牛的部落格 鬼哥的部落格 聽鬼哥說故事 jack jia的部落格 android手機病毒分析及研究...
安卓逆向從0到1學習總結
逆向這玩意不是很玄學,不像web滲透那樣很玄學 強烈吐槽一波以前我還在做web滲透的時候,挖不出大洞也就算了,全都是一堆反射型的xss,xss到底跟我有多過不去啊 只要你基礎夠,在捨得掉頭髮,就能夠有產出,下面簡單羅列一下我個人認為的安卓逆向所需要的前置技能 正向開發越熟練,在逆向的過程越容易找到關...
攻防世界安卓逆向app1
首先拿到了乙個apk,用7zip解壓後 將classes.dex檔案用dex2jar反彙編得到乙個jar包,導進我的idea以後 開啟mainactivity分析邏輯,關鍵是這個onclick函式 public void onclick view param1view else toast.make...