这次打算好好水一篇文章,我们就来慢慢的唠!
前言
什么是mmtls
我们来看看腾讯安全自己的介绍


简单点说,mmtls就是腾讯自己魔改的私有协议,最早就要追溯到17年了,微信当时的技术团队自研魔改的。
在手机微信上抓包的佬应该会经常见到。
小程序的mmtls有啥用
mmtls在小程序的使用途径就是云函数,最常用的,也是我们这次搞定的对象 wx.login()
小程序的官方文档

我们在打开小程序的时候,会有一个快捷登录,又或者没有登录,直接打开就发现小程序已经登录账号了
这都是wx.login进行返回的code,有了这个code,就可以登录小程序,跟小程序自己写的后端换token
又或者是霸王茶姬的sign加密,key也是通过云函数返回的

逆向的时候随便找了个小程序,这里的抓包就是云函数code,然后请求小程序登录接口,后端下发token
通过云函数的方式,会让人抓不到包(wireshark和vpn抓包除外)
即使抓到包,也没有办法篡改,因为被加密了 ^-^
说到这,我相信聪明的佬已经懂了。这个云函数就相当于卡在我们与小程序之前不可逾越的大山
有云函数卡着,我们想实现纯协议,就非常非常难。
举个最简单的例子,如果是一个网页,网页需要每天打卡,那我们直接抓包,模拟登录,然后模拟打卡就好了
但是如果小程序使用了云函数,我们就不得不需要微信作为载体,然后通过云函数,来获取一个code。
这样对比,难度直接跑到喜马拉雅山了,我们总不能自己把微信逆向出来,然后云函数逆向出来,最后才能放到服务器吧 ^-^
虽然我觉得现在让ai去逆向微信协议也不是什么难事了,但是能简单一点是一点。
毕竟光应用宝+mmtls就搞了整整4天
期间跑完了3次plus的重置次数,5h一限额我就浑身难受。作为一个学生钱包还有一点点拮据。
然后用deepseek v4 pro 跑了14块钱的,发现ds还是不太靠谱,最后买了站内富可敌国的pro中转,累计充50元
加上今天下午购入一个月的火山plan49.9元。满打满算也得有100块的成本了。
闲话介绍完了,我们来步入正题
正文
应用宝渠道
我也是无意间发现的,看到有人玩qq农场,可以协议获取code,点进去就是应用宝渠道介绍。才了解到应用宝都能玩小程序了,毕竟没人会在自己电脑里下载一个应用宝吧。。。
不过应用宝就是牛,自己都说了授权后可以获取任意小程序

逆向开始
现在都26年了,已经全面拥抱ai了,所以逆向过程我就把这几天用ai踩得坑,还有对于gpt和glm模型的感受分享出来。毕竟也不是我自己逆向出来的hhh
有了前几篇文章的铺垫,我相信佬们对于黑客起手,应该不陌生了。不过要完全不被拒绝还要站内之前分享的5.4ctf破限词,放到codex配置里,这样才能完美。这几天的实测,只有今天中午,弹了一次蓝色的cyber,4天内一直安全无恙。中午弹cyber还是我新开了会话,直接让他按照之前的进度做,没有说提示词。
我们要准备的工具就是,安装应用宝,安装idapro的mcp,还有codex安全卫士
6-20
任务刚开始用的还是any大善人的gpt,不过用起来不会自动压缩,也没有远程压缩,体验感太差了,最终放弃了
刚开始任务,我们就不要暴露自己的目的了,先虚晃一枪,让codex进入工作流程

然后我们要手动抓一次包,来扫码登录应用宝。对于http流程,gpt复现的很快,4天时间卡点都在mmtls


没一会应用宝的扫码登录就复现了。由于任务下发有code,gpt想通过内存获取,我后面又补充了一句(很贴心的提示)


就这么挂了一晚上,不过也没跑多久,自己就中断了。
来到第二天,开始拷打

现在来复盘,看见gpt说处于最后一段 已经开始无奈的笑了
这时候继续跑,不过额度很快就用光了,于是换了deepseek
让deepseek大王读了codex的会话,然后根据最后的进度,继续处理。不过有一说一,deepseek的速度是真快,看着是挺爽的


不过gpt当时应该也已经根据idapro还有dll实现了一部分协议内容了
这是deepseek跑了一会之后的进度


