H5游戏(三)之简版websocket中间人

查看 64|回复 10
作者:闷骚小贱男   
H5游戏(一)H5游戏之WebSockets初涉
H5游戏(二)给游戏做内挂
为什么会又这篇文章(废话)
这段时间研究一个Cocos2D-JS的小APP,发现能一直领精英副本奖励,所以㝍了一个ajs,但是操作下来速度太慢了。
黄鸟抓包发现是ws通信(奇怪的是FD抓不到。),解密多个jsc之后发现分析代码也不简单
想着用fiddlerScript替换WX小程序ws的帐号登录,效果始终不如意。
突然想到用中间人的形式,APP的所有数据都通过我搭建的服务器,并由此服务器转发给真正的服务器,收到信息后下发给APP,开干。
fiddler和小黄鸟的抓包,好像都不能发送字符串或者是HEX给服务器?
bug的发现过程
  • 单人模式闯关未完成,重启APP之后还是之前的界面
  • 精英关闯关未完成,重启APP之后会下发一个奖励补发邮件(再次重启无邮件)
    [ol]
  • 查看所有应用的本地文件,发现databases中的jsb.sqlite很可疑,打开后发现有战斗数据,
  • 再次精英闯关并结束APP,把jsb.sqlite文件复制到另一个文件夹,重启APP,收到补发邮件
  • 把备份的jsb.sqlite复制回databases中,重启APP,依然还能收到补发邮件。
  • 所以抓包,分析,找到提交精英关未完成的那一条数据,重复发送,会一直收到补发邮件(上限50封邮件)
    [/ol]
  • 重新开一局之后,jsb.sqlite文件失效,复制后无补发邮件

    为什么要用中间人?
    [ol]
  • 易语言wss刷副本奖励之后,app会掉线,需要重新关了才能重连。。
  • 易语言wss刷副本奖励之后,如果用易语言wss领奖励,需要提交邮件的id,需要逆向代码,耗时,但是如果完成之后的确挺好,但是对我这种小白来说挺难
  • 中间人刷奖励之后,不需要关闭APP
    [/ol]
    用到的工具
  • 易语言是必备。。
  • e2ee
  • fiddler

    分析/操作
    修改ws服务器地址
    APP是通过一个.json文件来获取ws服务器地址的,所以大大提升了可操作性
    我们通过fd的“自动回复器(AutoResponse)”修改ws的服务器到笔记本易语言搭建的e2ee


    ws1.png (43.96 KB, 下载次数: 0)
    下载附件
    2024-11-12 12:02 上传

    这样的话,笔记本易语言e2ee搭建的服务器就起到中间人的形式
    易语言用e2ee搭建服务器
    [ol]
  • 因为是中间人,所以WebSocket服务器和WebSocket客户端 都用到了,所以设置2个变量
    [/ol]


    变量2.png (59.22 KB, 下载次数: 0)
    下载附件
    2024-11-12 12:32 上传

    [table]
    [tr]
    [td]WebSocket服务器[/td]
    WebSocket客户端[/td]
    [/tr]
    [tr]
    [td]接收APP发来的消息

    中间人, 服务器

  • GodofPurelove   

    大神,想问一下在面对依靠wasm由unity开发的h5游戏要怎么来修改相应的代码以便做到和您之前第二章给游戏做内挂的那样的效果呀
    ouzhenwei   

    厉害了,大神
    nightsum41   

    这就叫专业!
    slpslp   

    牛啊 按照这个思路我玩遍h5
    startGuard   

    太牛了,我要学着试试
    dingopark   

    卧槽,我有N个不成熟的想法
    Zsw0126   

    太棒了,我得学习一下
    ilovepojie   

    不错不错,学习了
    PookyMa   

    不错不错,我学习了
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部