吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 6511|回复: 72
上一主题 下一主题

[游戏安全] 利用CheatEngine工具Ultimap功能对抗游戏数据加密以及拓展

    [复制链接]
跳转到指定楼层
楼主
机智聪明的小迪 发表于 2019-6-11 15:34 回帖奖励
前言:


昨天有个网友问我,游戏加密了咋办,我当时就震精了。加密了?干他啊!安排,必须安排!那么今天就给大家分享几个游戏数据加密的逆向方法!





步入主题:这款游戏叫做战地X盟,是一款小型FPS网络射击游戏,别看游戏小,“麻雀虽小,五脏俱全”,这个游戏也不例外,各种数据都不能让你好好逆向。

第一步,上游戏,我们拿游戏人物的子弹数量开刀,话说,大家都是这么开刀的吧,那我也开刀了:

[七颗子弹搜索七]:



还不错,有数据,那我们继续干:

[五颗子弹搜索五]:



甚好甚好,还有数据,那我们继续筛选:

[四颗子弹搜素四]:



这...有点难为人啊,于是乎,我就把所有的数据类型都试验了一个遍,依然没有数据:




搞到这里,我们必须要意识到一个问题,那就是:这个游戏数据真的被加密了!那么我们现在不妨讲一下游戏的数据加密吧:

游戏数据加密:顾名思义,就是游戏的数据被加密了呗,你还想让我咋解释...整那些乱七八糟的名词真的没必要,搞的大家都听不懂



游戏加密的后果:还能有啥后果,后果就是让你逆向不出来呗,还能咋地...




那么对抗的方法呢,来了,老弟~:

对抗方法①之闷头撞墙法:什么意思呢,游戏数据加密,我们首先要猜测子弹数量数量是不是把数据类型改掉了,比如按照常理应该是整数型,结果这个幸运快乐8计划员脑袋一机灵改成了浮点型也是有可能的,然后我们就挨个的切换数据类型扫描减少增加,这个方法我试过了,脑门都起了好几个大包了,没找到,所以果断放弃,会出人命的!





对抗方法②之佛系未知法:意思就是我们先扫描未知的初始值,然后开枪,搜索变动,不开枪搜索未变动,听不懂是吧,来我们演示下:

[先搜索未知的初始值]:






[开枪搜索变动,不开枪搜索不变动]:



然后,最后还真的找到几个跟随子弹数量变动的地址:




但是只要你修改或者锁定就知道都是没有效果的,甚至还会崩溃,而且我们还不知道哪个是关键的数据,这就很头痛了...




加密就意味着,子弹数量的数据每次开枪变动都遵循着加密的算法,可能被放大或者缩小,或者遵循着某个算法而变大或缩小

那么问题就来了,我们怎么解决呢?其实按照上面找出的地址也是可以逆向的,但是太繁琐了,我们不如找点简单的方法,那就是Ultimap!

先来讲讲这是个什么东西:

说白了,这就是个代码执行过滤的工具,可以通过该工具找到某个时刻执行或者没执行的代码,于是乎,我们就可以找到开枪攻击的关键代码或者Call

那么,怎么开启这个工具呢?第一点,加载DBVM,唉,等等,怎么又多出来一个DBVM,这又是个什么东西?

开讲了,开讲了!什么是DBVM!

官方解释:https://www.cheatengine.org/aboutdbvm.php

