破解.net程序 編譯和反編譯方法


 有好多.net程序有加密狗或者有驗證,如果exe或dll沒有做過特殊處理,破解.net程序其實很簡單,不過你要有足夠的耐心!

我只做個簡單的小例子,給大家一個思路,吼吼~~~~

1使用工具

Reflector.exe 用來查看.net代碼 這個就不用多說了它是學.net必備神器

Ildasm.exe:用來將dll,exe編譯為IL文件

ilasm.exe:用來將IL文件編譯回來dll或exe

EmEditor文本處理工具這個大家如果沒有我這有下載里面有注冊碼EmEditor.rar

2Ildasm和ilasm基本知識:

ilasm.exe與ildasm.exe的使用

首先打開cmd命令。cd 到 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

然后把要查看的 dll文件或者exe文件拉進來這里面(因為我們是要用命令,你直接打開ildasm.exe也可以找到各目錄打開)

比如 text.dll  (里面有console.writeline("hello word"))

ildasm text.dll 打開dll 找到方法可以查看

ildasm text.dll /output:text.il  按回車就編譯好一個il文件(可用記事本打開並且編輯hello word保存)

然后用ilasm工具反匯編成 dll或者exe 文件

ilasm text  按回車自動查找text4.il 文件並且編譯成 text4.exe

或 ildasm text /dll 可以編譯成 text.dll 文件(記得先刪除原來的text4.dll)

3 開始工作吧

現有我有一個有加密碼狗的程序進不去

 

開始破解吧

用reflector打開我們的程序,開始分析哪里有驗證

這一步要有足夠的耐心

找到了一個方法是沒有加密狗就退出的程序方法

現在用Ildasm.exe打開我們的程序,把程序倒出成IL文件

 

 

就轉成utf-8格式

會生成4個文件 

最主要的就是那個il文件

用EmEditor打開 

 

找到我們要修改的方法SetDoLock()

這我這個例子里我把它們刪除直接改成

.method public hidebysig instance void 
          void  SetDoLock() cil managed
  {
    // 代碼大小       103 (0x67)
    .maxstack  5
    
    IL_0000:  ret
  } // end of method Login::SetTextBox

  保存

現在就用到 ilasm.exe 出場了 用來將IL文件編譯回來dll或exe

上邊已經有用它的方法了我也就不多說了

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>ilasm.exe C:\IL\aa.il 

好了看一下生成的exe 吧

把生成的exe放回到原來的程序里去運行一下

好了破解成功!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM