VB反编译还原代码 求助

VB反编译还原代码 求助,第1张

如果说 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>] 这一句d出了MsgBox.这里如果跟进去的话是一大堆API 。

...

所以正常反编译(学汇编语言和计算机编译原理去吧)的话,看到段了就会知道这是一个 Msgbox 函数,但是具体显示的内容是什么,那是根本看不出来的。

P.S. 针对楼上[你不懂就别乱说]说的插一嘴,未加纯举缓壳的 .NET 为何能被反编译出源代码,那是因为 .NET 是托管,而托管有中间语言,所以它的源代码被编译成 msil 这种中间语言而非像 VB6 直接编译成机器语言了。

不可以的,已经转郑备兄换为了机器指令,不能恢复为源程序的

有滚斗的反编译软件,其实只能恢复标准控件的语句,实际的用户写的根本无法恢复。

只能用vbexplorer之类的软件查看资源,查看窗体之类的

代码是看不到的

要修改一个exe程序

就涉及到反汇编了

一般都是软件OD(全称:OllyDBG)

不过必须要求你有汇编语言的基础才行

VB反编译精灵也可以,但是好像不可喊袭以用

真正反编译是不可能的,不管是P代码还是本机代码,不加壳也反编译不了,至于什么.net反编译,更是痴人说梦!网上虽有一些反编译神源软件,但是顶多把你用了哪些控件找出来逗瞎斗,至山磨于代码就无能为力了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12480057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存