DBVM是一个虚拟机,它将运行您的操作系统并扩展指令集以允许用户模式应用幸运快乐8计划访问kernelmode。它允许幸运快乐8计划将系统事件流重定向到不同的位置并更改其结果。(例如,在不编辑中断表的情况下将中断重定向到不同的中断处理幸运快乐8计划

Cheat Engine可以利用这些添加的指令来简化游戏修改和调试。特别是在Vista 64中。要使用它,只需使用DBVM启动,然后启动操作系统,通常是Windows,Cheat Engine将自动检测DBVM是否已加载并使用添加的功能。

安全性:恶意软件可以使用DBVM。因此,它需要一个64位长的密钥才能使用这些指令。其中一条说明是将默认密钥更改为其他密钥,以便其他幸运快乐8计划在没有正确密钥的情况下无法使用它。

请注意,DBVM的当前实现要求您的cpu支持intel-vt指令集。对于AMD版本,请捐出足够的钱,以便我可以购买AMD系统来测试AMD的特定代码。

找出您的系统是否支持dbvm的一种简单方法是在CE徽标上点击以显示about屏幕。它会告诉您系统是否有能力。如果您实际上已经加载了dbvm,它甚至会告诉您正在运行的dbvm的哪个版本.



也就是说,不管他是什么东西,用UltiMap工具就必须开启dbvm



开启方法:



①:打开帮助界面




②:提示支持DBVM然后点击一下绿色的字



③:出来提示点击OK就可以了



相关文章参考: https://wiki.cheatengine.org/index.php?title=DBVM



然后我们就要开启Ultimap工具了!!!激动人心的时刻!!!



第一步:打开内存浏览器




第二步:点击Ultimap




然后我们进游戏,拿起枪,点击start:





开一枪,然后点击第二步的按钮:意思就是代码执行了,因为开枪了,开枪相关的代码肯定得执行





不开枪随便走两步,点击未执行的代码:







继续开枪,搜索执行的代码:





以此类推,通过我手动的过滤,还剩下175个地址:

然后我们点击下面的show,也就是显示过滤的结果




然后显示出来了,还有计数:



这边是极其重要的,因为我们开了四枪,所以相关的代码也应该执行了四次!

因此,我们把所有执行4次的代码,拷贝下来进行分析:

通过修改相关逻辑,最终实现了“无限子弹”,当然了,是自wei的,哭了,因为是网络游戏,所以子弹数量跟服务器是交互的哦~

具体的内存地址不放出来了,太敏感,而且有些人也可能会拿去做坏事~

这篇文章呢,只是讲解Ultimap工具,它是一个可以过滤代码执行的强大工具

拓展:

1.人物穿墙的碰撞检测
2.子弹穿墙的碰撞检测
3.各种内存call:比如攻击call,寻路Call
4.按钮等控件call

等等等等,自由发挥咯

老铁们点一波关注,刷一波666,带你








点评

CE6.8,CPU是2600X,显示可以用DBVM,至于能不能用代码没试过。  发表于 2019-6-13 00:05

免费评分

参与人数 76威望 +3 吾爱币 +92 热心值 +71 收起 理由
海天一色001 + 1 + 1 热心回复!
ZDEtoiles + 1 + 1 谢谢@Thanks!
ly0320 + 1 + 1 我很赞同!
45312859 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
堕落死亡 + 1 + 1 热心回复!
yehbeen + 1 + 1 6666
磐凌云 + 1 + 1 热心回复!
ThomasvH + 1 + 1 用心讨论,共获提升!
温华 + 1 + 1 我很赞同!
simplex + 1 谢谢@Thanks!
为海尔而战 + 1 + 1 我很赞同!
as8812287 + 1 + 1 学到了,谢谢楼主
june28th + 1 谢谢@Thanks!
goldengod + 1 + 1 求打包 求带走
sdlylz + 1 + 1 用了这么多年ce,居然第一次知道还有这玩意
Brownsugar + 1 + 1 此为违规行为,请遵守论坛版规!
PIN9999 + 1 + 1 谢谢@Thanks!
dongtian123sss + 1 + 1 热心回复!
liphily + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zxc8820 + 1 + 1 谢谢@Thanks!
Anewbie + 1 + 1 我很赞同!
名字以后会后悔 + 1 + 1 用心讨论,共获提升!
kiss.传说 + 1 + 1 热心回复!
fhtyzc + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
HEHE139 + 1 + 1 我很赞同!
超无奥义 + 1 + 1 用心讨论,共获提升!
yuye0512 + 1 + 1 谢谢@Thanks!
他乡 + 1 + 1 谢谢@Thanks!
mouse31rat + 2 + 1 这么久都不知道CE还有这个功能
国二少 + 2 + 1 谢谢@Thanks!
忆魂丶天雷 + 1 + 1 用心讨论,共获提升!
小XK + 1 + 1 谢谢@Thanks!
wap6575 + 1 + 1 我很赞同!
烧饼丶收割者 + 1 谢谢@Thanks!
懵逼猫咪 + 1 + 1 谢谢@Thanks!
5omggx + 1 + 1 热心回复!
feishicheng + 1 + 1 谢谢@Thanks!
jary163 + 1 + 1 我很赞同!
Hmily + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
qiukai0575 + 1 + 1 试了下别的游戏,按操作来没有数据显示,不过还是感谢分享
微风曾拂过 + 1 + 1 我很赞同!
lp55535 + 1 + 1 谢谢@Thanks!
帝王Burlk + 1 + 1 表情包小王子就是你吧
吾爱-宿命 + 1 + 1 牛逼
遛你玩528 + 1 + 1 感谢楼主讲解此功能,学习中
izisak + 2 + 1 又学一招,赶紧去实验一下
dxxd + 1 + 1 CE很强大,大家应该多多挖掘
sdaq1000 + 1 + 1 谢谢@Thanks!
wwxt0224 + 1 + 1 用心讨论,共获提升!
xwc28 + 1 + 1 谢谢@Thanks!
涛之雨 + 1 + 1 用心讨论,共获提升!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
cxp521 + 1 + 1 牛逼
weifei + 1 + 1 谢谢@Thanks!
dy10086 + 1 + 1 我很赞同!
willJ + 3 + 9 感谢发布原创作品,吾爱破解论坛因你更精彩!
咸鱼之王 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
chen4321 + 1 我很赞同!
小弦 + 1 + 1 谢谢@Thanks!
000000 + 1 + 1 谢谢@Thanks!
xwzj20170829 + 1 + 1 谢谢@Thanks!
千人千面 + 1 + 1 我很赞同!
65302666 + 1 + 1 谢谢@Thanks!
沈晨曦 + 1 + 1 卧槽,这他妈太NB了
稣兰 + 1 + 1 谢谢@Thanks!
wangyujie96 + 1 + 1 感谢分享,不过win10用dbvm容易蓝屏不知道怎么回事
残剑 + 2 + 1 很骚
HackerWen + 1 + 1 用心讨论,共获提升!
JuncoJet + 3 + 1 卧槽,CE还有这么diao的功能么
limlibgiag + 1 + 1 谢谢@Thanks!
zxt1005759639 + 1 + 1 不错哦
走过的天 + 1 + 1 666了老哥
美好的将来 + 1 没热心给你98分别骄傲
醉梦丶琉璃 + 2 + 1 我很赞同!
yAYa + 1 + 1 哈哈,排版不错
好狗边上飘 + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
gunxsword 发表于 2019-6-11 16:57
支持一下,AMD CPU,用不了这个功能,不过新版的,出了一个类似的功能!
OD用插件,也可以实现这种功能
推荐
topckey 发表于 2019-6-13 10:28
非常感谢,授人以鱼不如授人以渔

免费评分

参与人数 1吾爱币 +1 收起 理由
erciyuankafei + 1 你好,有西部世界-生存 游戏的apk不,可以分享下不

查看全部评分

推荐
美好的将来 发表于 2019-6-11 15:50
推荐
xwzj20170829 发表于 2019-6-11 21:46
我win7 64开启dbvm失败 需要在bios关闭安全引导 我这主板没这功能   试了网上的几种禁用驱动签名方法都没用
在虚拟机用签名软件签名了可以用 但是我签名另个幸运快乐8计划的文件的时候 重启后就开不了机了   现在只有一种方法 开机 f8 禁用驱动签名 但是每次开机都需要这样
楼主或大家 有没有什么永久性的解决办法

点评

我用的环境是windows10 1709版本,最新版的ce,另外,因特尔的cpu  发表于 2019-6-12 17:08
推荐
JuncoJet 发表于 2019-6-12 14:49
我用这个功能崩溃掉了

点评

大型游戏这个功能巨卡,所以如果有别的方式,或者能分析引擎的话,这个功能可以抛弃,需要电脑配置非常高才可以  发表于 2019-6-12 17:03
7#
淡水千痕 发表于 2019-6-11 16:08
感谢楼主分享,支持一下!学习了一个强大工具的用法了

8#
xwc28 发表于 2019-6-11 16:36
支持一个,思路挺好的
9#
残剑 发表于 2019-6-11 16:43
很骚。。。。。。。。。。。。。。。。
10#
dengad 发表于 2019-6-11 17:29
6666牛牛牛
11#
nbsking 发表于 2019-6-11 17:57
喜欢这样的帖子,通俗易懂!!
12#
nbsking 发表于 2019-6-11 18:01
小白的突发奇想:
通过这样修改游戏的方法,是否可以自己修改游戏DLL等之类的,做一个游戏不掉血无后等的补丁呢?
13#
 楼主| 机智聪明的小迪 发表于 2019-6-11 18:04 <
nbsking 发表于 2019-6-11 18:01
小白的突发奇想:
通过这样修改游戏的方法,是否可以自己修改游戏DLL等之类的,做一个游戏不掉血无后等的 ...

掉血后代码执行,不掉血代码不执行,前提要过掉驱动保护
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:禁止回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2019-7-16 12:03

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表