2009-01-28 65 views
6

我正在考慮在運行時檢查對象的工具,主要用於逆向工程,我想知道是否存在這樣的事情。有沒有一種工具可以在運行過程中檢查.NET對象?

我想到的方式是你有兩個視圖,一個對象圖和一個班級列表。從班級列表中,您可以選擇班級並查看班級的實例,無論是在列表中還是在圖形中。在圖中,您可以看到對象之間的連接,並進行了適當的註釋。哈希表中的鍵可以是哈希表對象和值之間的邊上的標籤。

您也可以拉起對象屬性列表並查看/處理裏面的值。在.NET中提供的元數據將使這相當微不足道。

有誰知道可以做到這一點的工具?它似乎是一個非常有用的調試和逆向工程工具。

編輯另外,另一個有用的功能是在查看二進制文件時設置名稱映射的功能。也就是說,如果你有一個混淆的二進制文件,你將能夠交換混淆名稱的佔位符或真實姓名。這不會影響實際的二進制,只是檢查員中的視圖。

編輯第2部分:該工具應該能夠在Vista和XP上運行,並支持x64。

回答

1

如果你有一個正在運行的進程,那麼你的機器上就有二進制文件。

您可以在Reflector中加載這個二進制文件。

或者如果您安裝了Visual Studio,則可以將Visual Studio Debugger附加到正在運行的進程。

+0

反射器進行調試沒有真正的支持(它有一個調試器插件,但它也沒用)和VS調試器,通過在這個過程中的所有對象挖的支持非常有限。謝謝,不過。 – 2009-01-28 00:41:19

1

有一個程序叫做Hawkeye它可以讓你看看.NET應用程序中的UI元素。

我還發現一個程序.NET Component Inspector我不知道它有多好(現在試一試)。

+0

這似乎只允許您查看GUI元素 - 我誤解了嗎? – 2009-01-28 00:40:30

+0

是的,我對此表示歉意:( – 2009-01-28 00:43:09

+0

無論如何,很高興看到人們至少在做這件事 - 讓我希望整個工具存在:) – 2009-01-28 00:44:25

1

您可以隨時從相關應用程序中獲取小型轉儲文件,並使用WinDBG和SOS進行檢查。

相關問題