.Net軟體
特點,
些強
編譯工具
.Net
執行文件進行反編譯操作,並
相應
IL代碼甚至
源代碼
即使
採用混淆工具
及強命名工具
能
根本
解決問題,代碼依
容易
Reflectoer等工具反編譯源代碼
軟體加密狗:威步(WIBU)
CodeMeter,AxProtector(for.net)兩款軟體加密狗性能非
錯
反編譯
問題,與傳統
代碼混淆工具(Obfuscator)
同,AxProtector
完全阻止
.NET
程序集(由
C#,
VB.NET,
Delphi.NET,
ASP.Net…
等語言編寫)
反編譯
通俗
講,AxProtector
破解者
您
.NET
代碼
間構建
強
防破解保護屏障,
基於
Windows
基於
MSIL
兼容格式文件
原始
.NET
代碼完整
加密
封裝
本
代碼內,
論何
都
釋放
硬碟,
於破解者
見
與單純
.net加密軟體
同,AxProtector與CodeMeter硬體加密狗配套餐使用,採用
更
嚴密
密鑰管理,及
先進
AES、RSA、ECC等加密算
存儲或傳輸密鑰,保證通訊安全
.Net代碼編譯
.class
包含
源代碼
所
信息(
包括注釋),尤其
其
保存
調試信息
候
所
按照
式編譯
.class
文件
非
輕易
反編譯
般軟體
發商
採用
種叫做混淆器
工具
混淆器
作用
編譯
代碼進行混淆,使
其
反編譯或者反編譯
代碼混亂難懂
由於混淆器
混淆
名稱或流程,
能防止源代碼
反編譯,
混淆器
作用
增加
反編譯
難度,
終
結
治標
治本
於
些掌握工具
說幾乎
透明
AxProtector
款真
意義
加密源代碼、防止反編譯
.net軟體加密軟體
AxProtector加密
.net原代碼,任何
候原代碼都
能
原
硬碟
採用AxProtector加密
.net代碼
程序調用或執行某
段函數
候,才能通
AxProtectorClass
內存
解密
返
程序
執行,運行
迅速立即加密
種隨機加密、按需解密原代碼
功能,能
防止.Net程序
反編譯,同
能夠
防止API加密點
摘除
效
保證
源代碼
執行效率
安全性
2. 如何抵擋.net自帶的ildasm的反編譯,如何保
C# 編寫的代碼通過VS編譯器生成 dll 或 exe ,很容易被一些反編譯工具查看到源碼或對源碼進行修改。為防止代碼被反編譯或被篡改,我們可以進行一定的防範措施。但不能杜絕,因為DotNet編寫代碼運行必須編譯成IL 中間語言,IL是很規則,同時也很好反編譯。
反編譯防範措施:
設置項目代碼反匯編屬性
混淆
方法一:防止 Ildasm.exe(MSIL 反匯編程序) 反匯編程序集
方法很簡單在項目文件AssemblyInfo.cs中增加SuppressIldasm屬性。
效果很明顯,很難看出反編譯代碼所寫的真正邏輯。
缺點:C#代碼通過混淆工具生成後,增加了很多轉換過程。這使得反編譯工具無法很直觀看到源碼真正邏輯。但源碼代碼過多轉換會使軟體本身運行效率降低,甚至會出現報錯情況。
3. .net如何防反編譯
.net是中間語言十分容易被反編譯,通常都使用混淆作為一種加密手段。不過混淆不是真正防反編譯,只不過反編譯後代碼難讀懂而已,並且現在破解混淆的方式也比較多。所以真正要防反編譯還是需要通過加密代碼的方式。比如德國威步他們提供一種對.NET代碼完全加密保護的方式來防止反編譯的,曾經測試過用Reflector(.net反編譯工具)反編譯他們加密軟體加密的.NET程序,的確完全無法看到源代碼了。
4. C# VS2012 .Net 4.5 如何防止反編譯
你找下 數字簽名 怎麼用……
不過祈求代碼不會被反編譯是不可能的,我們追求的應該是難於反編譯和自身代碼的安全性,
從代碼設計代碼編寫技術的角度來避免發編譯後重要信息的泄露,比如資料庫連接是一定要用加密技術(例如MD5)加密以後在用的,絕對不可以將真實的可讀性強的連接串寫在代碼的任何位置
希望能幫到你……
5. 如何解決.NET程序容易被反編譯的問題
阻止不了,任何一個程序都可以被反編譯 當然了,並不是說反編譯以後就是源代碼 不知道你用的什麼語言,在.net里,一般都是用Dotfuscator之類的工具進行混淆干擾
.NET有一種加密位元組碼的方式是通過hook住JIT編譯器的入口來做的:位元組碼經過加密/混淆存在文件里,等被CLR載入了,某個方法要執行而需要被JIT編譯時,hook住JIT編譯器的入口攔截住這個編譯請求,然後去把對應的位元組碼解密之後再傳給JIT編譯器。
這種做法基本上只能唬唬小朋友,知道了原理之後很好解,可以輕松的獲取解密後的位元組碼然後扔給常規的反編譯器去處理。但現實的說,大部分用戶在「試圖解密」方面都是小朋友,所以倒也算是一種可行方案。
6. .NET 編譯出來的DLL文件,如何才能不被反編譯
1.有那種代碼混亂器,其實也就是改改類名字等,常用的有
DotFuscator, .NET Reactor, xenocode 。。。你可以自己搜索下載了
2.當代碼量很大的時候,反編譯去讀MSIL的代碼也是很辛苦的,工程量很大
3.一般.net寫的程序都是基於web的,放在伺服器上,WebService,所以盜版破解也顯得不是那麼有意義了。。。
友情提醒:事先備份好你的代碼!
7. 如何解決.NET程序容易被反編譯的問題
阻止不了,任何一個程序都可以被反編譯 當然了,並不是說反編譯以後就是源代碼 不知道你用的什麼語言,在.net里,一般都是用Dotfuscator之類的工具進行混淆干擾
.NET有一種加密位元組碼的方式是通過hook住JIT編譯器的入口來做的:位元組碼經過加密/混淆存在文件里,等被CLR載入了,某個方法要執行而需要被JIT編譯時,hook住JIT編譯器的入口攔截住這個編譯請求,然後去把對應的位元組碼解密之後再傳給JIT編譯器。
這種做法基本上只能唬唬小朋友,知道了原理之後很好解,可以輕松的獲取解密後的位元組碼然後扔給常規的反編譯器去處理。但現實的說,大部分用戶在「試圖解密」方面都是小朋友,所以倒也算是一種可行方案。
8. .net軟體,用什麼軟體加密狗加密,能防止代碼反編譯
.Net軟體的特點,一些強大的編譯工具可以對.Net可執行文件進行反編譯操作,並得出相應的IL代碼甚至是源代碼。即使是採用混淆工具以及強命名工具也不能從根本上解決問題,代碼依然會很容易地被Reflectoer等工具反編譯源代碼。
軟體加密狗:威步(WIBU)的CodeMeter,AxProtector(for.net)兩款軟體加密狗性能非常不錯
反編譯的問題,與傳統的代碼混淆工具(Obfuscator)不同,AxProtector可以完全阻止對.NET
程序集(由
C#,
VB.NET,
Delphi.NET,
ASP.Net…
等語言編寫)的反編譯。通俗的講,AxProtector在破解者和您的
.NET
代碼之間構建了強大的防破解保護屏障,生成一個基於
Windows
的而不是基於
MSIL
的兼容格式文件。原始的
.NET
代碼完整的被加密後封裝在本地代碼內,無論何時都不會釋放到硬碟,對於破解者是不可見的。
與單純的.net加密軟體不同,AxProtector與CodeMeter硬體加密狗配套餐使用,採用了更為嚴密的密鑰管理,及最先進的AES、RSA、ECC等加密演算法存儲或傳輸密鑰,保證通訊安全。
.Net代碼編譯後生成的
.class
中包含有源代碼中的所有信息(不包括注釋),尤其是在其中保存有調試信息的時候。所以一個按照正常方式編譯的.class
文件可以非常輕易地被反編譯。一般軟體開發商會採用一種叫做混淆器的工具。混淆器的作用是對編譯好的代碼進行混淆,使得其無法被反編譯或者反編譯後的代碼混亂難懂。由於混淆器只是混淆了方法名稱或流程,而不能防止源代碼被反編譯,因此混淆器的作用只是增加了反編譯的難度,最終的結果也是治標不治本。對於一些掌握工具的人來說幾乎還是透明的。AxProtector是一款真正意義的加密源代碼、防止反編譯的.net軟體加密軟體。
AxProtector加密了.net原代碼,任何時候原代碼都不可能被還原到硬碟當中。採用AxProtector加密後的.net代碼只有在程序調用或執行某一段函數的時候,才能通過AxProtectorClass在內存中解密後返回到程序中執行,運行之後迅速立即加密。這種隨機加密、按需解密原代碼的功能,能很好的防止.Net程序的反編譯,同時能夠很好地防止API加密點被摘除。有效地保證了源代碼的執行效率和安全性。
9. .net如何防止了反編譯
代碼混淆器,使用後你的代碼用反編譯軟體看到的就變成亂碼了