From e2c3c8c318b643d96628b16b6ae4029624e82b65 Mon Sep 17 00:00:00 2001 From: luzhisheng Date: Fri, 24 Mar 2023 13:11:00 +0800 Subject: [PATCH] =?UTF-8?q?zy-=E6=9E=81=E9=AA=8C=E6=BB=91=E5=BF=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zy-极验滑快}/1.极验滑块 底图还原.md | 12 +++++----- .../zy-极验滑快}/2.极验滑块 跟W值1.md | 10 ++++----- .../zy-极验滑快}/3.极验滑块 跟W值2.md | 18 +++++++-------- .../zy-极验滑快}/4.极验滑块 跟W值3.md | 22 +++++++++---------- .../zy-极验滑快}/破解第一个参数u.js | 0 .../zy-极验滑快}/轨迹.js | 0 6 files changed, 31 insertions(+), 31 deletions(-) rename {zy-极验滑快 => 志远js逆向学习/zy-极验滑快}/1.极验滑块 底图还原.md (97%) rename {zy-极验滑快 => 志远js逆向学习/zy-极验滑快}/2.极验滑块 跟W值1.md (70%) rename {zy-极验滑快 => 志远js逆向学习/zy-极验滑快}/3.极验滑块 跟W值2.md (96%) rename {zy-极验滑快 => 志远js逆向学习/zy-极验滑快}/4.极验滑块 跟W值3.md (96%) rename {zy-极验滑快 => 志远js逆向学习/zy-极验滑快}/破解第一个参数u.js (100%) rename {zy-极验滑快 => 志远js逆向学习/zy-极验滑快}/轨迹.js (100%) diff --git a/zy-极验滑快/1.极验滑块 底图还原.md b/志远js逆向学习/zy-极验滑快/1.极验滑块 底图还原.md similarity index 97% rename from zy-极验滑快/1.极验滑块 底图还原.md rename to 志远js逆向学习/zy-极验滑快/1.极验滑块 底图还原.md index 5ec3fd2..2c0b102 100644 --- a/zy-极验滑快/1.极验滑块 底图还原.md +++ b/志远js逆向学习/zy-极验滑快/1.极验滑块 底图还原.md @@ -6,7 +6,7 @@ https://www.geetest.com/demo/slide-float.html ## 通过抓包的流程 -![debugger](../img/2.png) +![debugger](../../img/2.png) ### 1.获取了 challenge: "a9ecc15e9116f3045390258cfae06040" @@ -190,7 +190,7 @@ https://www.geetest.com/demo/slide-float.html ### 1. 找到乱码原图还原 -![debugger](../img/3.png) +![debugger](../../img/3.png) 点击图片html查看,发现有 `````` 标签定义图形 @@ -199,11 +199,11 @@ https://www.geetest.com/demo/slide-float.html 标签只是图形容器,您必须使用脚本来绘制图形。 你可以通过多种方法使用 canvas 绘制路径,盒、圆、字符以及添加图像。 -![debugger](../img/4.png) +![debugger](../../img/4.png) 进行调试canvas创建图片断点 -![debugger](../img/5.png) +![debugger](../../img/5.png) 这里能看到 canvas 的 width:312 height:160 等其他信息 @@ -225,13 +225,13 @@ https://www.geetest.com/demo/slide-float.html a = XX(a); a = a-1; -![debugger](../img/6.png) +![debugger](../../img/6.png) 1. switch 通过case判断是否是哪个下标执行流程化,我们可以找到数组内容就可以判断流程。 2. 或者给每个case下断点,给switch下断点进行单部运行 -![debugger](../img/7.png) +![debugger](../../img/7.png) UT是个数组就是图片的摆放的顺序 diff --git a/zy-极验滑快/2.极验滑块 跟W值1.md b/志远js逆向学习/zy-极验滑快/2.极验滑块 跟W值1.md similarity index 70% rename from zy-极验滑快/2.极验滑块 跟W值1.md rename to 志远js逆向学习/zy-极验滑快/2.极验滑块 跟W值1.md index 40e87af..9b2f2ce 100644 --- a/zy-极验滑快/2.极验滑块 跟W值1.md +++ b/志远js逆向学习/zy-极验滑快/2.极验滑块 跟W值1.md @@ -2,22 +2,22 @@ 滑动错误的时候也会生成w参数,这就可以进行调试w -![debugger](../img/8.png) +![debugger](../../img/8.png) 打断点调试,发现src中带有w的密文信息 -![debugger](../img/9.png) +![debugger](../../img/9.png) 继续跟踪栈,找到栈的头部信息, 发现传入的s中带有w的密文信息 -![debugger](../img/10.png) +![debugger](../../img/10.png) 继续跟踪栈,发现是 w 存在 o 中 -![debugger](../img/11.png) +![debugger](../../img/11.png) 最后找到 w 赋值的位置 -![debugger](../img/12.png) +![debugger](../../img/12.png) 这里的 "\u0077" 是特征码,记录下来 diff --git a/zy-极验滑快/3.极验滑块 跟W值2.md b/志远js逆向学习/zy-极验滑快/3.极验滑块 跟W值2.md similarity index 96% rename from zy-极验滑快/3.极验滑块 跟W值2.md rename to 志远js逆向学习/zy-极验滑快/3.极验滑块 跟W值2.md index 47bc1d8..26283ef 100644 --- a/zy-极验滑快/3.极验滑块 跟W值2.md +++ b/志远js逆向学习/zy-极验滑快/3.极验滑块 跟W值2.md @@ -10,11 +10,11 @@ t[$_CFABz(1399)] -![debugger](../img/14.png) +![debugger](../../img/14.png) 进入后分析代码流程 -![debugger](../img/13.png) +![debugger](../../img/13.png) "\u0024\u005f\u0043\u0043\u0047\u006a": function(e) { var $_CHCBt = pfkKi.$_CD @@ -36,7 +36,7 @@ 这个函数传入了1399 $_CFABz(1399),返回是字符串 -![debugger](../img/15.png) +![debugger](../../img/15.png) 更值技巧: @@ -49,13 +49,13 @@ 一点点调试,发现 $_CHCBt(56) 是 "encrypt" 加密的意思 -![debugger](../img/16.png) +![debugger](../../img/16.png) var t = new X()[$_CHCBt(56)](this[$_CHCBt(1374)](e)); 查看 new X()看到一个__proto__中存在 setPublic -![debugger](../img/17.png) +![debugger](../../img/17.png) 这大概率就是 rsa 加密技术,setPublic 是设置公钥的意思 @@ -69,7 +69,7 @@ 继续调试 this[$_CHCBt(1374),这里发现是 (Ot = rt(), 字符串是由 rt()生成 -![debugger](../img/18.png) +![debugger](../../img/18.png) 在 console中调试, 每次返回的结果都不相同 @@ -88,7 +88,7 @@ 进入方法继续跟踪 -![debugger](../img/19.png) +![debugger](../../img/19.png) 开头下断点,结束下断点,return 位置有用到初始化变量的下断点。 @@ -158,7 +158,7 @@ 接下来需要解决 X()[$_CBEEc(342)] 函数 var e = new X()[$_CBEEc(342)](random_()); 怎么来的 -![debugger](../img/20.png) +![debugger](../../img/20.png) 最后的条件运算代码 @@ -252,7 +252,7 @@ 调用 -![debugger](../img/22.png) +![debugger](../../img/22.png) window.ayf ƒ E() { diff --git a/zy-极验滑快/4.极验滑块 跟W值3.md b/志远js逆向学习/zy-极验滑快/4.极验滑块 跟W值3.md similarity index 96% rename from zy-极验滑快/4.极验滑块 跟W值3.md rename to 志远js逆向学习/zy-极验滑快/4.极验滑块 跟W值3.md index a643bdb..d9e535c 100644 --- a/zy-极验滑快/4.极验滑块 跟W值3.md +++ b/志远js逆向学习/zy-极验滑快/4.极验滑块 跟W值3.md @@ -8,7 +8,7 @@ 找到 gt[$_CAGEe(209)](o) 中的 o 值在哪里 -![debugger](../img/23.png) +![debugger](../../img/23.png) 这里的 o 值是 @@ -114,7 +114,7 @@ 这里判断这个 aa 值可能就是轨迹线了,进行跟踪栈 -![debugger](../img/24.png) +![debugger](../../img/24.png) 找到 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 -![debugger](../img/25.png) +![debugger](../../img/25.png) 这里的 n["$_CIY"]["s"] 值,同样在上面的地址中得到 -![debugger](../img/26.png) +![debugger](../../img/26.png) 并且验证是正确的 -![debugger](../img/27.png) +![debugger](../../img/27.png) 最后的 n["$_CIBw"]["$_GEy"]() 值,大概是轨迹值 @@ -221,15 +221,15 @@ 最轨迹值的理解 -![debugger](../img/28.png) +![debugger](../../img/28.png) 发现是平坦流,线开头结尾断点,发现这里面有一个t值,非常像轨迹值 -![debugger](../img/29.png) +![debugger](../../img/29.png) 打断点到最后一行,发现拼接好的轨迹 -![debugger](../img/30.png) +![debugger](../../img/30.png) 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)] 就是轨迹数据,我通过传值的方式改造成 -![debugger](../img/31.png) +![debugger](../../img/31.png) js末尾进行全局函数引出 @@ -266,7 +266,7 @@ js末尾进行全局函数引出 代码调试 -![debugger](../img/32.png) +![debugger](../../img/32.png) 同样轨迹代码也是一样炮制 @@ -274,7 +274,7 @@ js末尾进行全局函数引出 window.guiji_2 = W[$_CJET(261)]["\u0024\u005f\u0042\u0042\u0043\u0041"]; -![debugger](../img/33.png) +![debugger](../../img/33.png) 走到这里 aa 的值就得到了,接下来拿到 l 值 diff --git a/zy-极验滑快/破解第一个参数u.js b/志远js逆向学习/zy-极验滑快/破解第一个参数u.js similarity index 100% rename from zy-极验滑快/破解第一个参数u.js rename to 志远js逆向学习/zy-极验滑快/破解第一个参数u.js diff --git a/zy-极验滑快/轨迹.js b/志远js逆向学习/zy-极验滑快/轨迹.js similarity index 100% rename from zy-极验滑快/轨迹.js rename to 志远js逆向学习/zy-极验滑快/轨迹.js