声明
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!
相关技能
也不算全零基础,好歹要会抓包,自行百度或者哔哩哔哩
安卓推荐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就行了
最后的最后,这里就是最后了,好像啥都没写