数美滑块 js逆向

注:本篇博客仅供学习使用,请勿用做其他商业用途,如有侵权,请联系本菜鸟
最近看到有很多大佬都有逆向数美的滑块验证码,本着学徒的心,本菜鸟也跟着他们的脚步把数美滑块的逻辑走一遍,好了直接上干货
1.流程
1.1请求register这个图片信息的接口,返回bg,fg两个图片以及一个rid参数,其中rid参数在后面验证滑块的时候有用到
在这里插入图片描述
1.2验证请求fverify,除开下图标注的参数,其他的均可固定,其中
rid:前面请求图片返回的
se:滑动时间加密的
tf:滑动轨迹加密
qn:缺口位置加密
在这里插入图片描述
2.逻辑详情分析
直接进入倒数第二个堆栈
在这里插入图片描述
在此处我们看到_0x30e197变量中,基本上包括了fverify接口中所需的所有参数,但是此时已经被赋值,所以,我们只有全文检索_0x30e197,发现全文只有两处含有这个变量
在这里插入图片描述
跟进_0x30e197发现是个函数,那我们就再次跟进这个this[_0x5b45f2(0x1e2)]函数
在这里插入图片描述
跟进后发现_0x137a72函数为具体加密的位置,而_0x137a72中的加密为DES加密
在这里插入图片描述
在这里插入图片描述
其中qn,tf,se参数加密的key看下图
在这里插入图片描述
在这里插入图片描述
这里的DES加密,我们直接用Python代码实现

def pad(b):
    """
    块填充
    """
    block_size = 8
    while len(b) % block_size:
        b += b'\0'
    return b

def get_encrypt_content(message, key, flag):
    """
    接口参数的加密、解密
    """
    des_obj = des(key.encode(), mode=ECB)
    if flag:
        content = pad(str(message).replace(' ', '').encode())
        return base64.b64encode(des_obj.encrypt(content)).decode('utf-8')
    else:
        return des_obj.decrypt(base64.b64decode(message)).decode('utf-8')

需要注意的是:原图片的大小是600x300px的 而在网页上渲染的是300x150px的,所以我们要进行缩放一下在进行缺口识别
在这里插入图片描述
图片缩放代码

def change_Image(filein,fileout,width,height):
    '''
    filein: 输入图片
    fileout: 输出图片
    width: 输出图片宽度
    height:输出图片高度
    '''

    type = 'png'
    img = Image.open(filein)
    out = img.resize((width, height),Image.ANTIALIAS) 
    out.save(fileout, type)

轨迹检测的不严格,所以随便百度一个轨迹生成的组成一段轨迹即可
下面直接放结果截图
在这里插入图片描述
好了 下班 下班

如有疑问 请私信本小菜鸟

写在最后:本篇博客仅供学习使用,请勿用做其他商业用途,如有侵权,请联系本菜鸟

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据提供的引用内容,美团滑块验证的js逆向过程如下所示: 1. 首先,需要获取主页接口的参数,包括csrf、uuid、token_id和continues等。这些参数可以在第一个链接返回的源码中找到。 2. 接下来,使用这些参数进行登入接口的请求,其中包括两个加密参数password和h5Fingerprint。 3. 然后,通过验证码获取的接口来获取验证码相关的参数,如verifyMethodVersion、slider、yodaVersion、timestamp、sign、ses和requestCode等。 4. 在获取到这些参数后,可以进行验证接口的请求。该请求需要使用到加密参数behavior和_token,以及动态参数v_c和3eac9809,同时还需要在请求头中添加Authencation。 总结起来,美团滑块验证的逆向过程可分为以下步骤: 1. 获取主页参数 2. 逆向pwd和h5Fingerprint 3. 请求page_data链接 4. 逆向Authencation、behavior和_token 5. 发起最终的验证请求 需要注意的是,以上仅是根据提供的引用内容进行的分析,具体的逆向过程可能还需要进一步的研究和分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【2023-03-10】JS逆向之美团滑块](https://blog.csdn.net/qq_26079939/article/details/129442967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [美团滑块(1-18,js逆向)](https://blog.csdn.net/weixin_44772112/article/details/128721509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值