該軟件的下載地址:http://www.xiazaiba.com/html/5276.html
網站上是這么介紹的:
VBRezQ是一個針對VB程序的反編譯軟件。VBRezQ反編譯的可讀性尤其對早期版本,效果很好;不過對VB 5、6使用Native方式編譯的程序,可以反編譯得到FORM文件,效果還不錯,但代碼基本上無法反編譯。
我們來寫個例程測試下它的反編譯功能:
'VB6.0 Project Hacking Test Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal wType As Long) As Long Private Sub Form_Load() Dim text As String text = "hello, world." Debug.Print myMsgBox(text) End Sub Private Function myMsgBox(ByVal text As String) myMsgBox = MessageBox(Me.hwnd, text, "VBRezQ Testing", vbOK + vbInformation) End Function
直接生成工程1.exe,然后打開VBRezQ選擇生成的程序,結果如下:
VBRezQ直接反編譯給出了工程及窗體信息,觀察第三個窗口FORM01.FRM甚至可以看出窗體內部的API聲明及自定函數和變(常)量內容等,令人心碎。
看來這個軟件果然是能夠反編譯VB程序,雖然不能源碼輸出,但絕大部分信息對於破解者已經夠用了。
VB6有2種編譯方式,分別為“編譯為P-代碼”和“編譯為本地代碼”,剛才我是選擇編譯為本地代碼,那么現在我試試編譯成P-代碼看看效果如何。
修改工程屬性,點擊生成,用VBRezQ載入,呈現結果如下:
觀察FROM01.FRM信息可知,子函數內的代碼內容(應該是被加密了)沒有被反編譯出來,看來P-代碼的保密性稍好一些。
百度“VB反編譯”搜索結果顯示有多個聲稱可以反編譯VB的工具,看來這VB的代碼安全性着實令人擔憂,不過話又說回來這年頭還有人用VB寫商業化軟件么?
即使對我來說VB也只是個玩具罷了,作為個人最早接觸的Programing Tool還是有些感情的。