微信小游戏抓包分析

Android逆向 微信小游戏破解(二):Charles抓包与数据篡改实战 本文是Android逆向破解微信小游戏的实战指南第二部分,重点讲解如何使用Charles抓包工具进行网络数据捕获与篡改。文章详细演示了Charles环境的搭建、SSL代理配置、手机证书安装,以及如何从海量请求中精准识别游戏数据包。通过结合Postman工具,手把手教你解析请求结构、伪造并发送修改后的游戏数据(如金币、等级),最终实现游戏内资源的修改,并提供了加密数据应对策略及常见问题排查方法。 阅读详情

故事起因

       新的一年又开始了,因为才恢复正常工作不久,手上的活儿也不是很多,因此就有了一些时间供本人挥霍。期间为了帮一个同学的忙,玩了一段时间Arduino,结果当实现的差不多的时候,又告诉我不需要了,当时真的是欲哭无泪,好吧扯远了,原谅笔者凑了一波字数。
       故事的起因是在一次出差中,因为出差的地方只能做大巴去,所以路上消耗的时间还是比较久的,期间我的leader向我分享了一个微信小游戏-消灭病毒,然后我两就沉浸在了冲关的道路上,越走越远。
       这个游戏跟早些年的飞机大战很像,但玩法比飞机大战丰富多了,并且依托于小游戏的平台,所以还是火了一把。值得注意的是,这个游戏并没有充值的通道,只能靠一些分享或者看广告来获取额外的奖励。因为还有排行榜功能,所以也算是激起了玩家的战斗欲,总之我和我leader之间就默默地形成了看谁冲关冲的远的这种现象,正值这周接了个保障的活,空闲时间比较多,所有才有了这篇博客。

微信小游戏

       消灭病毒这款游戏最开始好像是有自己的应用的(具体是不是就不知道了,只知道有apk版的),然后可能玩家比较多,然后依托于微信小游戏平台,做了移植,笔者也是玩的微信小游戏版本的。
       由于消灭病毒随着关卡的增长,难度越来越高,再加上笔者的游戏水平实在是不咋滴,当然最重要的一点是跟我比排行的leader的水平比我要高,所以整的我心慌意乱(这里使用了夸张的修辞手法),因此升起了一些小心思,是不是可以通过一些其它的手段能提升我的能力呢,有着宽裕的时间再加上以前有着一点儿android,手游,小程序的基础,便开始了我的"上分之路"。

冲关之路

Fiddler抓包

       微信小游戏在我的理解其实就是H5游戏,只不过是依托在了微信这个大平台上,玩家打开某个小程序后,便会从微信的服务器上下载对应的应用包下来(wxapkg,小程序的一种包结构,类似于以前的apk包),然后再在本地的V8环境下运行着。
       因为笔者以前也做过手游,也接触过飞行射击类的游戏,因此猜测,消灭病毒这种弱联网游戏一般都只有在关卡结算或者退出时,才会向服务器上写入玩家数据,所以便想着有没有机会了解一下这个数据交互的过程,因此决定抓包查看。
       这里笔者使用了Fiddler工具进行抓包,下面就先简单地介绍一下抓包的流程。

PC软件安装

       Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。(以上内容摘自百度百科,详细资料可以通过右侧的传送门前往-Fiddler传送门
       对这个工具有了一个初步的了解后,我们便可以开始进行安装了,笔者是前往的Fiddler官网进行的下载。
       进入官网,点击右上角的TRY NOW按钮,来获取Fiddler。
Fiddler官网
       根据提示,填充相关信息后下载Fiddler的安装包。
Fiddler下载界面
       下载后成功获得安装包,然后一路傻瓜式的安装即可。
Fiddler安装包
       安装成功后,点解Fiddler.exe图标,启动Fiddler。
Fiddler启动图标
       Fiddler运行界面。
Fiddler运行界面
       这里我们需要进行一下简单的配置,详细步骤可以参考Fiddler手机抓包
       点击Tools按钮,出现下拉选项,继续选中Options按钮进入设置界面。
在这里插入图片描述
       进入Options界面,点击General选项卡,勾选如下选项(该选项基本是默认的好像)
在这里插入图片描述
       进入Options界面,点击HTTPS选项卡,勾选如下选项。
在这里插入图片描述
       进入Options界面,点击Collections选项卡,勾选如下选项,这里主要注意的是监听端口的填写,不能与本地的应用端口冲突,该端口号之后需要使用到。
在这里插入图片描述
       配置完成后点击OK,然后重启Fiddler工具,使配置生效。

移动端代理配置

       Fiddler抓包前提是使用的移动端(泛指手机)与安装了Fiddler工具的PC机处于同一个无线网络内。然后手机通过设置代理来实现由Fiddler转发的功能。这里笔者使用的手机是小米8。
       打开无线设置,然后选中对应的无线网进行进一步的管理,在代理设置处改选为Manual,然后HostName填写为安装了Fiddler工具的主机IP,端口号为之前安装Fiddler设置的端口号。
在这里插入图片描述
       修改成功后(手机跟pc在一个无线网),用手机浏览器访问Hostname:Port下载证书(抓取Https时需要的),下载完成后安装即可。
在这里插入图片描述
       大部分手机可以直接安装证书,笔者的小米8在安装过程中需要一点儿小弯路,无法直接安装,需要在无线设置-增强型设置里手动安装。
       无线管理-增强型设置。
在这里插入图片描述
       安装证书。
在这里插入图片描述
       选择对应的证书进行安装。
在这里插入图片描述
       完成上述操作后,就可以在Fiddler中抓取到手机的包了。

抓包尝试

       保持需要抓包的手机跟安装Fiddler软件的PC机处在同一个可以上互联网的无线网络中,根据上一条的配置逐步操作。
       成功启动FIddler后,可以在如下图标红的位置查看本机的IP,然后手机端配置相应的代理,Fiddler即可实现抓包功能。
在这里插入图片描述
       配置正常,运行正常时,可以在左侧发现大量的请求。
在这里插入图片描述
       此时,用手机登录小游戏,在左侧的请求列表中,就会看到一些有意思的请求了。
在这里插入图片描述
       从请求名字中,也许就能发现些什么,upload,开发小哥的接口做的还是很见名思意的,默默地点进去瞅一瞅,通过Fiddler工具,我们可以看到请求和回应的详细信息。
在这里插入图片描述
       点开upload请求的请求内容,看到了一堆json类型的数据,并且发现数据并没有加密,居然是明文传输=-=,直接就能看出火力值,金币,钻石,活力等信息。
在这里插入图片描述

模拟请求

       因为在上一步发现消灭病毒这款微信小游戏,可以比较轻松地抓取到请求的内容,并且是明文传输的,所以便迫不及待地打开了我的Restlet Client工具(笔者的笔记本因为安装Postman老是报错,所以就装了个类似于Postman的工具Restlet Client来调试了)。
在这里插入图片描述
       对照着之前Fiddler抓取的请求内容,创建好HEADER和BODY(第一次尝试,完全拷贝抓取的信息),默默地点了一波发送,然后就发现返回跟Fiddler抓取的Response是一致的,于是。。。嘿嘿嘿。。。
在这里插入图片描述
       发现可以直接用工具发送请求并且服务器正常回应后,二话不说,直接把请求内容中的什么金币啊钻石啊之类的往上加了加(我真的只加了一点儿一点儿,诶?加了几个零来着!),然后点击发送,然后发现返回了1000,操作失败,看来并没有想象中的简单。
在这里插入图片描述
       第一次尝试失败后,就意识到了在请求体中必然有一些数据是用来验证的,于是仔细地观察一波。没错,被马赛克勇士绑架的一些信息,都是一些无序的字符组合,因此暂时对这些数据进行重点分析。
在这里插入图片描述
      通过进一步的观察后发现,uid,openid其实就是对应着游戏中设置界面的ID,于是一下子排除了两个选项。
在这里插入图片描述
      再看剩下来的两个怀疑对象,嗯,名字都叫sign,可疑度增加1000点,经过多条数据抓取,可以发现,短时间内的第一个sign值是相同的,因此直接锁定最后一个sign值,该值每次请求都会发生改变。这里就牵扯到了数据的加密解密了,因此就想着是否能获取小程序源码了,毕竟加密解密不能光靠猜。

反编译小程序

      小程序刚出来的时候,看过一点儿入门基础,小游戏可以看成一种简化的小程序,但又加强了绘制功能。因为以前从没有反编译过小程序,因此就找了把度娘,然后就再次验证了度娘的强大。
      笔者参考了链接如何反编译小程序,使用了夜神模拟器,RE管理器以及Github上qwerty472123大神写的node.js版本的脚本(如果没有nodejs的环境话,可能还要考虑一下nodejs环境的安装,这个直接度娘即可)。在使用脚本前需要安装一系列依赖,根据上面连链接博客中一步一步操作(笔者在尝试的时候,少了不止参考博客中的依赖,总之少啥就装啥),最终成功反编译出了源码。
在这里插入图片描述
      使用微信开发工具打开工程,静静地观摩一波源码。导入时当提示需要appid之类时,只需点击小游戏,然后会自动分配一个id给你(这个游戏没有,但点完之后就可以进工程了=-=)。
在这里插入图片描述
      仔细浏览一下大概的结构,就会发现主要的逻辑全在code.js中。然后根据之前推断的一些关键字,sign,archive\upload,md5等进行一波全局搜索,就能发现一些有趣的事情了。最终发现了sign的生成原理,并且在生成过程中还删除了一些信息,appid和secret。
在这里插入图片描述
      删除的信息,全局搜索了一下,居然还搜到了,很是尴尬。。
在这里插入图片描述
     加上之前知道了加密过程,将加密方法截取出来,填入自己的数据,尝试生成sign值。
在这里插入图片描述
在这里插入图片描述
     将自己生成的sign值跟之前截取到的消息中的sign值比对了一下,发现一致,就知道了本次探索基本结束了,静静地修改数据,重新生成sign值,然后发送请求,然后就成功修改了数据。

总结

     笔者在本次摸索中也遇到了一些坑,比如数据格式的正确性,运行库的依赖等等,不过总体还是实现了预期效果。
     最后非常感谢一位不认识的朋友,给我提供了非常多的帮助,非常感动。
     下面将附上他的博客的地址,欢迎大家前往观看,TMaize的博客,同时他也制作了修改的小工具供大家使用,在线修改工具

windows下PC端小程序抓包--Fiddler&Charles 大家好,你是否曾经遇到过想要抓取Windows下PC端小程序的网络请求数据,但不知道该用什么工具呢? 今天我要介绍的Fiddler和Charles两款工具,可帮助你轻松切入小程序网络请求的世界。作为一名深耕测试多年的老鸟,我深深了解这些工具的便捷性,所以我希望和大家分享一些实用的技巧和经验,以便能让大家更好的开展自己的测试工作!! 阅读详情

相关推荐

PC端微信小程序使用Fiddler进行爬取抓包

微信小程序抓包微信小程序爬虫 使用Fiddler对电脑端的微信小程序进行抓包处理,以及相关操作注意事项

qq_42700863的博客 3万+

Fiddler 微信小程序抓图教程(非常详细)从零基础入门到精通,看完这一篇就够了

本篇文章主要给大家详细讲解如何用Fiddler爬取微信小程序图片,内容图文并茂,流程非常简单,我们开始吧。目录一、获取软件并打开二、点击工具设置相关代理三、如何抓图四、答疑五、总结一、获取软件并打开1、通过百度网盘下载获取安装包(链接是永久的)链接:https://pan.baidu.com/s/1GPwJfcNqkO0VtYklOcED4g提取码:0tsu2、进入fiddlerhhb文件夹,双击启动 Fiddler.exe。

leah126的博客 3万+

微信小游戏真机网络调试利器:spy-debugger抓包实战指南

在移动应用开发中,网络请求调试是定位线上问题的关键环节。其核心原理是通过中间人代理技术,拦截并分析设备与服务器之间的HTTP/HTTPS通信数据。这项技术的价值在于能够穿透模拟器限制,直接捕获真机环境下的真实网络行为,对于诊断因特定机型、网络环境或安全策略导致的疑难杂症至关重要。在微信小游戏开发这一具体应用场景中,由于微信环境的特殊性和HTTPS的普遍使用,通用抓包工具常面临兼容性与解密难题。本文聚焦的spy-debugger工具,正是针对此场景的解决方案,它集成了网页调试与HTTPS解密功能,通过配置代理

weixin_34112399的博客 360

可用的微信小程序抓包方式(Charles + bp)

接到对公司小程序进行渗透的任务,尝试了网上几种对小程序抓包的方式(Burp+Proxifier、Burp+安卓模拟器等)都无法完成抓包,可能已经失效,结合不同的文章尝试了bp+Charles,成功抓包

小司机的奥拓 1万+

JS破解 微信小游戏awardInfoB分析

JS凡客互动 微信小游戏awardInfoB参数分析微信经常遇到如下各种排行榜的小游戏,手残的是不是想通过改分数获得第一名?那就来搞一下。。。 1.上抓包看提交的数据,只有achieve和awardInfoB加密了 其他都是正常的参数 直接搜awardInfoB关键字查找 g_config.awardUsername && (info.ausername = g_c...

qq_18421167的博客 3398

Android逆向 微信小游戏破解(一):我要当皇上满级修改

1、我要当皇上的wx小游戏修改首先游戏长这个样子, 我的长这个样子 1.首先需要用的到的工具,抓包工具,postman抓包工具有很多,自己百度一下吧。我用的是charles,这个是mac版本的。Windows的网上更多,需要的自己百度,方法都一样。例如: Fiddlepostman,模拟前端发送数据到后台,主要修改的工具。这个下面细说2.先看看抓包看看,首先需要配置charles的ht...

LiuJP的博客 1347

微信小游戏逆向实战:我是如何发现《我要当皇上》明文传输漏洞的

本文详细分析微信小游戏《我要当皇上》的明文传输漏洞,通过Charles抓包工具捕获并识别关键API,揭示了数据传输中的严重安全隐患。文章提供了从环境搭建到漏洞挖掘的完整流程,并给出加固建议,帮助开发者提升小游戏安全性。

weixin_29327525的博客 299

记一次微信小游戏测试

因为目标站点只能微信打开,微信又不能调试看代码。这里推荐可以使用pc端旧版微信3.2.1,具体方法放链接里:需要注意的是,如果作者方法未生效,可以把pak文件放微信安装目录再重启试试。看到Show DevTools就说明成功啦!

jennycisp的博客 598

调试微信小游戏:spy-debugger网络请求分析

微信小游戏开发中,网络请求异常是常见问题。传统调试方式需USB连接设备,操作繁琐且兼容性受限。spy-debugger提供无线调试方案,支持HTTP/HTTPS抓包与实时网络请求分析,无需修改游戏代码即可定位问题。 ## 核心功能与原理 spy-debugger集成三大核心模块: - **weinre**:页面调试工具,实现DOM元素审查与控制台日志输出,对应模块路径[buildin_modu...

gitblog_00547的博客 978

微信小程序《胡莱三国》----websocket分析

最近玩小程序《胡莱三国》 抓包看到是websocket传输数据的分析一下 1.Fiddler代理手机抓包 2.打开小游戏抓包 打开游戏会有一个ws请求可以看到数据并不是我们熟知的json格式。 通过反编译小程序并搜索关键字找到这么一段解密的函数。 MessagePack百度搜索发现有它对各种语言的支持:c、java、ruby、python、php...于是用了py版的 ...

suyancc的博客 7931

Android网络抓包与数据篡改实战:从Charles配置到微信小游戏逆向

网络抓包是理解应用通信原理、进行安全测试和协议分析的基础技术,其核心在于中间人(MITM)代理机制。通过代理工具拦截并解密HTTPS流量,工程师可以清晰查看客户端与服务器之间的数据交换过程,这对于调试、性能优化和安全审计具有重要价值。在移动应用尤其是游戏场景中,分析网络请求能快速定位关键业务接口,如用户数据获取和分数上报。本文以微信小游戏为例,结合Charles工具,详细演示了从环境搭建、证书配置到请求识别与篡改的完整流程,重点涵盖了SSL代理破解、断点实时修改以及Map Local静态替换等实战技巧,并探

weixin_29323493的博客 852

跳一跳高分总被碾压?wxgameHacker 开源小游戏辅助,一键自动刷分轻松登顶榜一

晚上十一点,你刚打出个自认不错的分数,刷新排行榜一看——好友的分数是你的三倍。手速、运气都试过了,还是被碾压。其实你缺的不是手速,而是一个叫 wxgameHacker 的开源小游戏辅助工具——专为微信小游戏《跳一跳》设计的自动刷分工具,免费开源、代码透明,小白也能玩明白。 [![wxgameHacker 自动刷分工具助你登顶跳一跳好友排行榜](https://raw.gitcode.com/gh

gitblog_00744的博客 182

跳一跳刷分工具wxgameHacker完整上手教程:小白也能看懂的解包与提分实战

如果你也玩过微信小游戏《跳一跳》,一定记得那段"手指按到发麻"的日子。2028 年某个深夜,我把手机屏幕按得咔咔响,还是卡在 200 多分,而好友排行榜上第一名的 888 分像一堵墙。更气人的是,室友用脚趾头都跳得比我远。那时候我冒出一个念头:**分数能不能不靠手,靠代码?** 后来我真的找到了答案,就是今天要聊的开源项目 wxgameHacker——一个免费、纯 Python 实现的跳一跳刷分工

gitblog_00228的博客 64

微信网页游戏刷分BUG利用——抓包分析记录

前言 臭臭今早上跟我说,他们做的诗词小游戏被人破解后台接口然后刷分了。问我能不能分析一下怎么做到的,该怎么修复。然后我就看了看,学习一下移动端(微信网页)分析技术 抓包 分析 我只了解PC端网站抓包分析,移动端没有做过。所以最开始的思路是把小游戏放到PC上来搞。 “请在微信客户端打开链接”这个判断很好骗,在UA上面加上MicroMessenger/6.6.2.501 就好了。整体的UA如下: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2 like Mac OS X) Ap

Monster_li57的专栏 3749

[微信开发利器]微信内移动前端开发抓包调试工具fiddler使用教程

无论是使用Fiddler还是Sniff Master,抓包工具都能帮助我们分析微信内的H5页面。对于新手来说,Sniff Master可能是更好的选择,它简化了配置过程,提供了更友好的界面。而对于需要深度分析的专业人士,Fiddler仍然是强大的选择。记住,这些工具的主要用途是调试和分析,合理使用才能发挥最大价值。

2501_91113844的博客 751

跳一跳刷分不再靠手速:wxgameHacker 原理拆解与三步上手指南

深夜里你第 37 次刷新《跳一跳》排行榜,看着好友列表里那些三位数、四位数的分数,再看看自己卡在 60 分的战绩,是不是有种"手残党不配玩游戏"的挫败感?别急着怀疑人生——其实"跳一跳刷分"这件事,早就有个开源项目 wxgameHacker 把路走通了。它不碰屏幕、不用模拟点击,而是用一种更"黑客"的方式搞定高分,而且代码完全开放,连编程小白都能照着研究。 ## 先对个暗号:你的最高分停在多少?

gitblog_00322的博客 192

如何在现有项目中手工引入 lowcode-engine UMD 包并初始化低代码设计器

如果您不是从零开始搭建低代码项目,而是想把 lowcode-engine 编辑器集成进一个已有的 Web 工程,官方文档 [接入编辑器](https://link.gitcode.com/i/e584a1e1d4bb727b0cfbf665e7359d4f) 提供了两种路径:通过命令行工具 `@alilc/create-element` 快速创建项目,或手工引入 UMD 包自行配置。本文讲的是第二

gitblog_00916的博客 187

手把手教你用Charles+Postman破解微信小游戏《我要当皇上》(附详细配置截图)

本文以微信小游戏为例,详细介绍了如何使用Charles和Postman进行网络抓包与API模拟,以探索游戏客户端与服务器的数据交互逻辑。通过环境配置、流量捕获、请求解析与模拟篡改的完整流程,深入剖析了数据通信机制,并强调了技术研究的伦理边界与安全考量。

w8x9y0z1的博客 228
上一篇: 算法学习笔记1(数组,动态数组,散列表)
下一篇: C#入门经典第七版读书笔记1(C#简介)
moonfish0607
博客等级 码龄11年 26粉丝 50原创
评论 24
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

moonfish0607

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值