導航:首頁 > 源碼編譯 > net反編譯又回來了

net反編譯又回來了

發布時間:2022-07-21 15:36:46

❶ NET 反編譯能夠完全還原整個工程嗎

你在你的Solution中新建一個工程,然後把a.cs,b.cs,c.cs添加到這個工程裡面(我建議你新建類,然後把類的代碼Copy過去,這樣即使命名空間不同也不會造成混亂)
然後再你引用的工程里AddReference->Project->你新建的這個工程,就可以調用了.
這樣如果你需要修改的話直接在IDE里修改,可以實時看到效果

❷ c#.net 反編譯出來如圖 麻煩幫我看一下 謝謝謝

.resources是嵌入程序的資源 轉成.resx就可以直接導入項目
網路 'resource 轉 resx 工具' 就有了

❸ 反編譯修改dll文件後重新.net重新生成dll文件

reflector沒有那麼強大的功能,想修改dll並重新生成,只有一個辦法,自己新建一個項目,比著dll文件里的命名空間和類,建好對應的類,然後修改、編譯。其實reflector也是用.net的反射功能,猜測代碼,反編出的代碼,不保證100%正確。修改的時候,遇到一些錯誤,大膽的改就是了。

❹ .net網頁發布後進行反編譯

.Net有兩個很好的工具可以反編譯.NET程序集:Salamander .Net Decomplier和Reflector.Net ,Salamander .Net Decomplier功能非常強大,可以反編譯混淆過的.NE代碼,也可以直接將程序集中的類反編譯成一個文件,但是它是需要money的,試用版提供的功能又非常有限。相對而言呢,Reflector.net 是完全免費的,但是它只能一個方法一個方法的查看,不能將程序集直接反編譯成一個文件,這樣也比較麻煩,好就好在它支持插件add-in功能。針對它的缺點,很多人開發了很好用的插件,可以將整個程序集的代碼反編譯成源文件,比如說Reflector.FileDisassembler 、Reflector.FileGenerator 都是很好用的。

另外再提供一些Reflector的相關插件下載,enjoy!!!!

插件FileGenerator 使用方法:
最開始下載了FileGenerator插件不知如何使用,後來經過摸索,還是學會使用了,所以拿來和大家分享。

FileGenerator插件的作用是:根據dll文件,把裡面的源文件導出成文件,導出來的文件除了沒有注釋,變數名也變了,其它的可謂是沒有 差別。對於一些比較好的控制項,如果不是開源的,完全可以導出成文件,然後自己加上注釋,少許修改,很好的利用起來。(不開源的dll,用起來也不放心啊)

先根據上面的地址下載FileGenerator並解壓縮,然後運行Reflector.exe,然後點擊View->Add- Ins...,彈出一個窗口,然後點擊Add->選擇FileGenerator裡面的唯一一個dll文件: "FileGenerator.dll",點擊close.
然後回到Reflector窗口,Tool->Generator File(s)... 右邊就出現了插件的窗口,選中左邊的dll文件,點擊右邊的導出文件,源代碼就全部導出來了,真是爽啊!

使用.NET Reflector插件FileDisassembler還原源碼

.NET Reflector,它是一個類瀏覽器和反編譯器,可以分析程序集並向您展示它的所有秘密。.NET 框架向全世界引入了可用來分析任何基於 .NET 的代碼(無論它是單個類還是完整的程序集)的反射概念。反射還可以用來檢索有關特定程序集中包含的各種類、方法和屬性的信息。使用 .NET Reflector,您可以瀏覽程序集的類和方法,可以分析由這些類和方法生成的 Microsoft 中間語言 (MSIL),並且可以反編譯這些類和方法並查看 C# 或 Visual Basic ?.NET 中的等價類和方法。

為了演示 .NET Reflector 的工作方式,我將載入和分析前面已經顯示的 NUnitExample 程序集。下圖顯示了 .NET Reflector 中載入的該程序集。

在 .NET Reflector 內部,有各種可用來進一步分析該程序集的工具。要查看構成某個方法的 MSIL,請單擊該方法並從菜單中選擇 Disassembler。

除了能夠查看 MSIL 以外,您還可以通過選擇 Tools 菜單下的 Decompiler 來查看該方法的 C# 形式。通過在 Languages 菜單下更改您的選擇,您還可以查看該方法被反編譯到 Visual Basic .NET 或 Delphi 以後的形式。以下為 .NET Reflector 生成的代碼:

public void HashtableAddTest(){
Hashtable hashtable1;
hashtable1 = new Hashtable();
hashtable1.Add("Key1", "value1");
hashtable1.Add("Key2", "value2");
Assert.AreEqual("value1", hashtable1["Key1"], "Wrong object returned!");
Assert.AreEqual("value2", hashtable1["Key2"], "Wrong object returned!");
}

前面的代碼看起來非常像我為該方法實際編寫的代碼。以下為該程序集中的實際代碼:

public void HashtableAddTest(){
Hashtable ht = new Hashtable();
ht.Add("Key1", "value1");
ht.Add("Key2", "value2");
Assert.AreEqual("value1", ht["Key1"], "Wrong object returned!");
Assert.AreEqual("value2", ht["Key2"], "Wrong object returned!");
}

盡管上述代碼中存在一些小的差異,但它們在功能上是完全相同的。

