當前位置:首頁 » 編程軟體 » vb反編譯修改代碼

vb反編譯修改代碼

發布時間: 2024-10-17 06:06:26

『壹』 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.net程序exe,想反編譯-修改-重生成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能不能對VC++或C++編寫的軟體進行反編譯出源代碼呢

VC++或C++編寫的軟體不能進行反編譯,高級語言和目標代碼不是一一對應的,所以不能進行反編譯。只有那些偽編譯的目標代碼有可能反編譯。

熱點內容
鍵盤按f9鍵不可以編譯怎麼調 發布:2025-07-18 00:11:34 瀏覽:312
安卓手機的廣告如何刪除 發布:2025-07-18 00:10:50 瀏覽:105
linux安裝composer 發布:2025-07-18 00:04:52 瀏覽:241
地址存儲器的容量 發布:2025-07-17 23:42:56 瀏覽:167
win7電腦用戶名和密碼在哪裡查詢 發布:2025-07-17 23:39:44 瀏覽:476
安卓手機顏色怎麼變色 發布:2025-07-17 23:26:43 瀏覽:375
java離線安裝 發布:2025-07-17 23:23:31 瀏覽:377
位置伺服器地址是什麼 發布:2025-07-17 23:18:00 瀏覽:841
phpif一行 發布:2025-07-17 23:12:27 瀏覽:730
安裝腳本精靈 發布:2025-07-17 23:11:35 瀏覽:127