本帖最后由 waynewange 于 2024-05-19 10:40 编辑
最近发现了一个小程序,可以用英语和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成功跑完,然后就是 [/size][/font] [font=Arial][size=4]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提取过程很复杂,跪求大佬指点。
注:若转载请注明大神论坛来源(本贴地址)与作者信息。
|