當前位置:首頁 » 編程軟體 » vb反編譯教程

vb反編譯教程

發布時間: 2025-01-13 12:08:00

⑴ vb反編譯及教程

VB編寫的程序從4.0以後的版本都不能反編譯了,它生成的exe程序不想其他程序那麼有規律。你只能反匯編,那樣代價就太大了,至少比你自己開發一個完整的程序難。

⑵ 跪求如何把VB的exe文件反編譯

如果是VB.NET開發的很容易被反編譯,如果沒有混淆的話基本能得到源代碼,用Reflector.exe這個工具,有綠色版的。不是NET的有VB反編譯精靈等等工具。

⑶ 有沒有VB反編譯程序

VBRezQ v2.4a
下載地址http://st.cnc-gd.com/soft/Software.Asp?id=330
可反編譯VB6的EXE文件,得到全部窗體。

vb反編譯精靈v4.3
下載地址http://gsdx.driversky.com/down/vbre.zip

但明確告訴你,目前世界上還沒有任何一款軟體能對稍復雜(注意僅僅是稍復雜)一點的VB6編譯過成的EXE進行實用的反編譯,且不用說目前的軟體EXE文件大都經過加殼這樣的保護處理,反編譯更是不可能了。我在《問專家》網上看到過專家的解答就是這個意思,上面提到過一款說是最好的反編譯VB軟體,也只能把很簡單的EXE編譯出窗體文件,代碼代碼可讀性非常差,更不用說稍復雜一點的程序了。

⑷ VB反編譯還原代碼 求助

如果說 VB3、VB4 還有可能的話,那麼 VB5、VB6 反編譯就是完全的痴人說夢了,VB6 已經不是純粹的解釋性語言了,根本不可能反編譯出完整的源代碼,對於這種語言寫出來的程序,只能獲得中間語言或低級語言。一般來說 VB6 都是 P 代碼,而 P-Code 的代碼逆向回來只能自己看,機器是識別不了的。

舉個例子:

比如在 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 函數,但是具體顯示的內容是什麼,那是根本看不出來的。

P.S. 針對樓上[你不懂就別亂說]說的插一嘴,未加殼的 .NET 為何能被反編譯出源代碼,那是因為 .NET 是託管,而託管有中間語言,所以它的源代碼被編譯成 msil 這種中間語言而非像 VB6 直接編譯成機器語言了。

⑸ vb如何反編譯程序

VB程序可以通過特定的反編譯工具進行反編譯,這一過程是將已編譯的二進製程序(如EXE或DLL文件)轉換回其源代碼或類似源代碼的高級語言表示。然而,反編譯並不總是能完全還原原始源代碼,特別是當原始代碼經過混淆或加密處理時。

市面上存在多種.NET程序反編譯工具,如dnSpy、JetBrains dotPeek和ILSpy等,這些工具都支持對VB.NET程序進行反編譯。例如,使用dnSpy時,用戶只需打開需要反編譯的VB.NET程序文件,工具會自動解析並顯示源代碼。這些工具通常提供了友好的用戶界面和豐富的功能,使得反編譯過程相對簡單和直觀。

對於Visual Basic 5.0/6.0的程序,VB Decompiler是一個專業的反編譯工具,能夠反編譯p-code形式的EXE、DLL或OCX文件,並以較高的成功率恢復源代碼。即使程序編譯為本地代碼,VB Decompiler也能提供反編譯線索,並嘗試通過其強大的反匯編程序和模擬程序盡可能多地恢復源代碼。

需要注意的是,反編譯可能涉及法律問題,應確保在合法和道德范圍內進行操作。在使用反編譯工具之前,最好先了解相關的法律法規和使用條款。此外,反編譯的結果可能受到多種因素的影響,如原始代碼的混淆程度、保護措施等,因此結果的可讀性和完整性可能會有所不同。

⑹ VB反編譯還原代碼 求助

如果說 VB3、VB4 還有可能的話,那麼 VB5、VB6 反編譯就是完全的痴人說夢了,VB6 已經不是純粹的解釋性語言了,根本不可能反編譯出完整的源代碼,對於這種語言寫出來的程序,只能獲得中間語言或低級語言。一般來說 VB6 都是 P 代碼,而 P-Code 的代碼逆向回來只能自己看,機器是識別不了的。

舉個例子:

比如在 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 函數,但是具體顯示的內容是什麼,那是根本看不出來的。

P.S. 針對樓上[你不懂就別亂說]說的插一嘴,未加殼的 .NET 為何能被反編譯出源代碼,那是因為 .NET 是託管,而託管有中間語言,所以它的源代碼被編譯成 msil 這種中間語言而非像 VB6 直接編譯成機器語言了。

熱點內容
谷能壓縮機 發布:2025-01-13 15:44:30 瀏覽:412
電腦電腦直連通訊ftp 發布:2025-01-13 15:38:03 瀏覽:717
nvm存儲 發布:2025-01-13 15:36:19 瀏覽:552
京東架構師緩存經驗 發布:2025-01-13 15:33:00 瀏覽:726
android圖片顏色 發布:2025-01-13 15:26:09 瀏覽:268
國家稅務總局電腦伺服器 發布:2025-01-13 15:10:24 瀏覽:596
金立老款機的開機密碼是多少 發布:2025-01-13 15:04:45 瀏覽:456
湖南網上辦稅初始密碼多少 發布:2025-01-13 15:02:49 瀏覽:417
怎麼使用筆記本連接伺服器 發布:2025-01-13 15:02:48 瀏覽:705
長城cs75plus選哪個配置 發布:2025-01-13 14:54:05 瀏覽:22