如何通过检查文件判断数据库类型

发布于 2024-08-31 19:58:18 字数 276 浏览 7 评论 0原文

我的朋友有一个管理客户的系统。每个si的程序都很糟糕,我的朋友与开发人员失去了联系。

情况是,现在我的朋友失去了对程序的访问权限(开发人员说“锁定到机器”,因此当移动到另一台电脑时,他失去了对程序和数据的访问权限。

我的任务是尝试恢复数据库,迁移到另一个数据库,并为我的朋友创建一个很酷的程序。

,因为需要 MSVBVM60.DLL。

现在我需要发现开发人员使用哪个数据库,我知道该程序是使用 Visual Basic 编写的 读取 .dat 文件中的元数据并发现使用了哪个数据库?

My friend has a system to manage customers. The program per si is terrible, and my friend lost contact with the developers.

The case is, now my friend lost the access to program (something that the developers say "locked to machine" so when moved to another pc, he lost the access to program and data.

I get mission of to try to recover the database, migrating to another database, and create a cool program to my friend.

Now I need to discover which database was used by the developers. I know that the program was made using Visual Basic, because the MSVBVM60.DLL is required.

There is some program to read the metadata in the .dat files and discover which database was used?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

腹黑女流氓 2024-09-07 19:58:18

您可以尝试确定文件格式工具。

不幸的是,您的 .dat 文件可能是“随机访问文件”,而不是数据库

在这种情况下,如果您不知道文件的结构,则无法读取数据。记录以块的形式写入,您必须知道块的确切大小才能从一个块跳转到下一个块。可能使用了某种加密。

You can try Determining File Format tools.

Unfortunately, it is possible that your .dat file is a "random access file", not database.

You cannot read data in that case, and if you don't know the structure of the file. The records are written in blocks and you have to know exact size of block to be able to jump from one block to next one. Probably some kind of encryptions are used.

万人眼中万个我 2024-09-07 19:58:18

如果文件是随机访问文件(VB意义上)那么对格式进行逆向工程应该不会太难

第一步是确定记录的大小,您只需很少的前瞻性知识就可以做到这一点:这只是找到字符串开始和结束的位置并查找重复的问题。例如,查找看起来像某人名字的字符串,然后向前扫描,直到找到下一个看起来像名字的字符串。这就是你的记录大小。

下一步将涉及确定实际字段。这将需要更多的工作,但基本上你会想要在原始软件中查找一条记录,然后尝试在第一个中找到相应的记录(例如,查找名字/姓氏,这应该是相对的)简单的)。然后只需将 UI 中的字段与文件中的内容进行匹配即可。例如,日期整数等。

当然,这只是一般性概述,并且假设该文件采用 VB 的本机“随机访问”格式。祝你好运!

If the file is a random access file (the VB sense) then it shouldn't be too hard to reverse engineer the format.

The first step would be determine the size of the records which you should be able to do with little forward knowlegde: it's just a matter of finding where strings begin and end and looking for repeats. For example, look for a string that looks like someone's first name and then scan forward until you find the next string that looks like a first name. That's your record size.

The next step would involve working out the actual fields. This will require a little more work, but basically you'll want to look up a record in the original software and then try to find the corresponding record in the first (for example, look for the first name/last name which should be relatively easy). Then it's just a matter of matching up fields in the UI with what's in the file. For example, dates integers and the like.

Of course, that's just a general overview, and that's assuming the file is in VB's native "random access" format. Good luck!

[浮城] 2024-09-07 19:58:18

除了尝试对文件本身进行逆向工程(如其他响应中所建议的那样)之外,您还可以尝试对应用程序(DLL 或 EXE)进行逆向工程。

有多种可用的反编译器,例如 VB P 代码/本机编译器。提供试用版。我还没有尝试过这个软件,但它可能足以让您了解数据文件中存储的内容,或者帮助填补您无法从数据文件本身弄清楚数据含义的空白。

As well as trying to reverse engineer the file itself, as suggested in other responses, you could also try reverse engineering the application (DLL or EXE.)

There are several decompilers available, for example VB P-code/native compiler. A trial version is available. I have not tried this software, but it may give you enough to understand what is being stored in the data file, or help fill in the gaps where you can't figure out the meaning of data from the data file itself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文