
正文
Vb.net反编译源码 vba反编译
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C#和vb.net生成的程序现在如何保护才能不被反编译出源码?2018年
如果你想开发商业软件还是别用.net了,速度慢,易被反汇编,目标机器也需要安装对应版本的.net架构,这几条就给程序判了死刑
相关问答
Q1: VB反编译还原代码 求助
如果说 VB3、VB4 还有可能Vb.net反编译源码的话,那么 VB5、VB6 反编译就是完全Vb.net反编译源码的痴人说梦Vb.net反编译源码了,VB6 已经不是纯粹的解释性语言Vb.net反编译源码了,根本不可能反编译出完整的源代码,对于这种语言写出来的程序,只能获得中间语言或低级语言。一般来说 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. 针对楼上[Vb.net反编译源码你不懂就别乱说]说的插一嘴,未加壳的 .NET 为何能被反编译出源代码,那是因为 .NET 是托管,而托管有中间语言,所以它的源代码被编译成 msil 这种中间语言而非像 VB6 直接编译成机器语言了。
Q2: 怎么才能破解vb的程序? 只要能得到破解这个程序的源代码就可以了。
题主的问题跟昵称真对应“计算机新手”,呵呵。
题主只需要略懂些反汇编(别想着什么反编译了,一旦高级语言源代码编译成机器语言后是不可能再反编译回高级语言,网上所谓的“反编译”就是反汇编。另注:Java 能较完美的反编译是因为它是在虚拟机上的)的基本原理,就知道这是不可能实现的了。
注意,这是计算机编译原理(题主大学不是学计算机专业的吧?这门课程可是计算机的专业课哟~)所决定的,不是软件层面上能做到的事情。
用某些工具可以查看出未加壳的程序的界面图像或者封装了哪些API、调用了哪些DLL,因为这些信息往往封装在头文件中,但是得到源代码?还“只要能得到源代码就可以了”?我只能说呵呵。
Q3: 跪求如何把VB的exe文件反编译
如果是VB.NET开发的很容易被反编译,如果没有混淆的话基本能得到源代码,用Reflector.exe这个工具,有绿色版的。不是NET的有VB反编译精灵等等工具。
Q4: 目前有反编译软件能把vb写的程序的代码反编译出来吗??
真正反编译是不可能的,不管是P代码还是本机代码,不加壳也反编译不了,至于什么.net反编译,更是痴人说梦!网上虽有一些反编译软件,但是顶多把你用了哪些控件找出来,至于代码就无能为力了
Vb.net反编译源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vba反编译、Vb.net反编译源码的信息别忘了在本站进行查找喔。







