无法在 mov dword ptr ds:[3],0Dh 上运行游戏 TERA 崩溃

逆向工程 艾达 拆卸 部件 反编译 地址
2021-06-24 18:01:59

我的电脑满足玩这个游戏的所有要求,我什至运行了这个游戏附带的工具,它通过了所有检查,甚至在列表中找到了我的显卡。游戏的 URL 是http://tera.enmasse.com/,下载大约 50 GB。

Tera 客户支持网站上没有人可以帮助我,因为他们的建议就像进行防病毒扫描或在管理员模式下运行程序一样。

我对倒车了解不多,但我试图掌握它只是为了能够玩这个游戏。通过了解 WinDBG,它似乎通过访问对我没有任何意义的内存地址 0x3 来崩溃。该游戏也打包在 Termida/WinLicense 中,无法解压缩,因为它在此过程中不断崩溃,但我设法获得了内存转储和 Dr. Watson crashdump.dmp

我在下面发布了 WinDBg 的屏幕截图和该行的 IDA PRO,它似乎在任何想法如何修复它时崩溃?

每次我尝试加载游戏时,我都会收到一个 Dr. Watson 错误框 8 1 2 3 4 5 9 10 6 7

有没有人给我任何建议如何修复这个游戏以使其加载?我需要在我的电脑上安装什么才能让它运行吗?

这是游戏二进制文件和dll文件。 https://www.mediafire.com/?3g3ro8qt7hbaqr3

1个回答

根据 TERA 的消息论坛,这听起来像是一款开发不佳的游戏。运行 AV 产品会导致它崩溃,运行 TeamSpeak 会导致它崩溃,而使用防火墙会导致它崩溃

关于mov large dword ptr ds:3, 0Dh,我的猜测是这是用于强制崩溃并sub_8130E0记录错误消息的代码。上面的反编译可能有效地写为:

if (InterlockedIncrement(...) == 1)
{
    Log_Error(...);
    Log_Error(..., L"\r\n", ...);
    if (something())
    {
        ...
    }
    FORCE_CRASH();
}

你可能想仔细看看数据的off_203C1C8unk_1BC2AE8a1得到一些更多的提示。但如果是我,我只会卸载游戏并继续前进。如果我启用了防火墙,我将无法信任那些强行使他们的程序崩溃的开发人员。