微信小游戏(二):我要猫咪满级修改
本帖最后由 非己非人 于 2018-12-2 18:33 编辑之前说了,两个帖子的,周末难得有空,就补上帖子了。
之前的帖子地址:
微信小游戏破解(一):我要当皇上满级修改
https://www.52pojie.cn/thread-828363-1-1.html
这个和之前最主要的区别就在,之前的请求的所有信息都是明文显示的,这次我们来换一个加密的数据,如何去解密并如何将数据修改后加密。
1、首先这个游戏,长这个样子(没有新号了,这个是最后的样子了)
2、软件除了上一个帖子的,postman,charles,这次还需要微信开发者工具(主要用,查看源码,已经调试),HBuilderX,安卓模拟器
首先解释一下本次新增的工具:
1、由于本次传输数据是加密的,所以我们需要获取微信小游戏的源码,根据源码去获取它的加解密方法。
2、苹果手机未越狱的,没办法获取微信源码,所以需要安卓模拟器,或者root过的安卓手机。
好了,开始玩吧!!
一、首先还是抓包,按照上个帖子的教程,应该可以很快的知道,这个游戏的请求链接为:https://www.pongpong.club:443
具体抓包的教程,上个帖子有,所以在这就不再重复了。
二、根据上一个帖子的经验,会发现,只要退出游戏,就有save这个请求,很明显也是保存用户信息的,所以和之前一样,看看保存的是什么吧!
发现数据被加密了。这才正常嘛!
三、既然被加密了,这时候没办法只能去看看源码了,根据源码逆推了。所以我们去获取微信小游戏的源码吧!
首先,安卓root的用户,可以直接去以下文件路径去找对应的wxapkg文件:
[*]/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/
这个,里面会有很多,简单的筛选方法就是,你先分享游戏出去,然后删除小程序,再点击之前分享到你的电脑上的游戏,进去,就会重新下载游戏,这样你按照时间筛选,就能很快的获取源码了。
模拟器打开以后,点击微信下面第三个发现,小程序,然后去搜索你要的小游戏名称。
然后就是这样的。这时候你的模拟器需要同时登陆微信和QQ,微信获取源码,QQ主要是将wxapkg,打包后发送到你的电脑上,毕竟模拟器,直接和电脑传输文件有点麻烦。
好了,然后按照时间,打包发送你电脑上的QQ里面就好了。解压完获取到了wxapkg文件,接下来最重要的如何获取源码了。
四、最重要的准备工作就是如何获取源码了!!!
需要电脑安装node.js,因为gitHub上,有大佬已经基于node.js,写出了获取微信源码的方法了。
1、去gitHub上,下载大佬写好的基于node.js的开源文件:https://github.com/qwerty472123/wxappUnpacker,下载好放在单独的地方。网盘下载地址放在最下面
2、安装node.js,下载地址:https://nodejs.org/zh-cn/download/,自己去下载对应的平台信息。
3、安装完后,需要安装对应的依赖。cmd命令行,cd到刚刚下载的github上的解压完的文件夹下。(命令不了解的,百度一下谢谢!!!!)
4、在此文件夹下,执行以下命令:
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
MAC,我当时试的时候,好像有不成功的,sudo执行一下就好了,具体的有问题百度,我也记不清了。
5、好了,到了最终的反编译源码的时候了。
在当前目录中(gitHub下载并解压的文件夹中,shift+右键,在此处打开命令行),执行如下命令:
node wuWxapkg.js D:\_1243200311_32.wxapkg(这里就是你放微信小游戏的wxapkg的文件夹地址,执行成功后,会有一堆绿色的success)
这样成功的话,就会有_1243200311_32文件夹了,文件夹里面是这样的:
五、源码获取完之后,我们导入微信开发者工具来看看
点击左边的,小程序项目,右下角的+号,添加项目:
按照上图添加对应的信息后,打开会是这个样子
不得不说,这个我还是真的用不惯。
六、查看代码
上面的界面就是这个,看着眼熟吗?尤其右下角的控制台信息,这不就是浏览器的开发者模式嘛。所以小游戏或者小程序,本质上就是H5。就是基于网页,只不过被微信重新封装,提供了一些组件和API接口了。我是这么理解的,欢迎大佬回怼我。
但是这个界面,说实话我不太喜欢。用着不熟悉,所以我推荐了上面的HBuilderX,国产的开发神器,不过目前发现前端开发更合适,后端还是idea,更好用。好了,不吐槽了。
百度HBuilder,然后可以免费下载的,这个大家自己找,不多说了。
导入项目后,我们如何去查看呢,还记得吗,之前说的,退出小游戏必有的就是save,那我们可以全局搜索/user/save试试,毕竟是H5,那么肯定会有ajax,试试看,能不能找到
搜索完,可以看到,下图这样的方法:
往下面看,会发现有个a.code,比对抓包数据,判断这个应该是返回的状态值,那么其实可以猜测,这个HttpPost方法,到底是做什么的?进一步全局搜索:HttpPost
虽然结果有30多个,但是可以发现大部分后面都是带着链接地址的,类似于之前的/user/save这种,所以这些地方都是调用,而我们需要找到他原始的方法,仔细看看,你会发现上图的
function HttpPost(f, m, e, b){},这个就是原生的方法了
发现里面还调用了这个方法:LayaHttpRequest,那我们还需要进一步全局搜索: LayaHttpRequest
发现了很奇怪的东西,第一个才是最重要的,下面两个也只是调用罢了,
我们来看看这个仿佛里面,有个单词很熟悉啊!decrypt,这不就是解密的意思吗?
看来我们距离最后的真相已经不远了!
下面有个小技巧,因为上面是wx.decrypt(a,b,c),仔细观察这个方法,能让我们搜索起来更加简单,其中iv,key的参数,这看起来,仿佛就是加密的偏移量和key啊
那我们继续全局搜索wx.decrypt
发现了这个,其中e在上面看到了,是导入./js/utils/RdWXBizDataCrypt.js,文件,换句话说,就是wx. decrypt,调用了,RdWXBizDataCrypt这个文件里的decrypt方法,其实参数是两个
那我们继续去看看这个文件里的方法是什么吧
直接打开这个文件,搜索decrypt这个方法
最后就到这了,看得出来,这就是最终的加解密方法了!
一步步找,最终我们找到了这个了。
七、最后就是如何将数据加解密了
我们可以发现微信开发工具里,我们调试的时候可以在登录的时候设置一个断点,调试一下,发现,登录最终也调用了加解密的方法,所以可以有个简单的方法。
那就是最终的时候调用了t.prototype.encrypt(这个是加密的方法)上面还有个解密的方法,这个方法,那我们可以将我们需要加密或者解密的数据,方法替换进行,然后就可以再控制台显示了!!!!
直接替换的好处就是不在乎它的key和iv,我们就可以直接的将我们需要加解密的数据和对应的具体方法,替换进去就行了。
替换的代码为:
js/utils/RdWXBizDataCrypt.js中最下方的t.prototype.encrypt,到最后,替换的代码格式在附件中!!!!
缺点就是,可能还是不理解它实际的加解密逻辑。
不过先理解为主!
附件中的两个文件,一个是加密,一个是解密的数据,只需要把附件中对应的问题信息替换进去,保存后,在控制台就能看到了!!!!!
具体的逻辑,我特么是在是不想写了,否则又要不知道写多久了,所以我会在下一个帖子,讲解如何创建一个html,实现加解密,界面如下:
樂℡ 发表于 2018-12-2 18:34
牛逼啊老铁,看了半天不会编程使用没办法!什么时候把微信小游戏“我的地盘OL”改改
那我可要收费了{:1_926:} 但charles里面抓取的save,里面那串东西什么用处呢,如何去解密呀“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” 向大佬膜拜 牛逼啊老铁,看了半天不会编程使用没办法!什么时候把微信小游戏“我的地盘OL”改改 楼主牛逼啊 向大佬膜拜 大佬就是大佬{:1_893:} 膜拜大佬 膜拜下大神 楼主牛逼