识别 C++来自 asm 列表的类成员

发布于 2024-11-14 13:08:54 字数 324 浏览 3 评论 0原文

我正在尝试反汇编并理解旧游戏的启动器(asm 列表位于 http://pastebin.com /raw.php?i=6Z4Xu3Cg)。它是使用 Borland C++ 1995 构建的,并且在 asm 列表中有四个类,其名称和 dtor 地址。如何找出其他函数属于哪个类?如何识别vtable?毕竟,它应该包含一切。

顺便说一句,这与破坏版权保护无关。这个游戏太老了,没有任何形式的保护。我想做的事情与 OpenTTD 开发人员做的事情是一样的。

谢谢你, 硬盘

I'm trying to disassemble and understand an old game's launcher (asm listing at http://pastebin.com/raw.php?i=6Z4Xu3Cg). It was built using Borland C++ 1995 and there are four classes with names and dtor addresses in the asm listing. How do I find out to which class the other functions belong? How do I identify the vtable? It should, after all, contain everything.

By the way, this is NOT about copy protection breaking. The game is so old, it doesn't have any form of protection. What I'm trying to do is the same thing as the OpenTTD devs did.

Thank you,
harddisk

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

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

发布评论

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

评论(1

随波逐流 2024-11-21 13:08:54

不,它不包含一切。每个未动态取消引用的符号可能都已被条带化。反汇编器可以做的是识别特定编译器输出的典型结构并赋予它一些含义。

No, it doesn't contain everything. Every symbol that's not dynamically dereferenced probably has been striped. What a disassembler can do is identifying the typical structure of particular compiler's output and give it some meaning.

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