IDA 是另一款功能強(qiáng)大的商業(yè)版反匯編工具,適用于靜態(tài)分析和動(dòng)態(tài)分析,而且支持多平臺(tái)。
![2.JPG](https://i.loli.net/2017/12/22/5a3cb96ecba37.jpg)
基于其 SDK 開(kāi)發(fā)的插件有很多,這些插件能給分析工作帶來(lái)極大的便利,下述是常見(jiàn)插件的列表:
[https://www.hex-rays.com/contests/](https://www.hex-rays.com/contests/)
[https://github.com/topics/ida-plugin](https://github.com/topics/ida-plugin)
[https://github.com/onethawt/idaplugins-list](https://github.com/onethawt/idaplugins-list)
我們知道,對(duì)剛修復(fù)的漏洞,具體細(xì)節(jié)不會(huì)很快公布,如果我們想對(duì)此進(jìn)行深入研究,則往往需要借助補(bǔ)丁比對(duì)的方法來(lái)定位程序中的漏洞點(diǎn)。拿閉源的 Windows 系統(tǒng)來(lái)說(shuō),也就是比對(duì)二進(jìn)制文件,而通過(guò) IDA 插件能方便的完成這部分工作。
首先我們需要獲取補(bǔ)丁前后的文件,這里給出的例子是不同版本`kernel32.dll`文件的比對(duì)。其中`pdb`文件可由符號(hào)服務(wù)器得到,將其放在待分析文件的同目錄下就可以了,IDA 會(huì)有相應(yīng)的提示,`pdb`文件能給之后的分析工作帶來(lái)幫助:
![3.JPG](https://i.loli.net/2017/12/22/5a3cc4690e73e.jpg)
用于補(bǔ)丁比對(duì)的 IDA 插件有多個(gè),我們選用的是`BinDiff`,對(duì)那些存在變化的函數(shù),可得到類(lèi)似如下的比對(duì)圖:
![5.JPG](https://i.loli.net/2017/12/22/5a3cc64aa4405.jpg)
漏洞點(diǎn)定位一般還是有難度的,特別是對(duì)改動(dòng)比較大的版本,這時(shí)可能需要借助一些過(guò)濾的技巧,再配合上耐心。
IDA 中還有很多實(shí)用的插件有待我們發(fā)現(xiàn),當(dāng)然,能自行開(kāi)發(fā)就更好了。