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