NET程式集反編譯/破解

來源:互聯網
上載者:User

NET程式集反編譯/破解

 

作者: Tomex Ou

 

.NET程式在執行時,會先編譯成中介語言IL,再轉成Native執行,因此中間IL階段就很容易被反編譯,甚至修改後達到程式破解目的。您可以參考文獻#1文章比較原始碼與IL的不同,當然,我們有更好的軟體工具來達到那樣的IL修改。不過是利用工具或反編譯,多少得看懂一點IL碼的區段起迄為宜,您可以使用VS內建的ildasm.exe來查看.NET Assembly的IL內容。VS2008預設安裝會放在: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe

 

ILDASM.exe可以調整Menu下的View選項,讓IL碼顯示更多的訊息,提供判斷之用。

[image|ILDASM|{UP}Program%2fNetReflector%2fIldasm.gif]

 

常見的IL特殊碼如下(跟破解有關),其他的請查google。稍微看得懂IL碼其實也蠻重要的,它可以藉由探知IL而改進上層C#/VB.NET程式碼文法,避免不必要的執行呼叫或浪費。剛開始看會覺得IL碼很不人性,看久就會寬心啦!

(((

* ret = return

* ldc.i4.1 = true

* ldc.i4.0 = false

)))

 

接下來,你可以使用文獻#2的軟體「Reflector for .NET]去開啟欲探究的.NET Assembly

另外它有個plug-in工具Reflexil(文獻#3)能讓你直接修改IL為另存新檔(免去文獻#1文章的麻煩步驟)

[image||{UP}Program%2fNetReflector%2fReflector.gif]

 

Reflexil的使用教學可以參考文獻#4,重點在於若你不知該怎麼改IL起迄值,可以按右鍵「Replaceall with code」直接在該method中改程式碼,再按「Preview IL」鍵即可幫你產生並替換掉該method內的所有IL值,這貼心功能在破解註冊或驗證函式中,相當好用。

[image||{UP}Program%2fNetReflector%2fReflexil.gif]

 

最重要的是,利用Reflexil改好IL值了,怎麼產生新的Patched Assembly呢? 找了好久,才發現原來要在Reflector左邊樹狀節點中,在該Assembly.exe或dll的根節點單擊,Reflexil窗格才會顯現Save As/Reload的按鍵。

 

以上是簡易教學,應該足夠讓你心驚膽跳,原來.NET反編譯/破解竟如此簡單,令人得趕快尋求混淆(obfuscator)或加密軟體來保護自己辛苦的勞動成果。這種破解別人/防護自己的矛盾心態很可議,在此純粹介紹反編譯軟體,精神層面就不多說了。

 

(((

參考文獻:

#[http://www.cnblogs.com/montaque/archive/2005/01/10/89464.html|使用 Ildasm,ILasm, Peverify 來 Crack 別人寫的應用程式]

#[http://www.aisto.com/roeder/dotnet/|Reflector for .NET]

#[http://sourceforge.net/projects/reflexil/|Reflector Plug-in: Reflexil]

#[http://www.codeproject.com/KB/msil/reflexil.aspx|Assembly Manipulation andC#/VB.NET Code Injection]

)))

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.