如果說 VB3、VB4 還有可能的話,那么 VB5、VB6 反編譯就是完全的癡人說夢了,VB6 已經(jīng)不是純粹的解釋性語言了,根本不可能反編譯出完整的源代碼,對于這種語言寫出來的程序,只能獲得中間語言或低級語言。一般來說 VB6 都是 P 代碼,而 P-Code 的代碼逆向回來只能自己看,機器是識別不了的。
涪陵網(wǎng)站建設公司創(chuàng)新互聯(lián)公司,涪陵網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為涪陵1000+提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設要多少錢,請找那個售后服務好的涪陵做網(wǎng)站的公司定做!
舉個例子:
比如在 VB6 中有一句代碼 : MsgBox "Decompile Test."
那么反編譯出來的結果就是:
(代碼太長不貼,這里貼主要的)
...
mov dword ptr [ebp-58], 004012E4 ; 這里把 "Decompile Test."的地址弄進去了。
...
call dword ptr [MSVBVM60.__vbaVarDup]; 可以清楚的看出來,復制了一份變量的句柄。因為VB里字符串指向的是內存地址。
...
call dword ptr [MSVBVM60.#595] ; 這一句彈出了MsgBox.這里如果跟進去的話是一大堆API 。
...
所以正常反編譯(學匯編語言和計算機編譯原理去吧)的話,看到段了就會知道這是一個 Msgbox 函數(shù),但是具體顯示的內容是什么,那是根本看不出來的。
P.S. 針對樓上[你不懂就別亂說]說的插一嘴,未加殼的 .NET 為何能被反編譯出源代碼,那是因為 .NET 是托管,而托管有中間語言,所以它的源代碼被編譯成 msil 這種中間語言而非像 VB6 直接編譯成機器語言了。
反匯編的程序代碼肯定是有錯誤的,你可以把東西拿上來,如果工程不是太大的話我們可以試試幫你改
如果是VB.NET開發(fā)的很容易被反編譯,如果沒有混淆的話基本能得到源代碼,用Reflector.exe這個工具,有綠色版的。不是NET的有VB反編譯精靈等等工具。
本文標題:如何反編譯vb點虐
如何反編譯app
URL地址:http://m.rwnh.cn/article4/ddiocoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、、ChatGPT、企業(yè)建站、搜索引擎優(yōu)化、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)