日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

ida导入jni头文件_IDA动态调试无法导入JNI文件的解决办法

發(fā)布時(shí)間:2024/7/23 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ida导入jni头文件_IDA动态调试无法导入JNI文件的解决办法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言:學(xué)習(xí)過程中遇到了,特此記錄一下。

樣本app鏈接在這里:

https://pan.baidu.com/s/1pVLBBuBKRzDzHlBClrBA2A?提取碼:?9tz8

它是 2015年阿里的一個(gè)反調(diào)試app,我是參考這篇文章來過反調(diào)試的:

https://blog.csdn.net/Viewz/article/details/97757862

這不是重點(diǎn),樣本里的app是修改過后的,原始的可以在文章中獲取。

過反調(diào)試后就很簡(jiǎn)單了,輸入密碼,與它內(nèi)置的密碼一致就成功了。

靜態(tài)分析如果不提前知道密碼的話,會(huì)感覺毛都沒有,只有動(dòng)態(tài)調(diào)試了。

怎么開啟動(dòng)態(tài)調(diào)試請(qǐng)參考上一篇文章,我這就直接來到這里了。

雙擊進(jìn)入這個(gè)函數(shù),并按下F5:

然后 按下 CTRL + F9,導(dǎo)入JNI.h文件:

提示這個(gè)錯(cuò)誤,那就按照它提示的來:

彈出框,繼續(xù)進(jìn)行選擇,點(diǎn)擊OK即可:

這時(shí),我們?cè)俅?按下 CTRL + F9,導(dǎo)入JNI.h文件:

然后,就報(bào)了20個(gè)錯(cuò)誤,這種錯(cuò)誤,小白的我也不知道怎么解決啊。

這時(shí)的我有三種選擇,

一. 更新IDA Pro版本,我現(xiàn)在的版本是 6.8的,說不定換成 IDA Pro 7.0就不會(huì)報(bào)錯(cuò)了。

二. 谷歌該問題或者請(qǐng)教大佬,遇到報(bào)錯(cuò)改怎么解決,不過可能找不到答案或者大佬沒遇見過,就尷尬了。

三. 自己摸索解決。搗鼓幾下,說不定就不報(bào)錯(cuò)了。

我這里選擇了第三種方法,竟然OK了,操作如下:

1.選擇 View --> Open subviews --> Type libraries

2.彈出 warning,點(diǎn)擊OK即可。

3.單擊右鍵,選擇 Load type library

4.選擇第一個(gè),單擊OK:

5.再次 按下 CTRL + F9,導(dǎo)入JNI.h文件:

發(fā)現(xiàn)竟然成功了。

切換偽C代碼,如圖分析:

圖中紅色框上面是干嘛的我不清楚,因?yàn)樗鼪]有返回或者exit程序的代碼,可以不用去關(guān)心吧。將鼠標(biāo)移動(dòng)并點(diǎn)擊 while,并按下 Tab鍵,來到匯編代碼處:

設(shè)置斷點(diǎn),并按下F9,手機(jī)app輸入 1234567890:

點(diǎn)擊輸入密碼后,發(fā)現(xiàn)IDA停在了斷點(diǎn)處:

因?yàn)橄旅嬗袀€(gè)cmp指令,所以看看 R2寄存器的值,它是一個(gè)內(nèi)存地址,在內(nèi)存中查看它的值:

是這樣的一串字符串,再看看R0寄存器的值所在地址的值:

這里就是剛才輸入的 “1234567890”了。這就比較清楚了,通過輸入的字符串與這個(gè)內(nèi)置的字符串進(jìn)行比較,相同就表示成功了,不同則失敗。

它這里沒有調(diào)用 庫(kù)函數(shù) strcmp,而是通過單個(gè)字符的比較判斷,因此沒法爆破(當(dāng)然也可以修改返回值進(jìn)行爆破):

按下F8兩次后,R1和R3的內(nèi)容:

"1"字符的ASCI值是 0x31,"a"字符的ASCI值是 0x61,確實(shí)是單個(gè)字符全部進(jìn)行比較的。按下Tab鍵,可以看到 偽C代碼窗口:

動(dòng)態(tài)調(diào)試時(shí),可以通過修改 R1的值與R3一致,可以看到成功后的窗口:

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的ida导入jni头文件_IDA动态调试无法导入JNI文件的解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。