吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 17786|回复: 271

[原创逆向图文] 【游戏封包】封包FZ“初体验”

  [复制链接]
30659653 发表于 2020-6-1 13:13 | 显示全部楼层 |阅读模式


前些日子的几篇笔记,分享了如何快乐Ctrl+F9定位游戏功能Call,和处理游戏在这方面设置的障碍,有没有学废了呢?
图片19.png
假设...啊 我们假设 张三学废了,然后....
图片20.png
然后....
张三就开始快乐的测试功能Call了,嗯 正当张三同学最快乐的时候,客户端弹出了一个小窗口...第三方检测了..张三同学被封号了。
PS:初次了解封包,最好先看完之前的三篇笔记)
图片21.png
上面的故事真是闻者伤心听者落泪啊,不管是重写发包函数还是线程发包,虽然技法巧妙 但是只要清楚原理 细细分析,总会有漏网之鱼。
所以龙门前不会只有这些困难,后面也是布防甚多.. 比如,功能Call的检测有什么变量检测 堆栈检测,恐怕是层层套娃 MV众多,解决起来更是烦躁无比啊!(欲扬先抑,先夸张一下)
图片22.png
那我们学废之前的技巧有啥子用罗?和上面那些花里胡哨的东西 中路对线?
当然不是,所谓黄河之水宜疏不宜堵,之前的三篇笔记都是铺垫 我们一开始的根本目的完全不是为了快乐的Ctrl+F9。
图片23.png
在揭晓谜底之前我们来观察一个珍贵无比的示例:
捕捉用户键盘消息——》技能相关的几个函数——》告诉服务器我要释放某某技能
一款网络游戏角色释放一个技能,大概就是上面这种流程。那比如我们找到了游戏的技能Call 调用它释放技能,会是什么样子?
会变成这样:
技能相关的几个函数——》告诉服务器我要释放某某技能
同学们,有没有看出来什么?哦,张三同学看出来了,同时它还有一个大胆的想法。
其实归根结底就是告诉服务器我干了啥,那我们能不能中间砍一刀 直接告诉服务我要释放啥啥技能,然后达到释放技能的目的?
当然可以,游戏实际上就是这样释放技能嘛,我们自然也可以这样做,以至于80%的功能 我们基本都能直接自己发送封包实现它。
哇哦!那这样做有什么具体的好处?
通过自己发包,试探变态功能这里就不讲了,我想FZ通常大家有一个很关心的点(小声:嘿~~兄弟gua稳吗?)
图片24.png
如果把游戏检测比作地雷,那么游戏代码游戏领空就是雷区,想调用游戏功能call免不了遇到有埋雷的情况,而就算是排雷老手也免不了会踩上几颗。所谓究极的排雷方法,就是不走雷区到目的地,你那有雷我绕着走不就是了么。
这里也是同样的道理,我们走自己的代码通过send()系统发包函数发送封包实现功能,这样就避开了游戏领空的地雷,所以只要是完美的封包FZ90%稳稳的很安心。
既然说到了“完美”二字,当然就有不那么完美的。毕竟自己发包实习功能,可不是说说就完成了。
让我们来观察一个珍贵无比的示例:
组包--》加密--》发包
游戏要发送一个封包,通常都要走这么一个流程。组包:把你做的坏事打包成小报告;加密:这是你和服务器的小秘密不能让别人知道;发包:把小报告邮寄给服务器。
明显的我们要想完美的达到目的主要有三大难点:
1. 分析封包
2. 寻找明文封包
3. 寻找加密函数
分析封包:客户端告诉服务端我释放了某某技能,总不可能写得汉字吧,所以我们需要分析封包,知道释放技能应该以什么形式描述。
找明文包:系统发包函数上下断确实可以获得封包内容,但是多半是加密的,而且加密的密钥可能随时会发生变化,加密后的内容基本就是一团乱码无从下手没法分析,所以我们得找到内容还未被加密的地方。
加密函数:我们找到明文包了,也分析了放什么技能该发什么包。但是服务器可是要被加密后的封包啊,直接发送一个明文过去 服务器不认事小,第三方就不好了。我们要学客户端,把明文包加密一下,当然 得按游戏的加密方式,那么我们就得找到游戏的加密函数。
找明文包 图片25.png
(一)理论
明文包的寻找是我们的首要任务,以此为跳板才能分析封包 定位 加密函数,如何寻找?不如再来欣赏一下这个珍贵无比的示例:
组包--》加密--》发包
我们可以观察到,从组包完成到加密的这段过程,封包内容是明文的未加密的。通过面对对象的编程原则,我们可以猜测这几个步骤在代码中的表现形式,就是几个对应的函数。
或者说组包完成后,封包数据会通过函数一层一层传递,函数怎么传递数据到另外一个函数?没错,当然是通过参数。那么我们是不是能够在发包处下断,使用传统手艺Ctrl+F9逐层返回所有经过的Call(函数),通过分析他们的参数内容,来找到明文的封包内容?
图片26.png
正确!不过在准备撸起袖子加油干之前,我们还有一个问题需要解决,我们怎么分辨出明文封包内容?要知道这些东西可不会写着I is 明文包,它们在内存之中的形式就是一串数字,而堆栈中所有函数的任何参数也都是一堆数字,怎么办?
想象一下你在茫茫人海中,光凭一个模糊的照片去寻找一个人,这该有多么困难~但是如果那个人的长相特立独行...比如头上长个角?再顶两只猫耳朵..是不是就简单多了?我相信眼尖的你肯定一眼就认出他了。
图片27.png
道理是一样的,那封包里面会不会有这种引起围观的奇异种?我想大多数游戏都是有的,也就是喊话功能 或者 说聊天功能,你想想看在游戏中你和队友聊天,客户端是不是一定需要发送一个装有聊天内容的封包给服务器,这样服务器才能更新到其他玩家的客户端上。我想大家应该都知道吧,实际上电脑只能储存数字...而字符是通过一张表把一些数字定义为字符,如图:
图片28.png
通过表图我们可以看到,字符 1 的对应数字是49,以十六进制表示 0x31。那么我们喊话一串“11111111111111”断下,它在封包内容里面就是一串 31 31 31 31 31 31....
Nice~ 纸上谈兵不如真刀真枪的干一架,请出我们的老伙计私服版的幻想神域2 带来一段珍贵无比的简单实例。

