行行查案例-数据解密-国密s4-webpack打包模块补齐

解密过程概述

行行查网站(https://www.hanghangcha.com)接口返回的响应数据采用加密方式传输,解密方法如下:

1.定位解密点

复制代码
(1).直接搜JSON.parse
(2).用hook
var my_parse = JSON.parse
JSON.parse = function(params){
    debugger;
    console.log("json_parse params:", params);
    return my_parse(params)
};
复制代码
hook定位的地方参数params是明文.

找到hook定位的前一个栈,即解密函数位置
(3).用XHR
找到堆栈里面有ajax,就找ajax构造的地方并找ajax的回调位置,定位到解密函数,定位到解密位置

2.解密代码补全

  • 找到webpack的mod代码

1.定位

,断点后找到webpack的mod代码

添加相关测试代码

测试代码中导入mod运行测试

根据日志找到对应的确实模块代码,复制到本地的mod文件中

补全全部模块后,根据报错,补齐代码

var i = window.loader.n(r)

解密函数

复制代码
require('./4.行行查-mod')
var r = window.loader("1e8b")
var i = window.loader.n(r)
var f = i.a.sm4
var p = {
  key: "MbzgvXzBWynQrtpy",
  mode: "cbc",
  iv: "kDrvPQfPIuArAzkF",
  cipherType: "base64"
}
var m = new f(p);

function decrypt_data(e){
  return m.decrypt(e)
}


var encrypt_data = "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"

console.log(decrypt_data(encrypt_data))

请求示例

使用Python请求并解密数据的示例代码:

复制代码
import execjs
import requests


headers = {
    "Accept": "application/json, text/javascript, */*; q=0.01",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Auth-Plus;": "",
    "Cache-Control": "no-cache",
    "Client-Encrypt": "v1.1",
    "Connection": "keep-alive",
    "Origin": "https://www.hanghangcha.com",
    "Pragma": "no-cache",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "same-site",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
    "X-Requested-With": "XMLHttpRequest",
    "clientInfo": "web",
    "clientVersion": "1.0.7",
    "currentHref": "https://www.hanghangcha.com/hhcreport",
    "sec-ch-ua": "\"Google Chrome\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\""
}
cookies = {
    "Hm_lvt_1521e0fb49013136e79181f2888214a7": "1778226205,1780543249",
    "Hm_lpvt_1521e0fb49013136e79181f2888214a7": "1780543249",
    "HMACCOUNT": "E56BFE635869AB20",
    "JSESSIONID": "660F65FFC37D2D886CED4AE7540F408B",
    "_ACCOUNT_": "MmJiZDZjZTIzNjA5NDJhMGFhODYyODQ4NTE5MzUyNzAlNDAlNDBtb2JpbGU6MTc4MTc1NjAzMzE1MDphNTU5NGU3NDY2OGQ4MTUwOTI2MzE4ODBjNGJmZThlYQ"
}
url = "https://api.hanghangcha.com/hhc/member/industry/getReportList"

for page in range(0, 6):

    params = {
        "filter": "{\"reportType\":null,\"limit\":10,\"skip\":%d}" % (page * 10)
    }

    ctx = execjs.compile(open('3.行查查.js', encoding='utf-8').read())
    response = requests.get(url, headers=headers, cookies=cookies, params=params).json()['data']

    result = ctx.call('decrypt_data', response)
    print(result)

4.行行查-mod.jshttps://gitee.com/ink-prince/js-reverse-engineering/blob/master/2026_05_8_SM%E5%9B%BD%E5%AF%86%E5%8A%A0%E5%AF%86/4.%E8%A1%8C%E8%A1%8C%E6%9F%A5-mod.js

相关推荐
霸道流氓气质3 小时前
Spring AI Ollama 连接超时问题排查与解决:OkHttp 读超时配置全指南
人工智能·spring·okhttp
你觉得脆皮鸡好吃吗10 天前
XSS渗透 COOKIE
网络·http·okhttp·网络安全学习
彭于晏Yan13 天前
OkHttp 与 RestTemplate 技术选型对比
java·spring boot·后端·okhttp
JohnnyDeng9413 天前
OkHttp 拦截器链与缓存策略:深度解析网络层的核心机制
okhttp·缓存
胖胖胖胖胖虎14 天前
okhttp Stream Load 含认证请求重定向
starrocks·okhttp
步十人14 天前
【JavaScript】通过AJAX技术让前端发请求到后端
javascript·ajax·okhttp
XiYang-DING14 天前
【Spring】 Ajax
spring·ajax·okhttp
hj104315 天前
fastadmin 开发示例:使用 layer 弹窗实现数据快速录入
okhttp
YF021119 天前
Android App 高效升级指南:OkDownload 多线程断点续传与全版本安装适配
android·okhttp·app