IDA 是另一款功能強(qiáng)大的商業(yè)版反匯編工具,適用于靜態(tài)分析和動(dòng)態(tài)分析,而且支持多平臺(tái)。

基于其 SDK 開發(fā)的插件有很多,這些插件能給分析工作帶來極大的便利,下述是常見插件的列表:
[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ì)的方法來定位程序中的漏洞點(diǎn)。拿閉源的 Windows 系統(tǒng)來說,也就是比對(duì)二進(jìn)制文件,而通過 IDA 插件能方便的完成這部分工作。
首先我們需要獲取補(bǔ)丁前后的文件,這里給出的例子是不同版本`kernel32.dll`文件的比對(duì)。其中`pdb`文件可由符號(hào)服務(wù)器得到,將其放在待分析文件的同目錄下就可以了,IDA 會(huì)有相應(yīng)的提示,`pdb`文件能給之后的分析工作帶來幫助:

用于補(bǔ)丁比對(duì)的 IDA 插件有多個(gè),我們選用的是`BinDiff`,對(duì)那些存在變化的函數(shù),可得到類似如下的比對(duì)圖:

漏洞點(diǎn)定位一般還是有難度的,特別是對(duì)改動(dòng)比較大的版本,這時(shí)可能需要借助一些過濾的技巧,再配合上耐心。
IDA 中還有很多實(shí)用的插件有待我們發(fā)現(xiàn),當(dāng)然,能自行開發(fā)就更好了。