2011-04-23 29 views
2

我有一个用QuickBasic(游戏)编写的应用程序。我拥有它的权利,但没有写出原始代码。我有源代码在我面前,但我试图理解这一切,我有点b my不安。有什么方法可以使逆向工程更容易?现在我正在使用FbEdit,并试图将应用程序拆分为各个组件部分。如何反向工程师QuickBasic应用程序?

+1

我希望这不是** MY **游戏之一。 :-)虽然他们是在二十世纪九十年代初写的,我知道*我现在是一个更好的程序员......我希望认为它并不是那么糟糕。 – 2011-04-23 03:12:32

回答

3

如果你有代码并且只是试图理解它,那么你并不是真正的逆向工程。听起来更像是你只是在做“维护”,但这一边。

处理遗留项目需要大量阅读代码,研究它在做什么,做笔记和重命名内容,直到你可以分离出各个部分,无论是UI /菜单,动画,AI还是其他任何东西是游戏呢。

对于逆向工程的DOS游戏(组装),我倾向于:调用图形中断代码

查找区域的,并开始命名的graphics_N,与同为文件处理,或声音等,然后您可能会注意到文本/菜单的位置,并且您知道游戏的位置,因此您可以单步执行代码并查看代码是如何跳转的。您可能会注意到一些子函数会更新动画,您可以将其命名,然后找到其他名称,以更好地了解它的使用方式和位置。

通过访问代码,如果变量,函数和结构没有意义的名字,我会感到震惊。但QB更容易与小名...

我没有使用FBEdit,但Visual Studio做了一个阅读QB代码(它认为它是VB6/VB.Net)的好工作,但从那里你可以重写它漂亮迅速转化为C#。我已经为我的一些旧的QB代码做了这个。您只需编写一些执行经典QB函数的帮助函数,直到您删除这些基本抽象。