从理论上讲VB是不能反编译的
   VB近视与解释性工作方式,所以反编译很困难要求水平很高

解决方案 »

  1.   

    D都可以反编译,VB为什么不可以,VFP也可以呀.
      

  2.   

    现在不少程序是用 VB 写的,你通过反汇编或跟踪调试时很容易鉴别某个程序是否为 VB 程序,VB 的 EXE 文件并不是真正的编译可执行文件,它们需其动态链接库才能正常运行,各版本的链接库如下: 
    VB5 链接库为 msvbvm50.dll ; VB6 链接库为 msvbvm60.dll ; 
      VB 程序执行时从本质上讲是解释执行,它们只是调用  VBRUNxxx.DLL 中的函数   ,这样可使程序员不需写大量的程序代码就可编写出较好的图形界面的 windows 程序,不过 VB 是真正的程序吗?
      

  3.   

    虽然大部分 VB 程序仍调用 Win32 API 函数,但如想在 VB dll 运行库中设断的话,你就必须把 VB dll 运行库加入 SOFTICE 配制里去。具体你可参考《 SOFTICE 安装及使用》。 
    下面我举个例子,是在 win95/98 下你把相关的 VB DLL 运行库加入 winice.dat 配制文件里。 
    ; 注意分号后是描述语言,不被执行。每次只装载需要的一种 VB dll ,不要同时装载两个以上,把要装载那种 VB dll 那一行的分号去掉,重新启动即可。另外,判断软件是何种 VB dll 有几种方法,最直接一种用 WDasm89 查看,还有一种方法是用十六进制工具打开程序,观察。或用 SOFTICE 跟进去(用 bpx hmemcpy) ,稍转一圈,你观察一下调试窗口领空处会出现何种 VB DLL 即可。 ; EXP=c:\windows\system\msvbvm60.dll   ; Visual Basic 6 
    ; EXP=c:\windows\system\msvbvm50.dll   ; Visual Basic 5 
    ; EXP=c:\windows\system\vb40032.dll    ; Visual Basic 4(32-bit) 
    这样配制好后,重新启动,就可设 VB 运行库中各函数的断点了。
      

  4.   

    可以说,没有!顶多也就是跟踪。其实Delphi也不能反汇编出源代码
      

  5.   

    我曾找到一些反编译软件,一个只是一个Visual Basic6应用程序反编译软件工程样板,另一个我试过,反编译不完全。如果你需要的话可以发给你!
      

  6.   

    to yuweiqiang(小余) 
    可以给我发一份吗 [email protected]
      

  7.   

    who 说的,反编译,是为了更好的学习!