图片29.png
(二)实战
先在上面笔记说到的跳出线程发包代码段下断,可以当发包下断可以断到功能函数,当然我们并是要Ctrl+F9去找Call,而是返回上一层寻找未加密的封包内容。
喊话“1111111111”断下. 图片30.png
图片31.png
游客,如果您要查看本帖隐藏内容请回复
Nice~! 封包吃药成功~(使用药水这几个字可不是我P上去的啊,游戏嗑药就这特性)
麻雀虽小,五脏俱全 ; 经历千辛万苦我们终于达成了目标!虽然只有一个简单的嗑药功能,但是这却是一个货真价实的封包FZ!!!
总结:
封包FZ也并不多神秘和神奇,只是省去了中间的过程,直接联系服务器。
优点: 不走游戏代码,相当于避开了所有的本地检测,极其稳定。
缺点: 需要做很多前期工作,实现麻烦、分析封包费时费力。
屈尊调用游戏功能函数“内存FZ”研究速度快,认真逆向分析封包内容“封包FZ”快乐而稳定!
图片60.png

图片18.png

评分

参与人数 55威望 +1 HB +162 THX +32 收起 理由
lies + 1
非同一般 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
我是小天 + 1
sjtkxy + 1 + 1
满眼皆是你 + 1
459121520 + 1
消逝的过去 + 2
娄胖胖 + 1
577159380 + 1
agan8888 + 1
飞刀梦想 + 1
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
微熊猫 + 1
鱼哥哥 + 1 + 1
xgbnapsua + 1
temp + 1
别来无恙 + 1
thunderiser + 1
学大大 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
小菜虫 + 1
在天一方 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zm315857235 + 1
曦照 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
4957465 + 1 + 1
baobeitom + 2
三月十六 + 1
hou + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
wbxs2077 + 2 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
bnjzzheng + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zwj00544 + 1 + 1
我是好人 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
yuan2020 + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
拿着雪糕 + 1
ldljlzw + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
豆0o0豆 + 1
djyag10 + 1 + 1 [通知]学破解论坛即将在近期更名为吾爱汇编论坛WWW.52HB.COM
ST手怎么白了 + 5 + 1 [通知]学破解论坛即将在近期更名为吾爱汇编论坛WWW.52HB.COM
hnymsh + 1
白云点缀的蓝 + 6 + 1 [快捷评语]--评分=感恩!简单却充满爱!感谢您的作品!
szukodf + 1 [快捷评语]--你将受到所有人的崇拜!
喵帕斯 + 1 [快捷评语]--你将受到所有人的崇拜!
打秋风的猫 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
x19357 + 1 + 1 [快捷评语]--你将受到所有人的崇拜!
kpking + 2 + 1 [快捷评语]--你将受到所有人的崇拜!
lizijian951 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
Zeroday + 1 + 1
kms15 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
RXL373093656 + 1 [快捷评语]--积极评分,从我做起。感谢分享!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Crook 发表于 2020-6-1 14:07 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
||| 发表于 2020-6-1 13:46 | 显示全部楼层

看完了明文部分,,晕乎乎的。。回复一下看看隐藏了什么。。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
dg591222210 发表于 2020-6-1 17:44 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
fyh505099 发表于 2020-6-1 18:46 | 显示全部楼层

回复看看隐藏了什么好东西
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
RedXu 发表于 2020-6-1 20:44 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
vipsnadong 发表于 2020-6-1 21:59 | 显示全部楼层

值得拥有,值得学习
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
learn0206 发表于 2020-6-2 06:26 | 显示全部楼层

來學習技術了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
任国富 发表于 2020-6-2 11:31 | 显示全部楼层

感谢你的分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
192939 发表于 2020-6-2 20:05 | 显示全部楼层

游戏封包】封包FZ“初体验”
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
赞帖
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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