首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对QuickBasic应用程序进行逆向工程?

如何对QuickBasic应用程序进行逆向工程?
EN

Stack Overflow用户
提问于 2011-04-23 09:53:08
回答 1查看 546关注 0票数 3

我有一个用QuickBasic (游戏)写的应用程序。我拥有它的权利,但不是我写的原始代码。源代码就在我面前,但我在试图弄明白这一切的过程中有点头疼。有没有什么方法可以让逆向工程变得更容易?现在,我正在使用FbEdit,试图将应用程序拆分成不同的组件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-27 03:06:48

如果你有代码并试图理解它,你就不是真正的逆向工程。听起来更像是你在做“维护”,但抛开这个不谈。

处理遗留项目需要大量阅读代码,弄清楚它做了什么,做笔记,重命名东西,直到你能分离出各个部分,无论是UI/菜单,动画,AI,还是游戏所做的任何事情。

对于反向工程dos游戏(在组装中),我倾向于:

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

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

我没有使用过FBEdit,但Visual Studio在读取QB代码方面做得还不错(它认为它是VB6/VB.Net),但从那里你可以很快地将它重写成C#。我已经为我的一些较旧的QB代码这样做了。你只需要写一些帮助器函数来做经典的QB函数,直到你移除那些基本的抽象。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5761605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档