极验滑块之学习心得

16 篇文章 9 订阅
3 篇文章 0 订阅

这人啊,真是个矛盾的东西,忙的时候吧总想着什么时候能退休可以去仗剑走天涯,哪怕是在家闲躺着也是舒坦极了,等真到了周末或者每天晚上下班又觉得甚是无聊,总想干点事不然心里闲的慌。

这次极验的学习项目算是整完了,《极验滑块2》中我把整个流程分析全部都写完了,我记得最后我说逆向流程搞完了,但是最后不知道什么原因就是不成功,我一直以为是我把滑块的轨迹生成没写好,一直往那个方向死磕,上周五的时候小李同学搞了一下,被他发现问题所在了,然后就,,,,成了。成功率在百分之90这样。问题出在哪里?其实整个流程包括加密参数的生成是没有问题的,轨迹生成也是没有问题的,就是图片分析出了问题,没分析准,导致得到的X轴的滑块缺口比实际上大了10个单位,越准确的轨迹越不会过了滑块,真的是卧槽了。

我的滑块图片分析是20年逆向数美滑块时不知道从网上哪里拷贝了一份,后来又逆向了某乎的登录滑块都是用的那份代码做分析没问题,导致我心里默认的是这部分不会出问题,看来有些时候不能过分依赖copy代码,我打算完了自己再重新学习一下这部分代码。

OK,进入正题,关于webpack怎么逆向的。以下内容皆来自于我自己本人工作学习中的心得,可能不适用于所有情况,我只是记录一下我自己的浅薄认知而已。

一、如何判断加密代码是webpack?

1.全局搜索,能搜索到加密的那个js文件说明加密就是这个

2.有些是js代码的最开头就有webpack这个单词

二、为什么非要找webpack

其实是不是webpack并不重要,只是我遇到的webpack比较多,所以才这么些,如果不是其实接下来的思路也能套用。

三、分析代码

F12在network中找到目标请求,如果没有加密那就是最爽了。

如果有,

1.在启动器那一列进入调用栈的最后一步,打断点。(或者XHR/断点提取,用URL断住发送请求到最后一步)

2.然后再次请求,观察加密参数是否已生成,在最后一步大概率都是已经生成了。

3.然后在右边到调用栈中跟着网上走,每走一步观察我们所需要的加密参数是否生成

4.找到那个加密参数这一步还未生成,但是下一步就已经存在了的地方。哪这附近肯定就有加密入口

5.找到加密入口,然后逐步分析加密是怎么生成的。自己尝试着分析一遍,能用python还原一遍是最好的选择。

6.如果python还原不了或者总有些隐秘的地方一深入跟着跟着丢了,那就放弃用python还原,直接调用加密的js函数。因为你的技术值不值钱取决于技术的价值,而生产效率也是价值的考量之一。再着python请求+调用javascript加密函数本身上速度比python还原慢不了多少。

这里,关于怎么调用,其实也是有技巧的。我最初搞javascript逆向的时候找到了加密入口,硬扣函数,哪里缺了再接着扣缺了点部分硬补。其实这样大可不必,先观察js文件是不是自执行文件。如果是自执行就爽了,找到加密点,然后把加密对象直接定义到window。如果无法直接定义到window那就重新一一个函数,剔除掉原先函数中的干扰因素,然后再最底下直接调用,爽的要死。

7.第六步中还有个缺陷,就是有些情况例如抖音的_signature参数这种,需要补充大量的环境代码,且还补了也不一定能补全能用的,最后的办法就是启动selenium自动化,然后在浏览器中执行javascript代码,这样也能得到做到一样的效果。

今天就先这到这里吧,有些地方想不起来了。另外,通过这个项目,我发现有两个方面我需要充一下电。一个是机器学习方面,例如以后要自己写图片识别缺口的这种。还原就是AST的还原,不过极验这个还是挺简单的还能凑合着看,下次要是遇到更恶心的就有点难受了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值