當前位置:首頁 » 編程軟體 » dotnet反編譯

dotnet反編譯

發布時間: 2022-10-05 20:40:37

⑴ c#中的反編譯,誰能給詳細講講

有個軟體,好象叫reflector.

用Reflector for .NET反編譯dll文件(.net) ( 發表時間:2006-9-16 15:21:52 ) 樓主
Reflector for .NET 下載地址http://www.aisto.com/roeder/dotnet/

1.下載Reflector.FileDisassembler.zip,
Reflector.FileDisassembler.zip下載地址:
http://www.denisbauer.com/NETTools/FileDisassembler.aspx
解壓後得到一些文件,其中Reflector.FileDisassembler.dll是已經編譯好的,其它是它源碼
2.打開Reflector,在view菜單下的Add-Ins,將Reflector.FileDisassembler.dll添加到裡面;
3.open一個dll,exe,或mcl為後綴的文件,當然要支持.net的
4.選擇要反編譯的dll(會在列表中顯示),選擇Tools->File Disassembler,在右窗口會出現設置存放源碼位置的路徑,點擊產生就可以了!

⑵ 什麼軟體可以反編譯出C#編的EXE程序的源代碼

你可以用最強悍的IDA,但是Visual Studio(Windows SDK中)就自帶了一個反匯編工具叫「IL 反匯編程序」"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe"使用方法可以在網上搜搜

⑶ C#如何防止被別人反編譯

C# 編寫的代碼通過VS編譯器生成 dll 或 exe ,很容易被一些反編譯工具查看到源碼或對源碼進行修改。
為防止代碼被反編譯或被篡改,我們可以進行一定的防範措施。但不能杜絕,因為DotNet編寫代碼運行必須編譯成IL 中間語言,IL是很規則,同時也很好反編譯。

反編譯防範措施:

  • 設置項目代碼反匯編屬性

  • 混淆

  • 方法一:防止 Ildasm.exe(MSIL 反匯編程序) 反匯編程序集

    方法很簡單在項目文件AssemblyInfo.cs中增加SuppressIldasm屬性。

    效果很明顯,很難看出反編譯代碼所寫的真正邏輯。

    缺點:
    C#代碼通過混淆工具生成後,增加了很多轉換過程。這使得反編譯工具無法很直觀看到源碼真正邏輯。但源碼代碼過多轉換會使軟體本身運行效率降低,甚至會出現報錯情況。

⑷ dotnet protector 怎麼樣

dotNet Protector[1]是一款功能強大的NET代碼保護系統,具有強大的反混淆功能,可以對程序反復加密 dotNet Protector是一個功能強大的NET代碼保護系統,它可以防止程序集被反編譯。dotNet Protector使用的是一個新的主體混淆技術保護應用程序和組件。程序集不再需要合並到一個win32可執行文件中,但是會保留其net特性。dotNet Protector 採用一個命名混淆器結合一個主體混淆器來保護您的代碼。

dotNet Protector常用的保護方法
  • 混淆
    混淆主要是將原始程序集轉換為更復雜難懂的程序集。一些混淆器使用ILDASM拆解程序集並且操作被拆解的MSIL,然後使用ILASM重組程序集;另一些不通過ILDASM/ILASM而直接混淆,總之使程序集更復雜難懂。
    潛在風險:混淆是可逆的,通過一些工具比如PvLog Deobfuscator就可以對某些程序反混淆。
  • 加密加密通常分為兩步,第一步先將源程序集加殼,第二步就將被加密後的程序集整體封裝為一個可執行程序。然而,在運行時,應用程序會把程序集釋放到內存中,這些在內存中的程序集都是沒有被加密的。
    潛在風險:被一些工具比如Windbg 或 PvLog Sniffer直接從內存中提取出程序集

⑸ C#如何防止被別人反編譯

C#
編寫的代碼通過VS編譯器生成
dll

exe
,很容易被一些反編譯工具查看到源碼或對源碼進行修改。
為防止代碼被反編譯或被篡改,我們可以進行一定的防範措施。但不能杜絕,因為DotNet編寫代碼運行必須編譯成IL
中間語言,IL是很規則,同時也很好反編譯。
反編譯防範措施:
設置項目代碼反匯編屬性
混淆
方法一:防止
Ildasm.exe(MSIL
反匯編程序)
反匯編程序集
方法很簡單在項目文件AssemblyInfo.cs中增加SuppressIldasm屬性。
當項目中增加SuppressIldasm屬性後在使用ildasm.exe反編譯代碼,會提示:"受保護的模塊
--
無法進行反匯編"
ildasm.exe
讀取項目中包含
SuppressIldasm
屬性就不對此程序集進行反編譯。但ILSyp,Reflector等反編譯工具針對程序集設置SuppressIldasm屬性置之不理,一樣可以反編譯源碼。
缺點:
可見SuppressIldasm
屬性只針對ildasm.exe工具起效果,同時也能刪除ildasm.exe工具的此項限制。參考:《去掉ILDasm的SuppressIldasmAttribute限制》
方法二:混淆
混淆原理:將VS編譯出的文件(exe

dll)通過ildasm對文件進行重命名,字元串加密,移動等方式將原始代碼打亂。這種方式比較常見。
VS2013
自帶混淆工具:工具-->PreEmptive
Dotfuscator
and
Analytics
但VS2013自帶Dotfuscator
5.5
需購買激活才能使用全部功能。目前網路提供
DotfuscatorPro
4.9
破解版版本下載。
打開
DotfuscatorPro
4.9
主界面
Settings->Global
Options
全局配置
常用功能配置:Disable
String
Encryption=NO
啟用字元串加密
選擇需混淆C#編譯代碼(dll

