2025-08-09T02:29:37.png

抓包找出api
2025-08-09T02:30:51.png
返回了validate值,说明这个api是最终的返回结果。
2025-08-09T02:32:09.png
而这个api则是返回点选图片。

再看参数:
2025-08-09T02:34:34.png
有两个变值,gt和challenge。
继续往上查找,找到相关输出接口:
2025-08-09T02:35:29.png
而这个接口的参数为:
2025-08-09T02:35:49.png
只有个t是变值,很明显t是时间戳。
再来看输出validate的接口的参数:
2025-08-09T02:37:24.png
除了gt和challenge还多了个w,这个w很明显是个加密字符,与点选坐标有关,也就是逆向目标参数。

定位w参数
直接查看发起程序,进入到最后经过的js文件。
2025-08-09T02:39:42.png
发现方法名称都是Unicode字符,不可读,需要一个个转化过来。这是一种简单的混淆,目的就是扰乱代码的可读性。本来单个字母作为参数不太好直接局部搜索,但是这里却可行,直接将w转化为Unicode字符形式:\u0077 然后再局部搜索定位到位置:
2025-08-09T02:49:33.png

分析w
在这里打上断点进行调试,w参数是有p + u生成的,直接将整个代码复制到编辑器中进行补环境。
由于补环境过程有点复杂,并且代码量有些大,所以:
2025-08-17T12:48:04.png
最后传入一些参数和对应的文字坐标就行了:
2025-08-17T12:49:05.png