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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

通过一个例子介绍 IDA pro 的简单使用

發(fā)布時(shí)間:2024/7/23 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过一个例子介绍 IDA pro 的简单使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

From:通過(guò)一個(gè)例子介紹IDA pro的簡(jiǎn)單使用 - 知乎

IDA pro 7.6 綠色便攜版:http://www.ddooo.com/softdown/215615.htm

配置IDA使用Anaconda環(huán)境解決Please run idapyswitch to confirm or change the used Python runtime:https://www.pythonheidong.com/blog/article/1034670/2ecf46d7e5bc0c54991b/

通過(guò)一個(gè)簡(jiǎn)單的題來(lái)了解一下IDA的基本操作,題目是bugku的一個(gè)簡(jiǎn)單的逆向,Easy_re。

將題目下載下來(lái),發(fā)現(xiàn)是一個(gè)exe可執(zhí)行文件,先運(yùn)行一下看看

有一些字符串提示,讓你輸入一個(gè)字符串,提示輸入flag,隨便輸入幾個(gè)字符,看一下有什么提示。

然后開(kāi)始進(jìn)入分析階段,首先通過(guò)Detect It Easy這個(gè)軟件查看一下程序的基本信息。

這一步我們主要想看一下程序時(shí)32位還是64位的,通過(guò)上圖可以看到程序?qū)儆?2位程序。然后我們通過(guò)IDA對(duì)程序進(jìn)行分析,IDA是一個(gè)靜態(tài)反編譯軟件,用來(lái)靜態(tài)的分析軟件,我們?cè)?2位的IDA中打開(kāi)re1.exe(如果程序時(shí)64位的需要用64位的IDA打開(kāi)),他會(huì)彈出彈窗,這里不用管,一路點(diǎn)“是(或者ok)”就行了,然后界面如下。

一進(jìn)來(lái),最大的那片區(qū)域?yàn)榉磪R編窗口,左邊為函數(shù)窗口,在反匯編窗口按空格鍵,會(huì)在圖形視圖和列表視圖之間切換。然后分析程序一般先從字符串入手,打開(kāi)字符串窗口,View --> open subviews --> Strings,或者快捷鍵shift+F12。

程序中往往包含很多字符串資源,這些資源存在于PE文件的rdata段,可以看到運(yùn)行程序時(shí)出現(xiàn)過(guò)的“DUTCTF”字符串,雙擊它找到他的位置

可以看到aDutctf字符串周圍還有很多字符串,我們把它們都變成可顯示字符,結(jié)果如下,由于本題比較簡(jiǎn)單,所以直接出現(xiàn)了flag。

當(dāng)然,本文是為了介紹IDA的使用,所以我們繼續(xù)往下分析,找到關(guān)鍵的字符串后,在字符串的位置,按快捷鍵x,查看程序在哪里引用了它,比如這道題沒(méi)有給出flag,我們需要在提示信息處(也就是aDutctf的位置)按快捷鍵x,可以看到只有一處引用了它。

我們跟進(jìn)去看一下,找到了引用它的位置,這一步是為了找到程序的主要邏輯在哪,因?yàn)橛袝r(shí)候IDA可能分析不出函數(shù)名來(lái),你就沒(méi)辦法通過(guò)左邊的函數(shù)窗口定位程序的主要邏輯位置,也有可能程序的主要邏輯不在main函數(shù)里,在一個(gè)其他的函數(shù)里。

所以說(shuō),先運(yùn)行程序,找到程序運(yùn)行時(shí)出現(xiàn)的提示字符,然后定位提示字符出現(xiàn)的位置,用這樣的方法來(lái)找程序的主要邏輯比較靠譜一些。

找到了關(guān)鍵位置后,發(fā)現(xiàn)是一堆匯編代碼,看不懂怎么辦?IDA的強(qiáng)大之處還在于他可以將分析的程序以偽代碼的形式給出,快捷鍵為F5(不是所有程序都能以偽代碼的形式顯示,也不是所有函數(shù)都能以偽代碼的形式顯示,如果沒(méi)辦法顯示偽代碼,那只能剛匯編了),下一步就是分析程序的邏輯了,至于怎么分析,這里就不多贅述了。

在關(guān)閉IDA的時(shí)候他會(huì)提示你是否保存database,你可以選擇保存,下次用IDA打開(kāi)這個(gè)程序的時(shí)候可以加載這個(gè)數(shù)據(jù)庫(kù),里面保存了你上次的操作。

下面給出了一些常用的快捷鍵

參考:IDA Pro權(quán)威指南 (第2版)

加入極客方舟逆向新手群(365990646)

總結(jié)

以上是生活随笔為你收集整理的通过一个例子介绍 IDA pro 的简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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