还有一点不得不说,用deepseek给的情绪价值是真足,和glm差不多,不知道是不是claudecode的影响,至少每次有新发现,会第一时间说出来,让人看着很爽。
又干了一段时间,deepseek直接给我放弃了,说搞不通,让我换内存获取
然后我就放弃deepseek了,后面买了中转站的gpt

其实这个时候,gpt本身的目标规划就已经出现问题了,一直在自己打转,没有根本性的进展,一直死磕,不会自己去写工具,自己不知道去调试。这也能变相反映出来,如果使用者没有这个思维,只让ai自己做,确实很难做出来。所以这个时候我让他根据之前加密解密的代码,写了一个mmtls的加解密捕获工具。

然后继续分析,plus额度又用光了,这时候在站内看到有佬分享了个glm,我也是火速用上了,在此感谢一下这个佬!下面是glm的进度,glm根据gpt捕获出来的数据,开始着手写python的mmtls客户端,我这才知道,gpt干了半天的活,连python协议模拟都没写,一直在分析。

开始着手实现客户端,期间的进度很明显,glm是真出活,一步一步的复现协议内容
最后也是喜提额度用光,又去买了富可敌国的pro号池
其实这里就已经实现整个框架了,只不过还有几个细节没搞定,卡了我3天


接着就切换gpt来进行干活了,这里就能看出来,只要你目的明确,让gpt干活是真的又快又好。
但是如果没有明确的目标,让gpt自己探索,妈的能探索一辈子。

然后额度又用光了,这里切换了朋友的deepseek,但是撤销对话的时候把代码也撤销了,我直接红温了
然后尝试让deepseek恢复。。。

6-20一天的内容就干了这些,没想到难熬的还在后面。
6-21
依旧开局辱骂。
这个时候的gpt已经开始出现,wsl路径和win路径的错乱,脚本路径模糊,还有调用win系统接口的问题,这已经是在skill里强调的,还是经常会犯错,特别折磨,不知道mac的体验会不会好一些。

当时就已经有点不耐烦了,顺手逆了一下bandizip

剩下的时间都在捣鼓bandizip,我们直接步入次日
6-22
这时候的gpt能感觉到已经流口水了 
虽然它一直再说推进,但是其实根本就没有真实有效的进展,就这样跑了接近半天。

我开始受不了了,于是又主动介入,让codex自己下载了wireshark,然后找了mcp,把mmtls的请求都抓下来
然后再用脚本筛选,最后解密。
gpt干活就是这样,你如果不提出来,它一辈子也不会去下wireshark,也不会去抓包。。而是一直静态分析,不会发散思维。

然后傻逼gpt又开始给我整活

又开始陆陆续续的跑,一天又结束了,如果不是我后期干预,让他抓包。估计还是不会出成果
6-23
凌晨也算第二天!!!
事实证明我的干预非常有效,gpt根据抓包的流程,解密分析,然后根据之前glm写好的python客户端,对齐了一部分,最后通过调用dll的方式,成功的获取到了code
但是我当时并不知道,它没有依赖dll,我还以为它把协议全实现了。。。
最恶心的是,我让gpt自己测试它获取到的code,根本没法用来授权登录小程序,被拒绝了!!!

然后从睡醒到下午,一直让gpt排查,为什么会被拒绝,让gpt自己找字段哪里没有对齐,来回折腾。。
就这样持续到下午我购买火山coding plan。当时觉得gpt搞得过程性文件太多了,就让他清理了一下没用的文件
没想到傻逼到流口水的gpt,自己把自己之前写的tools给删了。
然后我再让gpt继续分析为啥code没办法授权的时候,连code都获取不到了。
不过好在这个弱智gpt在wsl外面给我存了一份镜像文件,但是此时我已经不想让傻逼gpt继续干了
接着迎来了最强国模glm5.2 !!!

不过glm5.2的速度确实慢,就跟当初用gpt5.2一样,也许比5.2快一点点吧。
经过了3天的苦战,我已经心力憔悴,无力记录,所以干脆也不看过程了,就等他做完了发通知

然后我万万没想到,让glm接手之后,没一会就把code跑出来了,也是根据之前的镜像
跑出来之后还自己测了一下,由于当时思考太慢了,我看到glm测试之后就开骂了,因为code的有效期是5分钟,当时至少等了10分钟
结果迎来了意外之喜,这次产生的code竟然可以被消费了!
此时的我心情十分激动,虽然还依赖dll,但是至少流程打通了


