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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

前言:學習過程中遇到了,特此記錄一下。

樣本app鏈接在這里:

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

它是 2015年阿里的一個反調試app,我是參考這篇文章來過反調試的:

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

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

過反調試后就很簡單了,輸入密碼,與它內置的密碼一致就成功了。

靜態分析如果不提前知道密碼的話,會感覺毛都沒有,只有動態調試了。

怎么開啟動態調試請參考上一篇文章,我這就直接來到這里了。

雙擊進入這個函數,并按下F5:

然后 按下 CTRL + F9,導入JNI.h文件:

提示這個錯誤,那就按照它提示的來:

彈出框,繼續進行選擇,點擊OK即可:

這時,我們再次 按下 CTRL + F9,導入JNI.h文件:

然后,就報了20個錯誤,這種錯誤,小白的我也不知道怎么解決啊。

這時的我有三種選擇,

一. 更新IDA Pro版本,我現在的版本是 6.8的,說不定換成 IDA Pro 7.0就不會報錯了。

二. 谷歌該問題或者請教大佬,遇到報錯改怎么解決,不過可能找不到答案或者大佬沒遇見過,就尷尬了。

三. 自己摸索解決。搗鼓幾下,說不定就不報錯了。

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

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

2.彈出 warning,點擊OK即可。

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

4.選擇第一個,單擊OK:

5.再次 按下 CTRL + F9,導入JNI.h文件:

發現竟然成功了。

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

圖中紅色框上面是干嘛的我不清楚,因為它沒有返回或者exit程序的代碼,可以不用去關心吧。將鼠標移動并點擊 while,并按下 Tab鍵,來到匯編代碼處:

設置斷點,并按下F9,手機app輸入 1234567890:

點擊輸入密碼后,發現IDA停在了斷點處:

因為下面有個cmp指令,所以看看 R2寄存器的值,它是一個內存地址,在內存中查看它的值:

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

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

它這里沒有調用 庫函數 strcmp,而是通過單個字符的比較判斷,因此沒法爆破(當然也可以修改返回值進行爆破):

按下F8兩次后,R1和R3的內容:

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

動態調試時,可以通過修改 R1的值與R3一致,可以看到成功后的窗口:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。