文章总结: 本文详细介绍了H5页游的逆向工程过程,包括绕过反调试机制通过置空disableTools.js和AntiindulgenceDisableTools.js文件,分析WebSocket协议识别cocos游戏引擎特征,以及通过修改游戏逻辑调用addBuff函数给角色添加任意buff如护盾等,实现了游戏内的作弊效果。文章提供了完整的操作步骤和代码示例,展示了游戏逆向分析的全过程。
综合评分: 85
文章分类: 二进制安全,WEB安全,逆向分析
【游戏逆向】H5页游之置空反调试+Websocket协议分析+添加任意buff
原创
挖个洞先
挖个洞先
2025年10月28日 12:57
北京
“ 如果黑洞能吞下一百亿个太阳,我就是一百亿零一。
不可能这三个字,你说的太多啦!《星游记》S1E05 ”
01
—
环境版本
环境:
电脑,Windows 11 专业版 23H2
https://github.com/JiaoSuInfoSec/JiaoSuInfoSec_T00ls_Win11
软件:
Chrome,141.0.7390.77
https://www.google.com/intl/zh-CN/chrome/
02
—
操作步骤
1、页面右键,F12都没有反应,在地址栏中F12开启控制台触发debugger
2、跟调用堆栈到doCheck,可以看到屏蔽 F12,屏蔽ctrl+shift+i,自定义右键
3、Sources-Overrides,新建目录,置空disableTools.js
4、还有一个反调试,调用堆栈跟进去置空
AntiindulgenceDisableTools.js,正常进入页面
5、从日志和Fetch/XHR中可以看到cocos游戏引擎特征,Websocket协议
6、日志看到加buff关键字,跟进去断点
7、进入addBuff函数断点,看到t就是之前传入的buff值2000802,调用findById可以看到name: ‘无敌’, text: ‘身体虚无不受任何攻击,持续∞秒’,结合游戏逻辑2000802代表角色出生的一段无敌时间
this.mGameLogic.mPlayers[0][f].addBuffdataApi.buff.findById(t)
8、输出dataApi.buff复制出来,可以看到无敌有多种buff,当前的2000802应该是新手引导的无限时间无敌,其余无敌buff都只能持续几秒
9、从dataApi.buff选择一个明显的buff比如13000701护盾,导出玩家对象到全局,然后调用addBuff函数传入100个
window.myPlayer = this.mGameLogic.mPlayers[0][f];myPlayer.addBuff(13000701, null, 100);
10、可以看到每次只能增加35护盾,调用其他护盾buff可以继续增加护盾,还可以加特效,让小怪打一下不掉血只掉护盾
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:挖个洞先 挖个洞先《【游戏逆向】H5页游之置空反调试+Websocket协议分析+添加任意buff》