mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-16 16:07:15 +08:00
zy-极验滑快
This commit is contained in:
parent
247d3c74ec
commit
e2c3c8c318
@ -6,7 +6,7 @@ https://www.geetest.com/demo/slide-float.html
|
||||
|
||||
## 通过抓包的流程
|
||||
|
||||

|
||||

|
||||
|
||||
### 1.获取了
|
||||
challenge: "a9ecc15e9116f3045390258cfae06040"
|
||||
@ -190,7 +190,7 @@ https://www.geetest.com/demo/slide-float.html
|
||||
|
||||
### 1. 找到乱码原图还原
|
||||
|
||||

|
||||

|
||||
|
||||
点击图片html查看,发现有 ```<canvas>``` 标签定义图形
|
||||
|
||||
@ -199,11 +199,11 @@ https://www.geetest.com/demo/slide-float.html
|
||||
<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。
|
||||
你可以通过多种方法使用 canvas 绘制路径,盒、圆、字符以及添加图像。
|
||||
|
||||

|
||||

|
||||
|
||||
进行调试canvas创建图片断点
|
||||
|
||||

|
||||

|
||||
|
||||
这里能看到 canvas 的 width:312 height:160 等其他信息
|
||||
|
||||
@ -225,13 +225,13 @@ https://www.geetest.com/demo/slide-float.html
|
||||
a = XX(a);
|
||||
a = a-1;
|
||||
|
||||

|
||||

|
||||
|
||||
1. switch 通过case判断是否是哪个下标执行流程化,我们可以找到数组内容就可以判断流程。
|
||||
|
||||
2. 或者给每个case下断点,给switch下断点进行单部运行
|
||||
|
||||

|
||||

|
||||
|
||||
UT是个数组就是图片的摆放的顺序
|
||||
|
@ -2,22 +2,22 @@
|
||||
|
||||
滑动错误的时候也会生成w参数,这就可以进行调试w
|
||||
|
||||

|
||||

|
||||
|
||||
打断点调试,发现src中带有w的密文信息
|
||||
|
||||

|
||||

|
||||
|
||||
继续跟踪栈,找到栈的头部信息, 发现传入的s中带有w的密文信息
|
||||
|
||||

|
||||

|
||||
|
||||
继续跟踪栈,发现是 w 存在 o 中
|
||||
|
||||

|
||||

|
||||
|
||||
最后找到 w 赋值的位置
|
||||
|
||||

|
||||

|
||||
|
||||
这里的 "\u0077" 是特征码,记录下来
|
@ -10,11 +10,11 @@
|
||||
|
||||
t[$_CFABz(1399)]
|
||||
|
||||

|
||||

|
||||
|
||||
进入后分析代码流程
|
||||
|
||||

|
||||

|
||||
|
||||
"\u0024\u005f\u0043\u0043\u0047\u006a": function(e) {
|
||||
var $_CHCBt = pfkKi.$_CD
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
这个函数传入了1399 $_CFABz(1399),返回是字符串
|
||||
|
||||

|
||||

|
||||
|
||||
更值技巧:
|
||||
|
||||
@ -49,13 +49,13 @@
|
||||
|
||||
一点点调试,发现 $_CHCBt(56) 是 "encrypt" 加密的意思
|
||||
|
||||

|
||||

|
||||
|
||||
var t = new X()[$_CHCBt(56)](this[$_CHCBt(1374)](e));
|
||||
|
||||
查看 new X()看到一个__proto__中存在 setPublic
|
||||
|
||||

|
||||

|
||||
|
||||
这大概率就是 rsa 加密技术,setPublic 是设置公钥的意思
|
||||
|
||||
@ -69,7 +69,7 @@
|
||||
|
||||
继续调试 this[$_CHCBt(1374),这里发现是 (Ot = rt(), 字符串是由 rt()生成
|
||||
|
||||

|
||||

|
||||
|
||||
在 console中调试, 每次返回的结果都不相同
|
||||
|
||||
@ -88,7 +88,7 @@
|
||||
|
||||
进入方法继续跟踪
|
||||
|
||||

|
||||

|
||||
|
||||
开头下断点,结束下断点,return 位置有用到初始化变量的下断点。
|
||||
|
||||
@ -158,7 +158,7 @@
|
||||
|
||||
接下来需要解决 X()[$_CBEEc(342)] 函数 var e = new X()[$_CBEEc(342)](random_()); 怎么来的
|
||||
|
||||

|
||||

|
||||
|
||||
最后的条件运算代码
|
||||
|
||||
@ -252,7 +252,7 @@
|
||||
|
||||
调用
|
||||
|
||||

|
||||

|
||||
|
||||
window.ayf
|
||||
ƒ E() {
|
@ -8,7 +8,7 @@
|
||||
|
||||
找到 gt[$_CAGEe(209)](o) 中的 o 值在哪里
|
||||
|
||||

|
||||

|
||||
|
||||
这里的 o 值是
|
||||
|
||||
@ -114,7 +114,7 @@
|
||||
|
||||
这里判断这个 aa 值可能就是轨迹线了,进行跟踪栈
|
||||
|
||||

|
||||

|
||||
|
||||
找到 l 生成的代码
|
||||
|
||||
@ -139,15 +139,15 @@
|
||||
|
||||
https://api.geetest.com/get.php?is_next=true&type=slide3>=019924a82c70bb123aae90d483087f94&challenge=574174c46a05a80900ac2befab3868b3&lang=zh-cn&https=true&protocol=https%3A%2F%2F&offline=false&product=embed&api_server=api.geetest.com&isPC=true&autoReset=true&width=100%25&callback=geetest_1643275273597
|
||||
|
||||

|
||||

|
||||
|
||||
这里的 n["$_CIY"]["s"] 值,同样在上面的地址中得到
|
||||
|
||||

|
||||

|
||||
|
||||
并且验证是正确的
|
||||
|
||||

|
||||

|
||||
|
||||
最后的 n["$_CIBw"]["$_GEy"]() 值,大概是轨迹值
|
||||
|
||||
@ -221,15 +221,15 @@
|
||||
|
||||
最轨迹值的理解
|
||||
|
||||

|
||||

|
||||
|
||||
发现是平坦流,线开头结尾断点,发现这里面有一个t值,非常像轨迹值
|
||||
|
||||

|
||||

|
||||
|
||||
打断点到最后一行,发现拼接好的轨迹
|
||||
|
||||

|
||||

|
||||
|
||||
r[$_BEGJJ(444)]($_BEGIH(33)) + $_BEGIH(407) + i[$_BEGIH(444)]($_BEGJJ(33)) + $_BEGIH(407) + o[$_BEGIH(444)]($_BEGIH(33));
|
||||
|
||||
@ -258,7 +258,7 @@
|
||||
|
||||
这个的 this[$_BEGJJ(361)] 就是轨迹数据,我通过传值的方式改造成
|
||||
|
||||

|
||||

|
||||
|
||||
js末尾进行全局函数引出
|
||||
|
||||
@ -266,7 +266,7 @@ js末尾进行全局函数引出
|
||||
|
||||
代码调试
|
||||
|
||||

|
||||

|
||||
|
||||
同样轨迹代码也是一样炮制
|
||||
|
||||
@ -274,7 +274,7 @@ js末尾进行全局函数引出
|
||||
|
||||
window.guiji_2 = W[$_CJET(261)]["\u0024\u005f\u0042\u0042\u0043\u0041"];
|
||||
|
||||

|
||||

|
||||
|
||||
走到这里 aa 的值就得到了,接下来拿到 l 值
|
||||
|
Loading…
x
Reference in New Issue
Block a user