8.動態(tài)調(diào)試筆記--調(diào)試so

以阿里移動安全挑戰(zhàn)賽2015年第二題為調(diào)試樣本
樣本是有點久遠针史,但是足夠一窺動態(tài)調(diào)試so的門道贡定。

先上參考連接赋访,有一些概念性的東西這兩篇寫的很詳細,比如下斷時機缓待,為什么在那里下斷蚓耽,反調(diào)思路是什么。
原創(chuàng)]-------------IDA調(diào)試 android so文件的10個技巧
https://bbs.pediy.com/thread-221876.htm

1.android逆向之旅-動態(tài)方式破解apk進階篇ida調(diào)試so源碼

2.阿里移動安全挑戰(zhàn)賽第二題writeup

0.準備工作
首先必須有一臺root過的手機旋炒,且把ida的android_server文件放到手機/data目錄下步悠,修改其執(zhí)行權(quán)限。
這里可能會遇到android_server和ida 目標api不符的提示瘫镇,所以建議是用android 4.4的手機鼎兽,且Android_server文件是從你使用的ida文件里拿出來的。

1.下斷
姑且認為你已經(jīng)閱讀了上述兩篇文章铣除,知道該demo是有反調(diào)試的接奈,所以我們需要先靜態(tài)分析so,在so里下斷通孽。
1-1在jni_onLoad下斷


ida的左邊方法區(qū)ctrl+f搜索jni_load

1-2在native方法下斷


很好找序宦,java_開頭

1-3設(shè)置ida的debug options
勾選on library load

2.執(zhí)行Android_server,供ida 附加一個調(diào)試進程
依次執(zhí)行adb shell ,su背苦,cd data互捌,./android_server
打開ida調(diào)試監(jiān)聽

image.png

執(zhí)行
adb forward tcp:23946 tcp:23946
端口轉(zhuǎn)發(fā)

3.打開ida 進行動態(tài)調(diào)試
3-1執(zhí)行adb shell am start -D -n com.yaotong.crackme/.MainActivity
喚起樣本,使其等待一個調(diào)試器
3-2 ida-debugger-attach to process行剂,找到我們的demo 包名

17233就是pid

3-3 執(zhí)行adb forward tcp:8700 jdwp:17233
端口打通(ddms去做也行秕噪,目的都是一樣的)

3-4 點ok之后就進入動態(tài)調(diào)試

此時會卡在libc.so

3-5 執(zhí)行jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700恢復(fù)運行狀態(tài)

正常會顯示已經(jīng)捕獲

其余報錯,software refused connected厚宰,先更改app的清單debuggable值為true腌巾,重打包簽名再重來一遍步驟。
connection refused 铲觉,就操作一遍3-3.

3-6 在ida按f9


點same

然后進入到linker

3-7再按f9運行澈蝙,會進入我們jni_onLoad斷點

4分析代碼
f8單步運行

4-1 nop反調(diào)試代碼


我這里是已經(jīng)修改過的so

如果想去看方法,f7進入方法撵幽,想看源碼的灯荧,在BLX R7那里按f5,ida會反編譯源碼

根據(jù)地址找到so對應(yīng)的值盐杂,在靜態(tài)調(diào)試so逗载,G快捷鍵 哆窿。
修改為0.保存修改,重新打包一份apk厉斟,重簽名挚躯,從頭跑一遍。反調(diào)試代碼就被干掉了擦秽。

4-2 找native方法
反調(diào)試之后秧均,輸入密碼,繼續(xù)f9運行号涯,會斷在我們的native方法里


image.png

根據(jù)大家的經(jīng)驗總結(jié)目胡,去尋找CMP指令,查看寄存器的值链快,總會有一個地方值做判斷誉己,然后返回結(jié)果。
那么做判斷的地方域蜗,就是正確密碼的出現(xiàn)地巨双。
雙擊可查看寄存器的值


查看到我的輸入值

至此,動態(tài)調(diào)試so結(jié)束

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霉祸,一起剝皮案震驚了整個濱河市筑累,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丝蹭,老刑警劉巖慢宗,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奔穿,居然都是意外死亡镜沽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門贱田,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缅茉,“玉大人,你說我怎么就攤上這事男摧∈叨眨” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵耗拓,是天一觀的道長拇颅。 經(jīng)常有香客問我,道長帆离,這世上最難降的妖魔是什么蔬蕊? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮哥谷,結(jié)果婚禮上岸夯,老公的妹妹穿的比我還像新娘。我一直安慰自己们妥,他們只是感情好猜扮,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著监婶,像睡著了一般旅赢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惑惶,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天煮盼,我揣著相機與錄音,去河邊找鬼带污。 笑死僵控,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的鱼冀。 我是一名探鬼主播报破,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼千绪!你這毒婦竟也來了充易?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤荸型,失蹤者是張志新(化名)和其女友劉穎盹靴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瑞妇,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡鹉究,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了踪宠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片自赔。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖柳琢,靈堂內(nèi)的尸體忽然破棺而出绍妨,到底是詐尸還是另有隱情,我是刑警寧澤柬脸,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布他去,位于F島的核電站,受9級特大地震影響倒堕,放射性物質(zhì)發(fā)生泄漏灾测。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一垦巴、第九天 我趴在偏房一處隱蔽的房頂上張望媳搪。 院中可真熱鬧铭段,春花似錦、人聲如沸秦爆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽等限。三九已至爸吮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間望门,已是汗流浹背形娇。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留筹误,地道東北人桐早。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像纫事,于是被迫代替她去往敵國和親勘畔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容