溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MSC-2015移動(dòng)安全挑戰(zhàn)賽 第二題

發(fā)布時(shí)間:2020-05-28 08:15:28 來源:網(wǎng)絡(luò) 閱讀:1066 作者:strawdog 欄目:移動(dòng)開發(fā)

此題apk和so都沒有加殼,但是so里面的一個(gè)關(guān)鍵函數(shù)jolin是加密的,在so加載時(shí)解密。并且so加入了反調(diào)試技術(shù)。

由于我學(xué)習(xí)安卓的so調(diào)試是從比賽前3天開始的,也就會(huì)一個(gè)最最基本的。無法對(duì)抗反調(diào)試,一度想放棄這題。不過后來發(fā)現(xiàn),這個(gè)反調(diào)試要到JNI_Onload函數(shù)退出后才觸發(fā)。所以在JNI_Onload入口處下斷點(diǎn),添加watch,在4450這個(gè)地址(就是wojiushidaan這個(gè)字符串保存的地方)。F8一直走,看到這個(gè)地址的內(nèi)容變化,就是答案了。

MSC-2015移動(dòng)安全挑戰(zhàn)賽 第二題

securityCheck函數(shù)有價(jià)值的就是while循環(huán),很明顯就是用戶輸入的字符串和628c這個(gè)間接應(yīng)用地址上的字符串比較。(實(shí)際地址在4450)

MSC-2015移動(dòng)安全挑戰(zhàn)賽 第二題

關(guān)鍵函數(shù),如果F7進(jìn)去,可以發(fā)現(xiàn)jolin解密后的代碼,這個(gè)函數(shù)用來解密出4450處的答案。

MSC-2015移動(dòng)安全挑戰(zhàn)賽 第二題

hex view窗口可以看到4450地址內(nèi)容的變化。

這題高手們有patch securityCheck函數(shù)的,利用__android_log_print輸出4450的內(nèi)容。(這個(gè)是我需要繼續(xù)學(xué)習(xí)的——patch so)

還有是允許后dump出so,4450的地方就是答案了。


能做出這個(gè)題目純屬運(yùn)氣,因?yàn)榉凑{(diào)試設(shè)置的要等到Onload退出才觸發(fā)異常,而so的解碼已經(jīng)在Onload里面完成了。只需要正確分析出securityCheck函數(shù)用于比較的字符串存放的地方。根本需要去關(guān)心解密函數(shù)是如何被解密出來的。


期待哪位大牛能詳細(xì)指點(diǎn)一下android的so里面所用到的反調(diào)試技術(shù)。

附件:http://down.51cto.com/data/2365374
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI