【问题标题】:How to Reverse Engineer QuickBasic Application?如何对 QuickBasic 应用程序进行逆向工程?
【发布时间】:2011-08-11 07:43:13
【问题描述】:

我有一个用 QuickBasic(游戏)编写的应用程序。我拥有它的权利,但没有编写原始代码。我面前有源代码,但我正在努力理解这一切。有什么方法可以让逆向工程变得更容易?现在我正在使用 FbEdit,只是试图将应用程序拆分为各个组件部分。

【问题讨论】:

  • 我希望它不是 MY 游戏之一。 :-) 虽然它们是在 1990 年代初编写的,但我知道我现在是一个更好的程序员了......我希望它没有那么糟糕。

标签: reverse-engineering basic qbasic quickbasic


【解决方案1】:

如果你有代码并且你只是想理解它,你就不是真正的逆向工程。听起来更像您只是在做“维护”,但除此之外。

处理遗留项目需要大量阅读代码、弄清楚它在做什么、做笔记和重命名内容,直到您可以分离出各个部分,无论是 UI/菜单、动画、AI 还是其他部分游戏有。

对于逆向工程 dos 游戏(在汇编中),我倾向于:

找到调用图形中断的代码区域,并开始命名这些图形_N,以及文件处理或声音等。然后您可能会注意到文本/菜单的位置,并且您知道游戏中的位置,因此您可以单步执行代码并查看代码是如何跳来跳去的。你可能会注意到一些子函数更新了一个动画,你可以给它命名,然后找到它被调用的地方,以便更好地理解它的使用方式和位置。

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

我没有使用过 FBEdit,但 Visual Studio 可以很好地读取 QB 代码(它认为它是 VB6/VB.Net),但您可以从那里快速将其重写为 C#。我已经为我的一些旧 QB 代码做了这个。您只需要编写一些执行经典 QB 功能的辅助函数,直到您删除这些基本抽象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2015-07-20
    • 2011-11-19
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    相关资源
    最近更新 更多