雖然該示例是一種顯示實際代碼與反編譯代碼之間對比的好方法,但在我看來,它並不代表 .NET Reflector 所具有的最佳用途 — 分析 .NET 框架程序集和方法。.NET 框架提供了許多執行類似操作的不同方法。例如,如果您需要從 XML 中讀取一組數據,則存在多種使用 XmlDocument、XPathNavigator 或 XmlReader 完成該工作的不同方法。通過使用 .NET Reflector,您可以查看 Microsoft 在編寫數據集的 ReadXml 方法時使用了什麼,或者查看他們在從配置文件讀取數據時做了哪些工作。.NET Reflector 還是一個了解以下最佳實施策略的優秀方法:創建諸如 HttpHandlers 或配置處理程序之類的對象,因為您可以了解到 Microsoft 工作組實際上是如何在框架中生成這些對象的。

.NET Reflector 由 Lutz Roeder 編寫

❺ 如何反編譯NET的dll文件

在Windows中,許多應用程序並不是一個完整的可執行文件,它們被分割成一些相對獨立的動態鏈接庫,即DLL文件,放置於系統中。當我們執行某一個程序時,相應的DLL文件就會被調用。一個應用程序可有多個DLL文件,一個DLL文件也可能被幾個應用程序所共用,這樣的DLL文件被稱為共享DLL文件。DLL文件一般被存放在C:\Windows\System目錄下。 1、如何了解某應用程序使用哪些DLL文件 右鍵單擊該應用程序並選擇快捷菜單中的「快速查看」命令,在隨後出現的「快速查看」窗口的「引入表」一欄中你將看到其使用DLL文件的情況。 2、如何知道DLL文件被幾個程序使用 運行Regedit,進入HKEY_LOCAL_MACHINE\Software\Microsrft\Windows\Current-Version\SharedDlls子鍵查看,其右邊窗口中就顯示了所有DLL文件及其相關數據,其中數據右邊小括弧內的數字就說明了被幾個程序使用,(2)表示被兩個程序使用,(0)則表示無程序使用,可以將其刪除。 3、如何解決DLL文件丟失的情況 有時在卸載文件時會提醒你刪除某個DLL文件可能會影響其他應用程序的運行。所以當你卸載軟體時,就有可能誤刪共享的DLL文件。一旦出現了丟失DLL文件的情況,如果你能確定其名稱,可以在Sysbckup(系統備份文件夾)中找到該DLL文件,將其復制到System文件夾中。如果這樣不行,在電腦啟動時又總是出現「***dll文件丟失……」的提示框,你可以在「開始/運行」中運行Msconfig,進入系統配置實用程序對話框以後,單擊選擇「System.ini」標簽,找出提示丟失的DLL文件,使其不被選中,這樣開機時就不會出現錯誤提示了。反編譯修改dll文件後重新.net重新生成dll文件更多

❻ .Net Reflector反編譯工具如何將注釋顯示出來

顯示不出來,編譯的時候去掉了。只有查看源代碼或者用VS等引用類庫才能看到。

❼ ASP.NET反編譯問題

不知道你是怎麼反編譯的,我得到的結果和你是完全不一樣的。

首先ValidateUser是靜態方法,又何來虛方法一說呢?其次反編譯的到的代碼如下:

publicstaticboolValidateUser(stringusername,stringpassword)
{
returnProvider.ValidateUser(username,password);
}

Provider是Membership中的一個靜態屬性。類型為MembershipProvider,該類型為抽象類,定義了Membership中的所有數據操作方法,針對不同的資料庫類型需要實現相應的MembershipProvider,通過config文件將具體實現類注入到Membership類中。

.net中有針對SqlServer的SqlMembershipProvider默認實現。完全是.net實現,與C一點關系都沒有。

❽ .net中反編譯過後代碼怎麼組合(c#)

[CompilerGenerated] 這個標志已經告訴你這個是編譯器生成的了,常規情況下你可以去掉這段代碼並重試。

反編譯過來的代碼通常是無法直接編譯的,需要你自己改寫

❾ .net如何防反編譯

.net是中間語言十分容易被反編譯,通常都使用混淆作為一種加密手段。不過混淆不是真正防反編譯,只不過反編譯後代碼難讀懂而已,並且現在破解混淆的方式也比較多。所以真正要防反編譯還是需要通過加密代碼的方式。比如德國威步他們提供一種對.NET代碼完全加密保護的方式來防止反編譯的,曾經測試過用Reflector(.net反編譯工具)反編譯他們加密軟體加密的.NET程序,的確完全無法看到源代碼了。

❿ net反編譯後發現代碼混淆了,求助

混淆的很少有反混淆的,混淆就是把原來自己設置的有含義或無含義的屬性方法修改成隨機的,他又不明白人的意思,反混淆跟混淆差不多,就是反混淆產生的欄位簡單點。你查找替換下不就行了

閱讀全文

與net反編譯又回來了相關的資料

熱點內容
nc編程軟體下載 瀏覽:382
如何限制手機app的使用 瀏覽:307
安卓華為手機怎麼恢復桌面圖標 瀏覽:956
我的世界電腦版伺服器地址在哪找 瀏覽:533
違抗了命令 瀏覽:256
安卓如何實現拖拽放置 瀏覽:91
凈資產收益率選股指標源碼 瀏覽:599
血壓力感測器計算公式單片機 瀏覽:466
全網介面vip影視解析源碼 瀏覽:916
如何破解伺服器遠程密碼錯誤 瀏覽:377
平安深圳app如何實名認證 瀏覽:500
linux網路監控軟體 瀏覽:889
內網伺服器如何上傳文件 瀏覽:140
程序員在你心中是什麼 瀏覽:1
蘋果手機怎麼找回app賬號 瀏覽:466
房屋中介網站源碼 瀏覽:29
命運格數演算法 瀏覽:852
ets3編程 瀏覽:730
怎麼製作音樂相冊的文件夾 瀏覽:566
寧夏重加密硅灰用法 瀏覽:231