VB3反编译器?

时间:2010-10-21 01:47:10

标签: windows-7 reverse-engineering decompiling

我曾经工作过的人通过电子邮件向我发送电子邮件,并说他们希望我更新我为他们写的VB3(!!!)程序,因为客户报告在Windows 7下运行它时出现问题。他们已经丢失了源代码(natch)。是否有VB3的反编译器?

6 个答案:

答案 0 :(得分:4)

我记得很久以前寻找Visual Basic反编译器/反汇编程序无济于事。现在可能有些东西了。我能想到的最多的是PE Explorer:http://www.heaventools.com/overview.htm

您是否建议在Windows兼容模式下运行您的应用程序:http://www.sevenforums.com/tutorials/316-compatibility-mode.html

修改:进一步使用Google搜索:http://www.w7forums.com/visual-basic-3-0-compatible-64-bit-version-t5146.html

  

我维护传统的16位VB3软件   与Windows 7兼容   在这方面做了很多研究   区域。

     

16位应用程序本身不会   在Windows 7中运行64位完全停止。   这是因为当64位能力   它以64位模式启动CPU   不能变成'真实模式'(   16位应用程序使用的模式)   没有硬重置。如果是处理器   在32位模式下,它可以在之间交换   实模式和保护模式随意。

     

这里唯一的解决方法是虚拟   机器 - Windows 7免费提供   可用的Windows XP版本   在自定义版本的Microsoft内部   虚拟PC。谷歌为“Windows 7   虚拟XP模式“。一旦你的副本   Windows 7已经过验证   真实的,它会让你   下载Virtual PC和XP Image。

     

这绝对不是一个漂亮的解决方案,   但是我的客户唯一的选择   谁已经走了,买了一个   64位操作系统没有检查是否   他们安装的软件是64位   兼容。

答案 1 :(得分:2)

真的? VB3,如果在XP中运行良好,在Windows兼容框中应该没问题。

我要做的是说你找不到合适的东西(这几乎肯定是真的),但是你可以以适中的费用解决问题。然后,希望只是在应用程序上设置一个标志(你可能想先检查一下以确保它不会太多工作)。

Money for Jam。

另一个选择是,您可以使用您对应用程序的丰富知识,在更现代的环境中为它们重写它。

但是,我很惊讶你没有副本。我只保留我编写过的每一个软件以防万一(当然是获得工作许可的东西),甚至我在Uni做的Fortran任务回到了80年代初。

这是一个很好的习惯,虽然我开始怀疑我是否应该通过抛弃Fortran释放一些空间: - )

答案 2 :(得分:2)

与使用本机代码并且通常无法可靠地解密的更高版本不同,VB3(以及我认为,VB4)通常可以反编译为几乎原始的代码。您需要搜索的关键字是“DoDi VB3反编译器”或“vb3dis”。 Here's一个似乎有副本的页面。

答案 3 :(得分:2)

对于反编译VB“ DoDi VB3反编译器”是可用的最佳工具。结果非常好。

然而原版是anno 1997. VB3只是16位代码+仍有一些错误+没有源代码。这使得该工具很难在Windows XP之外的Windows上运行,并限制了它的使用。

DoDi的VBDIS3本身也是用VB3编写的 - 所以大约10年后我只是为了好玩而破解它让反编译器自行反编译。 ...并将其移植到VB6! 所以现在你有了源代码! :D

...它是32位代码+一些错误修正和原始改进:

DoDi的Visual Basic 3反编译器[重新加载]

http://vbdis4.angelfire.com

Screenshoot: DoDi's Visual Basic 3 Decompiler [Reloaded]


如果网站丢失谷歌的话 '的 VBDIS3.67e_Reloaded_Rev3_DoDi_s_VB3Decompiler.7z '
或尝试互联网档案

http://web.archive.org/web/20090301170633/http://vbdis4.angelfire.com

答案 4 :(得分:1)

在没有源代码的情况下,您可以做很多事情来帮助他们。如果应用程序仅在提升时才起作用,则可以应用外部清单。您可以建议他们在Program Files以外的地方安装应用程序(通常很糟糕,但在这种情况下可能会有效。)您可以应用兼容性设置或教他们如何将其安装到“XP模式”中,以便它在XP虚拟机。

所有这些都失败了,你可以提供在VB.NET中重写它,这样他们就可以获得更现代的ui,Windows 7功能(不仅仅是功能),而且实际上拥有应用程序的源代码。这可能对他们有价值。

是的,你应该保留代码。我的旧项目烧掉的CD可以追溯到时间的早期(在某些时候我将东西从3.5“备份复制到CD,而我还有一些可以同时执行这两种操作的机器)我已经让一个以上的客户满意了向他们发送CD。这真是一个非常便宜的营销投资。

答案 5 :(得分:0)

听起来这是一个销售给客户的应用程序,在Windows 7下遇到麻烦或无法正常工作。

考虑建议客户该应用程序应该是:

  • 现代化,从而简化了添加功能/维护的能力
  • 否则为Windows 7客户在XP兼容模式下运行。当然,这个数字只会增长,并会成为一个支持问题。转到上一个子弹。

但是说真的;您的客户应该意识到他们的软件需要现代化。希望你能说服他们实现这个长期目标;也许他们已经知道了。