給出以下:如何通過C++代碼低級別調試COM DLL(Firefox插件)方法而無需調試信息?
- 一些舊Firefox插件的32位DLL代碼文件(即其他類型庫,XSD和XSL條目中含有DLL),沒有源代碼或調試信息,最初編碼在C++和與Visual Studio編譯,
- 的名稱和一個導出的功能/方法的參數在該DLL(Firefox的插件的功能,在JS代碼accessable),
- 的Visual Studio社區2013在Windows 7, 運行
- C++開發經驗,但不適用於COM或Firefox,
- 經驗與調試英特爾彙編代碼,
- 代碼許可證,不禁止拆卸DLL,
我想這樣做:加載DLL到一些C++代碼,並在CPU層面步入函數的代碼來找出它究竟做了什麼。
你能給我一些關於從哪裏開始以及如何做到這一點的提示嗎?我想這個DLL可能需要一些Firefox特定的初始化,然後才能調用我想要調試的函數。這可以通過Firefox SDK來完成嗎?沒有DLL的源代碼和調試信息?或者我可以成功地「裸體」加載DLL,找到 - 相當簡單的函數的入口點(如何?)並調用它?
感謝您的任何提示。
沒有源代碼將有限制,如果您調試dll文件只是用PDB文件,即使你也可以得到一些調試信息:https://www.codeproject.com/questions/287477/debug-the-reference-dll-without-source -code-in-sol和https://msdn.microsoft.com/en-us/library/ms241613.aspx?f=255&MSPPError=-2147217396 –
有沒有更新?您能否讓我知道關於這個問題的最新信息? –
正如我上面所寫,沒有可用於DLL的調試信息(例如PDB文件)。只是從DLL直接導出的符號表等。 – following