【某海外漫画】JS逆向分析

本文介绍了如何抓取海外某漫画数据,重点解析了header中的x-comico-check-sum校验过程。通过Chrome开发者工具分析,找到加密方法涉及的timestamp、webKey和ip,并使用Python实现加密算法的还原。步骤包括抓包、查找关键字、理解加密逻辑和在线验证。最后提供了简洁的Python代码示例,整个过程简单易懂,适合初学者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

需求来源海外版权,抓取海外某漫画数据。通过接口分析发现header中校验x-comico-check-sum
目标网站: aHR0cHM6Ly9wb2NrZXRjb21pY3MuY29tLw==



一、抓包

在这里插入图片描述

二、分析定位

a.在chrome打开Search搜索关键字”x-comico-check-sum“,有匹配到的代码包含搜素的关键字

```c
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

b. 单击进入代码具体位置,可以看到 config.headers[‘X-comico-check-sum’] = options[‘checksum’];
在这里插入图片描述
c. 接着搜索下关键字checksum,checksum: await checkSumFn™,
在这里插入图片描述
d. 再接着分析看看方法checkSumFn™
在这里插入图片描述

代码很清晰没有vmp混淆,很直观的可以看到。
e. 断点看下
在这里插入图片描述


参数: timestamp 秒级时间戳

sum: webKey + ip + tm;  →  ”9241d2f090d01716feac20ae08ba791aip1654845891“。

加密: const enc = Encrypto.sha256(9241d2f090d01716feac20ae08ba791aip1654845891);

在线验证

在这里插入图片描述

Python还原

import time
import hashlib
 
 
def sha_256(ts: int) -> str:
    key = "9241d2f090d01716feac20ae08ba791a"
    # 这里ip随便给,和请求时的header中的x-comico-client-immutable-uid保持一致就可以
    ip = "0.0.0.0"
    encrypt_str = f"{key}{ip}{ts}"
    hash_obj = hashlib.sha256("".encode("utf-8"))
    hash_obj.update(encrypt_str.encode("utf-8"))
    check_sum = hash_obj.hexdigest()
    return check_sum
 
 
# 秒级时间戳
ts = int(time.time())
check_sum = sha_256(ts)

总结

难度简单,大家可以自己尝试一下! 在这里祝大家程序员节快乐~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别None了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值