快速基本反编译

时间:2017-04-03 10:39:37

标签: decompiler qbasic quickbasic

我们正在寻找快速的基本反编译器。该程序非常陈旧,用DOS编写,现在我们希望在Windows中增强该代码的附加功能。不幸的是,开发人员不可追溯,只有希望是反编译。

请建议实现这一挑战的最佳方式。

谢谢

2 个答案:

答案 0 :(得分:1)

[由Dan在http://qbasicnews.com上的QB论坛中发表,2003年5月4日]

Microsoft在此问题上的回答: Microsoft当前不提供任何能够“反编译”对象(.OBJ)或可执行文件(.EXE)回到原始源代码(.BAS)的产品。以下是造成这种情况的几种原因:

  1. 没有反编译器可以准确地复制原始源代码。 将程序编译为对象并链接以生成可执行文件时,原始程序中使用的大多数“名称”都将转换为地址。名称的丢失意味着反编译器将必须为所有变量,过程和标签创建唯一的名称,并且这些名称在程序上下文中没有意义。 显然,源语言语法在已编译的目标文件或可执行文件中不再存在。反编译器很难解释对象或可执行文件中存在的一系列机器语言指令,并确定原始源语言指令是什么。

  2. 如果确实存在这种反编译器并且可以使用,那么任何人都可以使用它来反编译以该反编译器设计的语言生成的任何可执行程序。 例如,如果存在Microsoft BASIC反编译器,则具有该反编译器的任何人都可以在您生成的可执行文件上使用它,并从该可执行文件中获取源代码的副本。您使用Microsoft BASIC编写的任何程序的源代码都将提供给使用反编译器的任何人。商业软件的开发人员很少愿意使用可以解密的语言产品,从而允许其他人获取其源代码。

前微软程序员发了言,他们发誓其中有一种供私人使用。我还在网站上看到了基本的反编译器服务,该服务的确从您的exe提供了一些有效的BAS代码,但这很麻烦,不值得为该服务索要钱(http://02c1289.netsolhost.com)。

答案 1 :(得分:0)

作为我的BASIC软件开发人员,我几乎可以在整个职业生涯中告诉您,这不是您想要的。是时候将我的会计软件从DOS BASIC“移植”到Visual BASIC了,因为它是我自己的代码,因此对源代码和对代码的完全理解至少没有帮助。它可能是过度使用的表达方式,但是DOS和Windows是苹果和橘子。您不能简单地转换代码,必须重新设计系统并对其进行编码。

您需要做的就是已拥有的-已编译代码的有效版本。使用它的屏幕在Windows中设计数据库和屏幕,然后编写基础代码。无论如何,这两件事的设计通常只占工作量的一半至90%。现在,它确实帮助我有了自己的消息来源,例如“我又如何计算这些税?”我可以将纯逻辑代码从DOS复制到Windows,而几乎没有更改,但是涉及数据库或用户界面的所有内容都必须完全重做。

如果您不满意,请找一个符合条件的人。

同样,除非有某种您需要复制并且不了解自己的秘密算法,否则您不需要源代码。