由于当时用glm觉得慢,我就让gpt去测其他的小程序是否能获取
但是貌似恰逢遇到中转站号池紧缺了,估计是掺free了,跑了20分钟,连开始都没开始,一直四处搞没用的
气得我直接开骂,,,,

然后我就又换glm了,让glm核对,一会就出来了,其他小程序也通用!

剩下的就是让glm去把dll里用到的地方,全还原成协议,不过蹬了5000万token,到5h上限了
不过此时gpt也恢复正常了,接手了glm的收尾工作,最终打通python纯协议获取code ^-^



后面让glm列了一下实现的功能表
有想自己实现的佬,可以用功能表来实现,能少踩很多坑,再具体的就不放出来了。(你懂的
)


结尾
再次感慨一下AI的强大,也感慨国模的努力,之间的差距越来越小了。
同时也感慨一下自身,这个云函数在我接触小程序逆向的时候就是个卡点,在我心中就像一个无法逾越的大山。
ai在我的帮助下,竟然真的搞出来了,我心中有几分震撼也有几分激动。
写文章写嗨了,再来一波回忆录
初中的时候在手机上写代码,去玩qq机器人,写词库。那时候就感慨有的人怎么这么厉害,能自己抓包分析,把qq安卓协议搞出来。同龄人里一直都有很多高手,我也十分的崇拜他们。
中考的暑假,我才搞明白qq空间的扫码登录,能用php实现 qq扫码获取skey,来进行一些qq空间等web操作。但是当时的卡点还是手机,没有电脑就没有开发者工具,就没法做到调试js。
一直到了大学,有了电脑之后就玩起来了游戏,玩了两年游戏,编程也没什么进展,唯一对我有提升的就是参加了一个人工智能的比赛,当时都23年了,在ai的帮助下,我也玩起来了深度学习。
后面又在抖音刷到了有人教js逆向,我这才重拾起来曾经的记忆,然后自己尝试上手,没想到非常简单的就搞了个简单的滑块验证码。又捣鼓了一下网易云音乐的web端签名,因为我初中的时候想做机器人点歌,抓网易云就发现是加密的,于是放弃。这次还真捣鼓出来了。
然后第二天内心就膨胀了,就去搞抖音的xbogus,唉,现在想想入门第二天就搞vmp,我也是无敌了
当时搜文章,看别人教程,也是脑袋懵懵的,但是在我坚持不懈的查看下,还是找到了签名入口。但是搞不出来可用的,因为有环境检测,最后去github翻来翻去,找到了别人分享的半成品,我用了他的环境,生产出来的签名虽然不是百分百正确,但是服务端可以通过校验。
然后又搞了极验3的滑块,这个确实是搞出来了,一直跟栈调用就行。
后面越搞越多,不过大多数都是看的别人的教程或者用插件补环境,知乎的x96,小红书的xs,最开始都是补环境的。
再往后看到了b站有人分享vmp的插桩跟栈,看了这个视频之后,我脑袋里才有点感觉,能捋顺。就跟着这个视频的方法,去搞了抖音的abogus,笑死,从xbogus都更新到abogus了。这也是我第一个跟栈还原出来的vmp算法,当时跟栈从早上跟栈还原到凌晨,最终也是搞出来了。后面又还原了小红书的vmp,顺手又搞了小红书的验证码。又顺手搞了抖音的验证码。
不过抖音的验证码当时就是一周换一次参数,还有轨迹之类的有的接口校验严格,但是登录接口是可以用的。
就这么慢慢的过去,之前逆向出来的也都慢慢的失效了。。
cursor,claude code,codex,横空出世。
最早就是用上了cursor的学生优惠,体验了一把agent。再后来慢慢的,代码也不会写了。之前逆向还要自己写一点代码,现在是代码也不用了。25年早期的agent还做不了太多逆向,模型能力也没这么强。25年下半年就已经开始崭露头角了,慢慢的连逆向都不需要人来干了。
直到现在,我已经变成了ai的形状了,开发,逆向,全是ai干。ai提升了我们每个人的下限,现在让我去逆向vmp我都不一定能搞出来了。更别说mmtls了,如果真让我自己干,那我觉得给我1年,我可能真的可以慢慢的耗出来。但是现在的ai,加起来,一共4天。只能说很可怕了。
现在把mmtls搞出来了,我觉得让ai去搞微信登录,发消息的协议,也不是什么难事了。
但是暂且到这里吧。
最后感慨一下能够经历这个最好的时代