一 為什么要加殼混淆
因為基于.NET Freamwork運行的,跟java一樣,需要跑在一層IL上,所以沒有秘密可言,任何java和.NET來說,只有一會功夫,可以把源代碼全部反編譯出來,然后改改版權就變成自己的軟件了,特比啊死java 的APK游戲有做種破解這事情很賺錢的!對于.NET程序,人家花了半年寫的軟件,被咱們3分鐘源碼就出來了,多不爽。所以只能依靠于加加殼了!
二 混淆 加殼 工具介紹
當下.NET的加殼工具基本上不多,很多牛的加殼程序都不支持.NET,.NET常用的就這些吧.NET Reactor , Xenocode ,Dotfuscator,DNGuard,Sixxpack_2.4等等,他們的功能比較都不同 :
混淆器、加密
Dotfuscator
VS默認帶的工具,不過是個社區版
強度不大
dotNET Reactor
使用了NativeCode 和混淆的形式
Xenocode Postbuild
專業工具
{smartassembly}.Setup.msi
反編譯工具
Reflector
最富盛名的一個工具,很多插件都開源
Xenocode Fox
專業工具,商業版本
ildasm
Vs帶的工具
組件合并、虛擬工具:方便軟件發布的工具,如合并多個dll文件等
Xenocode Studio
將所有的組件和涉及的.net框架都可打在一個執行文件中,簡化了部署和安裝
Dotfuscator
組件合并
三 .EXE 怎么加殼
這個我寫個教程給大家把,從0基礎開始:
vs2010建立一個form項目:helloword
最簡單的,添加一個按鈕,helloword:你可以加入一些驗證代碼,比如注冊碼驗證,這都自己發揮
生成 exe 運行如下
接下來就是為我們自己寫的軟件加密加殼了:
這里使用 xenocode 2009 混淆加殼,其他工具類似
紅色的地方必須勾上
生成保護殼:
好,到這里我們的軟件加殼已經完成了,生成了一個新的EXE文件,運行起來一樣的哦
四 .EXE怎么去殼
我們使用反編譯軟件ILSpy查看exe源碼,會發現是看不到的,為什么,就是因為加殼了
怎么去呢,我們這里使用UNpack工具
加載進來,選擇進程,去殼
生成一個去殼EXE
到這里 ,我們再使用反編譯工具查看
怎么樣,出來了,看到源碼了
四 .NET怎么反混淆
反混淆一般來說是高境界的編程,如果你得到的代碼全是亂七八糟的代碼,想變成成可以編譯運行的版本,首先你必須具備以下能力
1 比如了解.NET語法,什么泛型編程 lamda表達式,什么linq 等等,都是基礎知識,如果你不懂,請回吧
2 了解IL語言和.NET Freamwork,以及計算機里面的編譯原理
3 了解混淆器的原理,比如rename ,流程混淆,強命名等
4 了解基本的反混淆工具
先說這么多吧,晚了 ,后面找個dome做教程!
五 .NET怎么破解 8月5日更新
在反混淆之后,得到的東西就跟作者原始代碼差不多了,我想怎么破解注冊板塊,怎么寫注冊機,不在話下了吧
這里面還有很多文章和知識,待續吧!
六. 工具 8月6日更新
今天上來看到大家都在叫要工具,好吧我這里就把他們發上來分享。
1 教程中的源碼 helloWord源碼.rar (36.95 KB, 下載次數: 80)
2 反編譯工具 ILSpy反編譯.rar (1.51 MB, 下載次數: 1423)
3 脫殼工具 NETUnpack.rar (150.26 KB, 下載次數: 1528)
4 加殼工具 太大似乎傳不上來了 大家找找吧 Xenocode 2009
5 反混淆工具 待傳
6 內存注冊機工具 待傳
|