CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

code3

2017年5月23日 1075点热度 0人点赞 0条评论
  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

通过 DLL 注入和代码修改绕过 XIGNCODE3 的反作弊保护

老王隔壁的白帽子2016-02-23共439929人围观 ,发现 7 个不明物体终端安全

免责声明:逆向猎龙游戏完全出于学习目的,我反对下面所提供的信息被用于任何类型的恶意目的,并且我所发现的所有漏洞已被送往Aeria游戏或已经被修复。

0×01 概述

在我的博客上收到Hack1209的评论,询问如何bypass猎龙游戏的XIGNCODE3。当我第一次写这个博客的时候,XIGNCODE3还没有启用。(博客地址:http://0xbaadf00dsec.blogspot.com.br/2016/01/reverse-engineering-online-games.html),通常会有一些”heartbeat ”或者”ping”包在服务端和游戏的客户端之间发送来确保反作弊程序在你的电脑上运行。

如果这个包激活了,只要这个游戏开启了反作弊程序,您会从任何游戏中被中断,通常时间在1-5分钟内。在这款游戏,或者任何其他的游戏这个特征通常没有被激活。你可以停止反作弊程序的初始化来做你的分析,防止反作弊程序的干扰。你也可以从我的第一篇博客当中了解更多关于这个反作弊是如何工作的。

本文我展示的方法实现起来非常简单,并且可以适用于使用XIGNCODE3的任何游戏。为了完成这个,使用API函数OpenProcess和WriteProcessMemory,这里我展示如何创建一个基本的DLL并且在进程中修改内存。在网上可以找到各种DLL注入工具。本文不会重复我的第一篇博客的一系列步骤。现在我们开始!

0×02 准备工作

l x86汇编, C/C++, 逆向工程和Win32 APIs的知识

l Aeria游戏帐号 (http://aeriagames.com)

l Dragomon Online (http://dragomonhunter.aeriagames.com/)

l Ollydbg v1.10 (http://www.ollydbg.de/)

l IDA Pro (https://www.hex-rays.com/products/ida/support/download_freeware.shtml)

l IDA Function String Associate Plugin by Sirmabus (http://sourceforge.net/projects/idafunctionstringassociate/)

l DebugView (https://technet.microsoft.com/en-us/sysinternals/debugview.aspx )

0×03 分析

警告:如果在分析一些恶意软件时,和我在下面演示的有所不同。那么你最好在vmware上进行,这样就不会感染你的电脑了。当然,本文中的软件Aeria Games是可信的,所以没有这个必要。

再一次确保你的猎龙游戏是最新版的。

图片24.png

如果没有禁用反作弊程序,将会出现如下界面。

图片25.png

XIGNCODE3的初始化界面就会在屏幕出现。

如果你打开任何类似作弊引擎或者Ollydbg,你将会收到“suspicious program opened”这样的信息,然后游戏就会关闭。

图片26.png

对IDA中的Game.bin文件进行分析。分析之后,IDA将会在IDA的试图窗口中显示Winmain函数的入口。执行IDA的字符串关联插件(ALT+F6)。

图片27.png

这里我们可以看到启动游戏的时候和XIGNCODE3相关联的字符串。

图片28.png

如果我们往下看一点,可以看到这个关键函数。在其他游戏,这个函数可能不会那么容易被找到。我还没见过一个游戏的XIGNCODE3字符串是被加密,因此找到这个函数其他的办法就是引用字符换中查找“xigncode”字符串。

图片29.png

我们看到的这个要修改的函数是包括字符串”ErrorCode %08x!!”。

图片30.png

这里是XIGNCODE3的初始化。字符串“CGHcjbNstNjf”每个游戏都不一样,作为游戏的许可证。这是一个由随即字符组成的字符串,当你找到这个字符串时,你就找到了停止初始化的函数。

图片31.png

这个调用在一个函数加载x3.xem处结束,XIGNCODE3的主模块。

我们返回先前的函数看看如何才能操纵游戏正确加载XIGNCODE3。

图片32.png

为了让函数正确返回,我们需要确保函数返回值EAX非零(或者1就行)。

图片33.png

我们可以通过植入如下代码阻止初始化,在函数顶部地址为0x006f1de0(这个地址在游戏更新时可能会变化)。

mov eax,1

ret

现在我们已经分析出了如何阻止XIGNCODE3的初始化,开始coding我们的DLL。

我习惯使用Visual Studio的IDE编程。你要确认你的配置设置为DLL并且目标扩展名为.dll。

图片34.png

图片35.png

我们还需要include Windows的.h头文件。

图片36.png

接下来我们要创建一个函数,将字节直接写进内存中。

图片37.png

为何我们需要使用VirtualProject?为了能够修改代码我们需要确保我们拥有写访问权。

图片38.png

现在我们要得到正确的操作码来写代码中。

mov eax,1
ret

我记不住每个Intel X86的操作码指令,只记得一些经常使用的。因此这里推荐你一个网址:

图片39.png图片40.png

你也同样可以使用Ollydbg,修改代码,可以看到Ollydbg写字节。

图片41.png

因此,看起来我们需要写进的代码总共是6个字节。然而,我们需要在结尾添加3个nop指令,因为在函数顶部的前3个字节,我们所修改的代码为9个字节。

现在我们使用WriteBytes函数修改代码。

图片42.png

最后,我们需要DLL的函数入口点(DLL Main)。

图片43.png

编译DLL文件,当游戏启动时注入,可以看到发生什么(源码会在博客下面给出)。

图片44.png

我们的调试字符串显示成功,XIGNCODE3不会被初始化!现在我们可以使用分析工具而不会被检测到了。

0×04 总结

除非你的游戏在反作弊中使用了”heartbeat”包,否则这种简单的方法可以用来击败任何的反作弊工具。这样你就可以着手分析不必担心被其他方法bypass。

上述代码地址:http://pastebin.com/ZqHrc6Z0。

‍‍*参考来源:0xbaadf00dsec,FB小编老王隔壁的白帽子翻译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

老王隔壁的白帽子55 篇文章等级: 6级
|
|
  • 上一篇:加密并不是危如累卵,FBI知道苹果已经拥有所需密钥
  • 下一篇:被开启的潘多拉:安卓恶意软件GM Bot源代码被公开
发表评论

已有 7 条评论

  • 天天被黑的KidoChi 2016-02-23回复1楼

    xingcode3

    亮了(0)
  • X 2016-02-23回复2楼

    机器翻译的?

    亮了(1)
  • cwg2552298 (6级)Follow my own course 2016-02-24回复3楼

    :???: B8 看起来是同一个东西

    亮了(0)
  • cwg2552298 (6级)Follow my own course 2016-02-24回复4楼

    推荐的网址呢?咋没了

    亮了(0)
  • XGX 2016-03-04回复5楼

    by LoadLibraryA 回几层改改判断,就剥了!最主要的是保护和游戏之间的心跳验证,楼主你是初学者吧?

    AU3的概念都没搞清楚还玩这个?HS 和 NP这种鸟方法都可以剥掉,不懂算号,还日个鸟保护?

    亮了(5)
  • XGX 2016-03-04回复6楼

    xingcode 框架和NP差不多,一个字节就可以带着保护和游戏一起调了,你太low了。

    亮了(5)
    • 求过保护! 2016-04-20回复

      @ XGX 大侠您的QQ是多少,诚意合作!!

      亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

老王隔壁的白帽子

这家伙太懒,还未填写个人描述!

55 篇文章8 条评论

相关阅读

  • HackingTeam安卓监控软件RCS病毒样本分析
  • OWASP移动安全测试指南抢先看:证书锁定绕过
  • 三星Android 5设备滥用wifiCredService导致远程代码执行
  • RFID智能卡犯罪:小心你的社保卡、支付卡、交通卡和饭卡
  • 采用端点检测和响应(EDR)解决方案前,你需要了解这10个问题

特别推荐

关注我们 分享每日精选文章

不容错过

  • 如何在网络中追踪入侵者(二):高阶模式老王隔壁的白帽子2016-05-11
  • 关于专业黑客组织「隐秘山猫」的详细报告jobs2013-10-11
  • StringBleed:SNMP协议“上帝模式”漏洞影响多种网络设备clouds2017-05-01
  • 【已结束】SyScan360国际前瞻信息安全会议图文直播(Live)孙毛毛2016-11-25

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月23日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me