【大众点评】店铺评论 加密参数生成逆向分析

在这里插入图片描述
点击好评
https://www.dianping.com/ajax/json/shopDynamic/allReview
在这里插入图片描述

分析参数_token

直接搜_token
共17个,优先看和请求相关的
在这里插入图片描述
在这里插入图片描述
给第一个_token打上断点,然后切换评论,就直接断住了

n = h(i, e.sendData)
_token: n

在这里插入图片描述
现在给它打上断点,然后刷新页面
现在进去看看h方法
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
h方法里面最核心的就是i.reload(s)
i.reload(s)里面最核心的就是iP.sign = iJ(jx);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
明文字符串先是变为Uint8Array
然后再变为base64格式字符串
在这里插入图片描述
iD方法里面也确实是对Uint8Array进行一些运算
在这里插入图片描述
现在把Uint8Array数组转为base64

function Uint8ArrayToBase64(uint8Array) {
    return Buffer.from(uint8Array).toString('base64');
}

var jc = [120, 156, 83, 74, 206, 44, 169, 244, 76, 177, 53, 81, 203, 47, 74, 73, 45, 178, 77, 206, 207, 205, 205, 207, 83, 43, 206, 200, 47, 0, 138, 122, 24, 122, 153, 101, 101, 152, 71, 5, 122, 133, 4, 37, 22, 186, 122, 130, 197, 67, 42, 11, 82, 109, 13, 13, 212, 138, 75, 115, 115, 19, 139, 42, 253, 18, 115, 83, 109, 75, 243, 82, 82, 211, 50, 243, 82, 83, 148, 0, 136, 73, 28, 175]
console.log(Uint8ArrayToBase64(new Uint8Array(jc)));

在这里插入图片描述
结果完全没有问题
现在返回过去
在这里插入图片描述
字符串

‘cityId=4&order=common&shopId=H1J6jh7ZQJTRaqEI&shopType=10&summaryName=undefined’

先是经过cD.deflate方法转Uint8Array再是转base64
然后得到结果

‘eJxTSs4sqfRMsTVRyy9KSS2yTc7Pzc3PUyvOyC8AinoYepllZZhHBXqFBCUWunqCxUMqC1JtDQ3UiktzcxOLKv0Sc1NtS/NSUtMy81JTlACISRyv’
在这里插入图片描述
cD.deflate方法内部就是压缩字符串得到uint8Array

const zlib = require('zlib');

function compressString(str) {
    var compressed = zlib.deflateSync(str);
    return Array.from(compressed);  // 输出压缩后的数组形式
}

function Uint8ArrayToBase64(uint8Array) {
    return Buffer.from(uint8Array).toString('base64');
}

var jd = 'cityId=4&order=common&shopId=H1J6jh7ZQJTRaqEI&shopType=10&summaryName=undefined'
arr = compressString(JSON.stringify(jd));
res = Uint8ArrayToBase64(new Uint8Array(arr));
// 得到结果 "eJxTSs4sqfRMsTVRyy9KSS2yTc7Pzc3PUyvOyC8AinoYepllZZhHBXqFBCUWunqCxUMqC1JtDQ3UiktzcxOLKv0Sc1NtS/NSUtMy81JTlACISRyv"
console.log(res);

在这里插入图片描述
这是我们的评论请求
n = h(i, e.sendData);是会变的,原因是里面有时间戳

在这里插入图片描述

s = ‘https://www.dianping.com?shopId=H1J6jh7ZQJTRaqEI&cityId=4&shopType=10&order=undefined&summaryName=undefined&tcv=qo767wnn8n’

其实根本不需要这些参数也可以

    'shopId': 'H1J6jh7ZQJTRaqEI',
    'cityId': '4',
    'shopType': '10',
    'order': 'good',

评论请求这几个参数就够用了
又或者直接去html里面搜也可以

### 抓包分析大众点评微信小程序的网络请求 对于希望抓取大众点评微信小程序中的数据,特别是其网络请求部分,可以通过特定工具和技术手段实现这一目标。值得注意的是,在执行此类操作前应确保遵循相关法律法规和服务条款。 #### 准备工作 为了成功捕获并解析来自大众点评微信小程序的数据流,需准备以下几项: - 安装Fiddler或Charles这类支持HTTPS解密功能的代理服务器软件; - 配置移动设备连接至同一Wi-Fi环境下的电脑作为HTTP(S)流量转发节点; #### 实施步骤概述 通过配置上述提到的应用程序来拦截所有进出被测应用(即大众点评)的数据交换活动,并利用这些应用程序内置的功能查看详细的通信记录。具体来说就是设置好代理之后启动所需的小程序页面加载流程,此时所有的API调用都将经过设定好的中间件显示出来供进一步研究[^1]。 #### 设置代理与证书安装 由于涉及到加密传输层的安全考量,因此还需要完成SSL/TLS认证环节的工作——通常是在客户端浏览器里导入由所选调试器签发的信任根CA文件副本以便能够正常监视整个会话期间产生的每一个HTTPS报文内容[^2]。 ```bash # 使用命令行方式快速切换系统级HTTP(s)出口指向本地监听端口8888处运行着的Fiddler实例 export http_proxy=http://localhost:8888/ export https_proxy=https://localhost:8888/ ``` #### 数据处理及安全提示 尽管当前许多平台可能缺乏足够的访问控制措施使得外部实体相对容易获得内部资源,但这并不意味着可以无视道德底线随意滥用他人知识产权成果。相反地应当尊重版权方意愿仅限于合法范围内开展逆向工程学习实践项目[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值