前言:
今天遇到個.NET的程式,以前一直都沒碰到過,今天遇上了就來對他做個分析吧!
PEiD查一下
當然最簡單的動作是 OD 載入..... 居然完全沒辦法反編譯,這下可尷尬了
原來.NET這麼Special,網路上找了找,有專門對.NET反編譯的工具
這裡我用到了Reflector,把檔案載入後,左邊會出現層次分別的樹狀圖
真的是很爽,原始碼全反編譯出來了,用力翻出關鍵的地方 'Registration" -->按鈕事件
簡易的看一下流程,是透過封包驗證,最後取返回結果True / False來判斷
稍微想了一下,既然我們得不到正確的帳號,那就只要把
if(str.Contains("true")) 這裡 改成if(str.Contains("false"))
這樣就爆破成功了,但要怎麼改哩.....!? 這又是個問題
再度GOOGLE了一下,發現利用個Reflector的插件就能實現了
插件名稱是:Reflexi 目前出到V1.2版
這插件果然強大,可以直接對Source進行Patch
按照剛剛想到的方法 把 true --> false 就爆破成功了
最後另存新檔,執行下
又一次痛快的爆破
後記:因為這軟體我自己都還想免費使用,所以就不公佈名稱了
不過以上的分析是確確實實的,沒想到.NET如果不加密、加殼
還是這麼的不堪一擊.....
從這次分析學到了如何對.NET的逆向還有工具的使用,繼續努力增加逆向實力
By Kost0911 2011.7.5 暑假第四篇