2012-10-29 30 views
3

任何人都知道如何做到這一點?IDAPro將C++頭文件加載到IDAPro中對於結構

使用文件>加載C頭文件失敗 錯誤代碼太多。

+1

IDA只理解C而不是C++。在幫助文件中:*「IDA讀取和解析指定的頭文件,就像C編譯器所做的那樣,換句話說,它模仿C編譯器的前端,但有一些限制:C++頭文件不被支持。可以做的是創建等效的C頭文件並導入它們。 – DCoder

回答

1

在C++標準庫中,有太多依賴於編譯器的宏,IDA不理解。由於許多原始數據類型(如uint32_t等)已被IDA識別,因此您可以僅複製和粘貼所需的結構聲明。

可以在編譯器設置屏幕中定義所有與編譯器相關的宏,但這是一個非常繁瑣的過程。

+0

噢,謝謝!非常好的迴應,但我注意到,如果我僅僅採用結構定義,如果一個結構使用另一個結構,因爲它是memeber的數據類型,我必須保持聲明的正確順序,是否有避免安排先來的推動所有這些是? – atigertest

+0

@atigertest應該有一點您不需要詳細瞭解嵌套結構的成員數據類型。此時,你可以將它們定義爲「void *」或者放置一個合理大小的字符數組,例如char * dummy [50]' – JosephH