无法在网络应用程序中找到发送/接收类型的调用

逆向工程 艾达 ollydbg 加密
2021-07-10 23:00:39

目标受 nProtect Gameguard 保护。数据包被加密。目标是通过客户端获取未加密的数据包信息。

我获得了 IDA 的免费 5.0 版本和反汇编的 GVOnline.exe(Uncharted Waters Launch exe)。有趣的是,实际上在任务管理器中列为运行的不是 exe,而是 GVOnline.bin(同一目录中的另一个更大的文件。无论如何,在反汇编的 GVOnline.exe 中,我找不到任何看起来像 socket 的东西在导入表中调用。没有发送、接收或任何其他类似物。

我创建了一个导入的 Pastebin:https : //pastebin.com/UEtKSwSk

这是名称的 Pastebin:https : //pastebin.com/GwMaCfVs

如果不是通过这些调用,应用程序如何发送和接收数据包?

我需要反汇编 GVOnline.bin 而不是 exe 吗?

难不成是Gameguard本身负责与Socket通信?如果是这种情况,那么我怀疑 Gameguard 也将负责加密数据包有效负载,但我应该能够从软件本身获取原始信息,因为它必须以某种方式构造它,然后才能将其传递给任何发送或加密的内容它。

谢谢

更新:

事实证明,我正在反汇编错误的二进制文件。根据初始可执行文件中的决定,打开第二个二进制文件,这是进行网络调用的地方。拆开它揭示了网络调用和加密例程。

1个回答

我特别不熟悉 GameGuard,但这些类型的保护在运行时保存加密的导入表、加载导入并自行构建 IAT 是很常见的。

通常,您可以在应用程序加载后通过注入和重写来绕过这些功能,但是看到 GameGuard 是一个专门用于阻止此类事情的工具包,我怀疑您必须变得更加棘手。

编辑:您可以查找旧的 safedisc/cdilla 和 securom 解包教程,以了解这些类型的包装器的介绍。