2012-04-27 21 views
6

我發現在舊的第三方組件的一些缺陷,我們正在使用我們的代碼decompilind他們。我想修復它們,但由於我沒有源代碼,我需要直接修改字節碼。這些更改非常簡單(爲OR更改AND和NOPing某些行)。是否有任何IL編輯器來更改程序集的字節碼?

是否有一個編輯器做這樣的事情?做一個十六進制編輯器的工作將是最後一個選項,我會preffer有一些指示,我有什麼指示周圍的光標...

回答

4

我想你在找什麼是.NET ReflectorReflexil附加。看看截圖,它非常強大,它可以在運行時修改IL代碼。反射器曾經是免費的,你可能會在某個地方得到一些舊版本。

+0

令人驚歎!這就是我一直在尋找的。看起來令人驚異,我有一箇舊的副本仍在工作。謝謝! – 2012-04-27 14:03:10

3

我假設程序集沒有強命名,否則沒有什麼可以沒有簽名密鑰。

如果沒有,這聽起來像Ildasm會爲你工作。您可以反編譯程序集,執行修改並使用Ilasm再次進行組裝。

另一個免費選項可能是Telerik的JustDecompile,其中「可以從反編譯的程序集創建Visual Studio項目。」 - 我還沒有使用它,但這聽起來像它反編譯來源並創建一個準備建立的項目。這將會非常方便,因爲你甚至不需要使用IL。

+1

不是。它不允許你編輯字節碼。我需要編輯字節碼。建立整個組件不是一種選擇。 – 2012-04-27 10:45:35

+0

爲什麼這不是一個選項? – Iridium 2012-04-27 11:59:53

+0

因爲整個代碼爲「來源混淆」,並沒有真正的高努力,因爲反編譯從未創建可以無需再次奉獻時間的高量到任務編譯的代碼不能被編譯。 – 2012-04-27 14:01:52

相關問題