xhs 逆向,x-s、a1、x-s-common算法 java代码实现

xhs 逆向,x-s、a1、x-s-common算法

1. 概述

学了几天的逆向,发现挺有意思的,发现大部分人都是用py玩的,我这里就用java写了一个脚本,输入手机号验证码就可以完成登录、小红书关注、取关等操作、发文章 收藏 点赞这些也可以,毕竟最主要的还是扣算法,算法出来其他都好搞。
用java写的原因是熟悉、然后比较少人写、如果后续操作数据库的话方便。

  • 关注点赞收藏一波,然后私信我,源码免费发送,仅供学习使用

2.演示

  1. 运行test方法

在这里插入图片描述

  1. 输入手机号 回车(没办法输入的话可能是因为单元测试的原因,加上-Deditable.java.test.console=true)
    在这里插入图片描述

  2. 输入验证码
    在这里插入图片描述

  3. 输入需要关注的小红书号
    在这里插入图片描述

  4. 登陆小红书发现已经关注,并且对方粉丝数量已经+1 (可以自己找个粉丝数少的测试会清楚点)
    在这里插入图片描述

3.算法

首先我们抓包到发送验证码接口,发现cookie、x-s、参数的必填的,x-s-common有的接口需要 有的不需要。

在这里插入图片描述

3.1 a1算法

cookie我们发现,只需要里面a1有值就能正常请求,先看看a1在哪里生成;搜索a1一个个去找,最后是在一个js文件里面,我们点击进去
在这里插入图片描述

然后发现a1是一个常量,我们直接搜这个常量,发现有set方法,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后就是把这个算法贴到本地,这个算法很简单就一些随机数啥的,直接运行本地js,发现差不多。调用接口也没问题。需要js源码的请看概述
在这里插入图片描述

3.2 x-s算法

也是搜索,发现里面是调用了window._webmsxyw,是一个windos函数。

在这里插入图片描述

从函数点进去,发现是一个被混淆的js,这个算法依赖三个参数,一个是请求url,一个是body,一个是a1;有两种处理方式,一种是补环境,一种是长链接调用。两种都试过,推荐还是用补环境的方式,长链接调用的方式a1是写死拓展性差。需要js源码的请看概述

在这里插入图片描述

3.2 x-s-common算法

x-s-common就是对v值进行了加密编码等操作,v里面又有 x1~x10等等属性。这个跟a1一样扣算法就行了,就是比较难点

在这里插入图片描述

需要js源码的请看概述

在这里插入图片描述

总的来说h5逆向还是挺简单的,后面目前正在看app逆向相关的,比较麻烦的是加密的so文件用的c++写的,然后就是反编译太耗内存了30g内存都不够用;后续有机会也会出其他应用的逆向博客和源码,欢迎大家一起学习交流。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值