如何反編譯C#等net軟體類庫原始碼??

.Net 反編譯軟體,最著名的是 Reflector。但是最新版本收費現在開啟Reflector的老版本要求強制更新到最新版本。所以,你一下在開啟refector 會自動刪除。那麼大家可以使用 ILSpy。使用ILspy。可以檢視未加密和加殼的開發語言原始碼。網上有人評論說 ILSPY 只能支援.NET 2.0程式版本。但是,我測試是可以支援.3.5。4.0沒有測試。

通過ILSPY 可以開啟.NET 的exe和DLL等程式集。下面介紹一下:

ILSPY 大家可以直接下載。下面演示一下如何使用:

【如果經過加密或是加殼,程式碼不能直接看到!!!

下面假設的是 .NET 軟體或是類庫沒有進行加密加殼或是強度混淆


工具/原料

ILSPY

.NET EXE程式一枚

方法/步驟

下載後的ILSPY 。

開啟EXE

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

然後會在最下面出現開啟的exe。

結構如下圖:類---方法。

點選方法後,會在右面出現,方法的具體程式碼。

ILspy很強大,甚至方法的引數都和原始碼相同,只是方法裡面的引數名字會自動生成。

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

那麼,如何儲存反編譯的原始碼?

整體儲存原始碼,可以點選你的反編譯的程式。如圖

選擇程式集或是裡面的類或是方法後。點選File->savecode。

如果是匯出exe全部,會生成一個類庫。儲存類庫即可。

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

那麼如何執行編譯反編譯的原始碼?

重新建立一個對應的專案(反編譯原始碼是winform就建立一個winform程式。)

在解決方案上 新增------->現有項。然後刪除新建立的空的winform程式碼。保留剛才新增進來的原始碼。如圖所示:

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

然後直接點選執行...直接可以執行軟體了。

反編譯後的軟體,直接生產了類,大家可以根據需要修改。

如何反編譯C#等net軟體類庫原始碼?

等net軟體類庫原始碼?#

畢竟.NET 和JAVA 屬於中間語言,很好反編譯。那麼如何保護自己的程式碼安全?防止別人反編譯或是檢視自己的原始碼呢,下面的經驗中將進行介紹:如何給程式碼加殼...

注意事項

反編譯後,有些語句是軟體生成!如果出現錯誤,需要細心進行除錯

相關問題答案