2011年7月4日 星期一

[原創].NET的逆向之旅-某Blog軟體分析

前言:


今天遇到個.NET的程式,以前一直都沒碰到過,今天遇上了就來對他做個分析吧!


PEiD查一下


.NET Creak    


 


當然最簡單的動作是 OD  載入.....  居然完全沒辦法反編譯,這下可尷尬了


原來.NET這麼Special,網路上找了找,有專門對.NET反編譯的工具


這裡我用到了Reflector,把檔案載入後,左邊會出現層次分別的樹狀圖


真的是很爽,原始碼全反編譯出來了,用力翻出關鍵的地方 'Registration" -->按鈕事件


.NET Creak  


簡易的看一下流程,是透過封包驗證,最後取返回結果True / False來判斷


稍微想了一下,既然我們得不到正確的帳號,那就只要把


if(str.Contains("true")) 這裡  改成if(str.Contains("false"))


這樣就爆破成功了,但要怎麼改哩.....!?  這又是個問題


再度GOOGLE了一下,發現利用個Reflector的插件就能實現了


插件名稱是:Reflexi 目前出到V1.2版


這插件果然強大,可以直接對Source進行Patch


按照剛剛想到的方法 把 true -->  false 就爆破成功了


.NET Creak


   最後另存新檔,執行下


.NET Creak  


又一次痛快的爆破


 


後記:因為這軟體我自己都還想免費使用,所以就不公佈名稱了


         不過以上的分析是確確實實的,沒想到.NET如果不加密、加殼


         還是這麼的不堪一擊.....


         從這次分析學到了如何對.NET的逆向還有工具的使用,繼續努力增加逆向實力


 


By Kost0911 2011.7.5 暑假第四篇


2 則留言:

  1. 原來還有這麼一款 .NET 剋星 B- D

    版主回覆:(07/25/2011 03:14:51 PM)


    呵呵 沒寫這篇文章前我也不知道呢XD
    不過試過就知道.NET反而更簡單 全部原始碼都逆出來了

    回覆刪除
  2. @_@
    我不會改......
    想說 自己爆破自己的程式看看= = 竟然這個都不會..

    回覆刪除