声明

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!

相关技能

也不算全零基础,好歹要会抓包,自行百度或者哔哩哔哩
安卓推荐httpcanary或者proxypin
算法助手使用教程可以哔哩哔哩搜,前提是已root

捉包开始 (抓包教程自行百度/doge)

  • 签到链接:/v424/user/checkIn
  • 请求头 : "_c": 20, "x-auth-token": xxxx
  • 请求数据:timeZoneStr=Asia%2FShanghai&uid=-1&sign=aa6b2cd58d2d22bd60315a9d13aeeafe
  • 签到成功返回值 {"h":{"code":200,"msg":"操作成功","success":true,"alert":true,"flush":true,"time":1710864111051}}
  • 签到过返回值
    { h: { code: 1201, msg: '用户今日已经签到', success: false, alert: false, flush: true, time: 1710863341436 } }

发现有sign,看不懂,直接上算法助手(虽然重放发现签到不需要验证sign,但是其它的请求需要)

sign解密

算法助手使用方法可以哔哩哔哩自行搜索
解密效果如图,可以看到只是单纯的排序拼接nJi9o;/之后进行md5加密

手撸也行,为了符合标题,还是交给gpt吧(因为我别的脚本用的crypto-js。所以这里也让gpt用它)
完活

const CryptoJS = require("crypto-js");
function encryptParamsWithCryptoJS(params) {
//排序
  const sortedParams = params.split('&').sort().join('&');
  // 将排序后的参数与特定字符串连接
  const stringToEncrypt = `nJi9o;/${sortedParams}`;
  // 使用CryptoJS进行MD5加密
  const encrypted = CryptoJS.MD5(stringToEncrypt).toString();
  return encrypted;
} 

脚本开写

依旧直接发给gpt,如图

以下是gpt生成的代码

const CryptoJS = require("crypto-js");
const axios = require("axios");

// 加密函数
function getSign(params) {
    // 对参数进行排序并连接
    const sortedParams = params.split('&').sort().join('&');
    // 将排序后的参数与特定字符串连接
    const stringToEncrypt = `nJi9o;/${sortedParams}`;
    // 使用CryptoJS进行MD5加密
    const encrypted = CryptoJS.MD5(stringToEncrypt).toString();
    return encrypted;
}

// 签到函数
async function checkIn() {
    const baseURL = "https://api.kilamanbo.com/api/v424/user/checkIn";
    const headers = {
        "_c": 20,
        "x-auth-token": "xxxx" // 请替换为实际的 x-auth-token
    };
    const data = {
        timeZoneStr: "Asia/Shanghai",
        uid: -1,
        sign: getSign("timeZoneStr=Asia%2FShanghai&uid=-1") // 使用加密函数生成签名
    };

    try {
        const response = await axios.post(baseURL, data, { headers });
        // 判断签到结果
        if (response.data.h.code === 200) {
            console.log("签到成功!");
            console.log(response.data);
        } else {
            console.log("用户今日已经签到!");
            console.log(response.data);
        }
    } catch (error) {
        console.error("签到失败:", error);
    }
}

// 调用签到函数
checkIn();
 

将其中的x-auth-token改成自己的token,测试运行

最后

上面只是写了大概的内容,具体脚本还可以再让gpt优化
比如有很多任务,可以让gpt封装下请求函数,方便调用,也省事
要增加新的功能依旧是抓包发给gpt就行了

最后的最后,这里就是最后了,好像啥都没写


本站由 @wenmoux 使用 Stellar 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
陕ICP备20007652号-1 | 陕公网安备 61072202000146号

本页面访问 次 | 👀总访问 次 | 🥷总访客