netdll反編譯
A. ASP.NET如何把dll文件反編譯成.aspx.cs文件
你在你的Solution中新建一個工程,然後把a.cs,b.cs,c.cs添加到這個工程裡面(我建議你新建類,然後把類的代碼Copy過去,這樣即使命名空間不同也不會造成混亂)
然後再你引用的工程里AddReference->Project->你新建的這個工程,就可以調用了.
這樣如果你需要修改的話直接在IDE里修改,可以實時看到效果
B. net dll 混餚後怎麼反編譯出C#代碼
混淆的目的本來就是要加密源代碼,增加反編譯閱讀的難度。
你反編譯出來的代碼,雖然可能能夠編譯通過。但是面對一些小學生式的命名及雜亂的方法和類的調用,修改的難度是比較大的。 這本來就是混淆代碼的目的。
C. .net 寫的程序的DLL如何才能真正的無法反編譯
先用混淆器混淆,然後用加殼軟體加殼
沒有什麼能做到真正的無法反編譯,你所做的只能是增加反編譯工作量和難度,迫使別人放棄,哈哈
D. 如何反編譯ASP.net網站打包後的dll,然後整合生成的cs文件
你用什麼反編譯?如果是Reflector或ILSpy,應該會創建一個Csproj文件,用VisualStudio可以打開這個項目,然後編譯就ok了
E. .NET 編譯出來的DLL文件,如何才能不被反編譯
1.有那種代碼混亂器,其實也就是改改類名字等,常用的有
DotFuscator, .NET Reactor, xenocode 。。。你可以自己搜索下載了
2.當代碼量很大的時候,反編譯去讀MSIL的代碼也是很辛苦的,工程量很大
3.一般.net寫的程序都是基於web的,放在伺服器上,WebService,所以盜版破解也顯得不是那麼有意義了。。。
友情提醒:事先備份好你的代碼!
F. 請高手指點C#NET怎麼修改DLL文件
dll文件是改不了的。
比如寫一個類庫 Hello
裡面有一個類 Class1
類中有一個方法 public string HelloWorld(string str)
這個方法返回 "Hello " + str
你生成之後,這個類庫項目就會成一個 Hello.dll
你就可以引用這個dll,調用的時候,也可以調用 HelloWorld方法,
但是你是改不了裡面的任何代碼的。
因為dll只是你寫的這個類庫最終生成的文件,其他的東西都沒有, 能看到的就是一個介面,一個返回類型。源代碼是沒有的。
C#可以使用反編譯程序來進行反編譯,相當於逆向編譯出源代碼, 但是很不穩定,而且錯誤率比較高,越復雜的dll ,反編譯出來越容易有問題。
所以除非萬不得已,一般DLL都是不會去反編譯再修改的。
G. .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 編寫
H. 如何對.net的dll文件進行反編譯
A、去下個XX.dll,下好後打開系統盤,找到windows文件夾,打開後找到system32打開,把XX.dlll放進去。這個DLL上網路一下就有得下的了。
B、打開騰訊電腦管家的電腦診所之後,搜缺失的dll文件,會自動出來,點立即修復。重啟電腦後就可以了。
I. 反編譯修改dll文件後重新.net重新生成dll文件
反編譯之前要先檢查文件是否被混淆加密了,如果沒有那就要恭喜你了。
使用reflector反編譯dll源文件一定要安裝FileGenerator的插件,安裝好後就可以然後直接生成vs2005的工程了,然後用vs2005打開工程,修改反編譯代碼中異常的代碼,加入編譯環境所需的dll動態庫,編譯即可。
---------------------------------------------------------------------------------------------------------------
舉例來說:
1、比如inforeader.get_item("name").ToString(),其實應該是inforeader.["name"].ToString(),沒辦法,手工改吧
2、還有,他還會報方法參數問題的錯誤,比如aa.Compare("helloworld","d",5),在5的未知顯示參數錯誤,原來是本身這個位置的參數是一個枚舉類型,反編譯不知什麼原因變成了第五個,於是改成枚舉StringComparison.OrdinalIgnoreCase
3、。。。。。。
------------------------------
如有需要可與本人聯系。