exe)
其中Library不要勾選,否則有些類、變數等等不會混淆;
Rename
重命名配置
常用功能配置:
勾選
=
use
enhanced
overload
inction
使用增強模式
重命名方案
Renaming
Scheme
=
Unprintable
(不可列印字元,即亂碼),也可以選擇其他如小寫字母、大寫字元、數字的方式。
String
Encryption
字元串加密
勾選需要加密字元串文件(exe

dll)
可根據各自需求可進行其他相關配置。(如:control
flow,Output,Setting
->Build
Settings,Settings
-->
Project
Properties等)
最後生成混淆文件
Build
Project。
Build
Project
生成混淆項目錯誤:
Could
not
find
a
compatible
version
of
ildasm
to
run
on
assembly
C:Users***.exe.??This
assembly
was
originally
built
with
.NET
Framework
v4.0.30319.
Build
Error.
處理方法:
ILASM_v4.0.30319
=
C:WindowsMicrosoft.NETFrameworkv4.0.30319ilasm.exe
ILDASM_v4.0.30319
=
C:Program
Files
(x86)Microsoft
SDKsWindowsv8.1AinNETFX
4.5.1
Toolsildasm.exe
[安裝VS版本不同對應目錄會有所變化]
混淆代碼對比
未使用混淆工具,反編譯出的源碼:
使用混淆工具,反編譯出的源碼:
效果很明顯,很難看出反編譯代碼所寫的真正邏輯。
缺點:
C#代碼通過混淆工具生成後,增加了很多轉換過程。這使得反編譯工具無法很直觀看到源碼真正邏輯。但源碼代碼過多轉換會使軟體本身運行效率降低,甚至會出現報錯情況。

⑹ net il為什麼能反編譯出整個dll

to flashthunder(閃雷)
Reflector for .NET 下載地址:http://www.aisto.com/roeder/dotnet/

to gzheng23()
1.下載Reflector.FileDisassembler.zip,解壓後得到一些文件,其中Reflector.FileDisassembler.dll是已經編譯好的,其它是它源碼;
2.打開Reflector,在view菜單下的Add-Ins,將Reflector.FileDisassembler.dll添加到裡面;
3.open一個dll,exe,或mcl為後綴的文件,當然要支持.net的
4.選擇要反編譯的dll(會在列表中顯示),選擇Tools->File Disassembler,在右窗口會出現設置存放源碼位置的路徑,點擊產生就可以了!

⑺ 如何反編譯c#寫的dll文件

你去裝個 反編譯工具
可以把 C#寫的 dll 文件反編譯成 中間語言
推薦使用
Reflector 這個是微軟員工開發的一個反編譯軟體,,能針對各種語言生成的exe, dll進行反編譯、如果沒有經過特殊混淆。一般都能得到很精確的源碼。。支持各種語言,還可導出到文本。。
下載地址:
http://www.aisto.com/roeder/dotnet
http://reflector.red-gate.com/download.aspx?TreatAsUpdate=1

⑻ 引用DotNetBarcode.dll生成二維碼(有中文內容),解碼後中文為亂碼

DotNetBarcode是支持的日本字元啊,所以解出來是亂碼。

反編譯後,可以看到:
this.myFontName = "MS Pゴシック";

⑼ 如何抵擋.net自帶的ildasm的反編譯,如何保

C# 編寫的代碼通過VS編譯器生成 dll 或 exe ,很容易被一些反編譯工具查看到源碼或對源碼進行修改。為防止代碼被反編譯或被篡改,我們可以進行一定的防範措施。但不能杜絕,因為DotNet編寫代碼運行必須編譯成IL 中間語言,IL是很規則,同時也很好反編譯。

反編譯防範措施:

  • 設置項目代碼反匯編屬性

  • 混淆

  • 方法一:防止 Ildasm.exe(MSIL 反匯編程序) 反匯編程序集

    方法很簡單在項目文件AssemblyInfo.cs中增加SuppressIldasm屬性。

    效果很明顯,很難看出反編譯代碼所寫的真正邏輯。

    缺點:C#代碼通過混淆工具生成後,增加了很多轉換過程。這使得反編譯工具無法很直觀看到源碼真正邏輯。但源碼代碼過多轉換會使軟體本身運行效率降低,甚至會出現報錯情況。

⑽ winform 引用DotNetBarcode.dll生成二維碼(有中文內容),解碼後中文為亂碼

我反編譯看了下DotNetBarcode庫,發現他裡面獲取位元組是硬編碼的Shift_JIS 編碼,不支持中文。如果非要用他,那就需要修改他的代碼重新編譯下。

另外網上找到的很多二維碼生成開源庫,比如qrcode,都不支持中文,需要自行改動代碼為utf8

熱點內容
vs2019在linux下編譯工程 發布:2022-12-09 01:26:45 瀏覽:759
夢幻西遊手游清理緩存 發布:2022-12-09 01:24:00 瀏覽:588
數據釣魚源碼 發布:2022-12-09 01:23:16 瀏覽:880
我的世界電腦版伺服器怎麼輸入密碼 發布:2022-12-09 01:23:06 瀏覽:684
php服務端ip 發布:2022-12-09 01:23:05 瀏覽:674
列印機的緩存對速度有影響嗎 發布:2022-12-09 01:22:23 瀏覽:211
行屍走肉伺服器ip 發布:2022-12-09 01:16:24 瀏覽:181
阿里雲ds伺服器 發布:2022-12-09 01:16:20 瀏覽:772
java資料庫遷移 發布:2022-12-09 01:10:07 瀏覽:788
錢包密鑰存儲 發布:2022-12-09 01:10:01 瀏覽:602