尝试提取某飞的AI对话体验页面
最近发现了一个小程序,可以用英语和AI对话,最重要的是能够口语评分,这套口语评分系统就是中高考我们的听说系统!!于是开干。
欢天喜地的打开电脑
悲。。。
无论怎么讲,运行起来了,是有wxapkg产生的,拿来反编译一下。
在……\WeChat Files\Applet找到小程序的wxid和PC版加密的wxapkg,扔到pc_wxapkg_decrypt里面解密
然后wxappUnpacker解包
很好报错了。缺了个__wxConfig。反编译到哪一步了呢?哦原来js提起出来了,但还没有分割,然后wxss和wxml都没搞。
补一下吧
然后单独运行这个wuJs.js来分割js。又缺了。。
报错就补报错就补,补完为止。
看起来不报错了,但是为什么这个split不对呢
wuJs分隔js的方法其实就是hook掉define函数,观察app-service.js,的确是有执行define的
那是哪里出现问题了呢?很有可能是define在执行过程中被重新定义了。于是查找
确实。删掉它。
运行起来了,但不多。这里好像是require('app.js')的时候出错了。但这也是不对的,因为require这个函数应该也是被hook掉的,不会报错。于是查找
嗯,也是被重新定义了,删掉。
ok成功跑完,然后就是
node wuConfig.js .\dec\app-config.json
node wuWxml.js .\dec\page-frame.html
node wuWxss.js .\dec
把这些也处理完。OK反编译完毕。可以看“源码”了。
在手机上看看这个页面有什么字。这个AI对话的功能是在这个功能体验按钮里面的。先搜搜
纳里,没有??搜个别的
好的搜到了,上面的那些是从服务器获取的。看一下这个i.https函数
呵呵真好又可以破加密了。
找到两个函数,开干。
接着就是对着写abcdefg一个个摁进去看看返回什么,我试了一下,其实这个不是很复杂,所以就懒的搞调试了。过程省略,摁完标记出来,然后提取。
https函数也搞出来。
然后问题来了,这个Authorization是什么呢,我本来想蒙混过关,试了一下,不带这个返回401,所以必须有这个鬼。。。
向上找
悬着的心终于死了,合着还是要wx.login的code
这个东西我只会用PC端抓。。
没事没事,你不是不让我用电脑端打开吗,这段代码我是能找到的
我刚好又会改内存,加载这段代码的时候改掉它就好。
首先你的微信是一个能够被抓包的版本,然后打开Fiddler。
打开小程序,打开CE附加进程,查看内存,搜索PC端,附近下个写入的断点(其实加载了的代码是不用再从这个位置读取的,但是再下一次读代码的时候会写到差不多的位置,然后就可以在这个时候断下改掉)
重启小程序,断的时候搜索刚刚那个判断PC的函数 interceptPc
改掉它
运行,
中间这个过程不能太久,不然就会
反正大抵就是你先准备好这个改完之后的字符串
' false; '
然后一断就搜,搜完就改,改完就运行,基本上问题不大。
【我这个菜鸟会的东西少,我也不懂原理,我也不会别的方法,我也不知道行内的东西,我就估摸着掰扯,见笑了 ^ - ^ 】
OK绕过了PC判断了
Fiddler抓到一个包,就是登录完获取token的那个。好家伙,我说为什么PC版不行呢,因为PC版会自动给这个Content-type是json的body加双引号。估计开发者是服务器的代码也不能动,双眼一黑被迫禁pc版的。
拿我们刚刚反编译出来的代码解一下这个发送出去的内容。(我这个人,习惯是很不好的,通常提取出来js直接扔html里,拿edge打开F12来调用。)
呐呐呐这个就是wx.login的code的了
但是这距离我们的目标还很远,我也懒得一个个函数去看,所以,我选择,抓包。
至于这个双引号,我就委屈一点拿fiddler给他手动删掉就好。
访问了这个网址。
拿浏览器访问一下,发现会报重新登录
发现浏览器是因为其中一个请求返回了个401
回到小程序去抓这个请求
对比一下,发现多了这个
看一下这个东西怎么来的
然后就再也搜不到对于_XXJ_AI_ECPERIENCE_TOKEN这个本地存储的赋值了,那就盲猜一下。还记得我们一开始有一个getToken的接口吗
数据一解,刚好是一样的。
OK了最后把这个东西扔浏览器里,就可以用了
但是这个鬼玩意大概2个小时不到就过期了。所以我之前其实成功过一次,这次bb叨叨的写一大堆东西,等我截图的时候就没了(悲)
而且这个token是有次数限制的,每个人只有10次对话机会。。。
写这篇文章真的不容易啊折腾了好久,作为一个菜鸟其实什么都不懂,摸着石头过河。本宫乏了,我去睡觉了。。
我的这个token提取过程很复杂,跪求大佬指点。
kakrate 发表于 2024-4-27 07:47
真是大神,学到了……一丢丢。很好奇那个微信“能够被抓包的版本”是啥版本?
老一点的版本就好了,我现在这个是 前排支持,感谢大佬 真是大神,学到了……一丢丢。很好奇那个微信“能够被抓包的版本”是啥版本? 强烈支持技术贴 满满的干货 感谢楼主的分享 强烈支持技术贴 最近也在尝试在小程序上做一些事情,大佬的思路让我很受用,感谢分享 这个AI多少有点用吧