【2021-01-22】JS逆向之七麦数据analysis获取
文章目录
- 前言
- 一、页面分析
- 二、analysis参数获取
- 1.找加密位置
- 2.参数破解
- 三、源码
前言
地址:aHR0cHM6Ly93d3cucWltYWkuY24vcmFuaw==
加密类型:base64
一、页面分析
刷新页面,抓包,可以看到有个analysis参数,这就是我们要破解的参数
二、analysis参数获取
1.找加密位置
直接搜发现找不到
从堆栈入手,慢慢找加密位置
2.参数破解
下断点重新加载,这个a就是我们要找的analysis,分析一下,外面嵌套了两个方法p.d和,p.j,传了参数r,y
看下r,y的值,其中y是定值,r是经过加密后的值
然后再看下r未加密时的值,里面有时间跟页数的参数分别是4和5
看下Object(p.d)这个方法,其中I()方法是base64加密,后面的r方法进行字符串的转换
下面这个是Object(p.j)这个方法,直接扣这个方法,没啥难度,其他参数改补的补
三、源码
var window = global;
var CryptoJS = require('crypto-js');
var navigator = {appCodeName: "Mozilla",appName: "Netscape",appVersion: "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",connection: {onchange: null, effectiveType: "4g", rtt: 100, downlink: 5.5, saveData: false},cookieEnabled: true,doNotTrack: null,geolocation: {},hardwareConcurrency: 4,language: "zh-CN",languages: ["zh-CN", "zh"],maxTouchPoints: 0,mediaCapabilities: {},mediaSession: {metadata: null, playbackState: "none"},mimeTypes: {},onLine: true,permissions: {},platform: "Win32",plugins: {},product: "Gecko",productSub: "20030107",userActivation: {hasBeenActive: false, isActive: false},userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",vendor: "Google Inc.",vendorSub: "",webkitPersistentStorage: {},webkitTemporaryStorage: {},javaEnabled: function () {return false}
};
window['navigator'] = navigator;function base64(data) {var wordArray = CryptoJS.enc.Utf8.parse(data);var base64_data = CryptoJS.enc.Base64.stringify(wordArray);return base64_data
}function i() {var e = "";return ["66", "72", "6f", "6d", "43", "68", "61", "72", "43", "6f", "64", "65"].forEach(function (t) {e += unescape("%u00" + t)}),e
}function d_r(e) {var t = i();return String[t](e)
}function d(e) {return base64(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, function (e, t) {return d_r("0x" + t)}))
}function o() {return unescape("861831832863830866861836861862839831831839862863839830865834861863837837830830837839836861835833".replace(/8/g, "%u00"))
}function j(e, t) {t || (t = o()),e = e.split("");for (var n = e.length, a = t.length, i = "charCodeAt", s = 0; s < n; s++)e[s] = d_r(e[s][i](0) ^ t[(s + 10) % a][i](0));return e.join("")
}var y = "00000008d78d46a", w = "synct", b = "syncd", _ = "@#", S = "analysis", k = 703;function get_analysis(date, page) {var e = {baseURL: "https://api.qimai.cn",url: "/rank/indexPlus/brand_id/1" // 0--付费榜 1--免费榜 2--畅销榜};var r = [date, "36", page, "all", "cn", "iphone"];var n = +new Date - (k || 0) - 1515125653845, a = "";r = r.sort().join(""),r = d(r),r += _ + e.url.replace(e.baseURL, ""),r += _ + n,r += _ + 1,a = d(j(r, y))return a}console.log(get_analysis("2021-01-22", 1))
'''https://www.qimai.cn/rank'''import timeimport execjs
import requestsheaders = {'authority': 'api.qimai.cn','sec-ch-ua': '"Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87"','accept': 'application/json, text/plain, */*','sec-ch-ua-mobile': '?0','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36','origin': 'https://www.qimai.cn','sec-fetch-site': 'same-site','sec-fetch-mode': 'cors','sec-fetch-dest': 'empty','referer': 'https://www.qimai.cn/','accept-language': 'zh-CN,zh;q=0.9',
}date_str = str(time.strftime('%Y-%m-%d',time.localtime(time.time())))
page = 1with open('./code.js',encoding='utf8') as f:js_fun = execjs.compile(f.read())analysis = js_fun.call('get_analysis',date_str,page)
params = (('analysis', analysis),('brand', 'all'),('country', 'cn'),('device', 'iphone'),('genre', '36'),('date', date_str),('page', page),
)response = requests.get('https://api.qimai.cn/rank/indexPlus/brand_id/1', headers=headers, params=params)print(response.json())
【2021-01-22】JS逆向之七麦数据analysis获取相关推荐
- js逆向 | 七麦数据analysis加密逻辑分析(最新)
一.前言 没办法把公众号的文章直接搬运过来,简单分析下整个流程以及关键js代码和python的实现. 简单说下加密的实现逻辑 第一,使用拦截器,拦截请求url和请求携带的参数 第二,对参数进行排序并使 ...
- JS逆向 | 七麦数据analysis分析
声明:本文只作学习研究,禁止用于非法用途,否则后果自负.如果侵权到了您的权益,请立即联系我删除! 前言 这次来分析一下七麦数据的analysis加密. 有什么写的不好的地方请多多指教
- 2021.4.22 易协同访客数据
2021.4.22 易协同访客数据 平台数据: 统计指标说明: PV(浏览量):即通常说的Page View(PV),用户每打开一个网站页面就被记录1次.用户多次打开同一页面,浏览量值累计. UV(访 ...
- Leetcode刷题 2021.01.22
Leetcode刷题 2021.01.22 Leetcode1042 不邻接植花 Leetcode1010 总持续时间可被 60 整除的歌曲 Leetcode1091 二进制矩阵中的最短路径 Leet ...
- Python调用,爬虫JS逆向——ajax类型数据,数据加密获取步骤和方法(二)
Python调用,爬虫JS逆向--动态数据 JS逆向-ajax加密数据 加密数据是无法通过在后台找到接口进行请求来获取数据 目标网站:https://jzsc.mohurd.gov.cn/data/c ...
- JS逆解析-七麦数据analysis加密分析
一.介绍: 要分析的网站是:七麦数据 -专业移动产品商业分析平台-关键词优化-ASA优化 二:页面分析 1:进入网址,按F12进入控制台,刷新页面,抓包,可以看到下图analysis参数,就是我们需要 ...
- 七麦数据-analysis值计算过程
debug 参照文章爬虫JS逆向之-七麦数据的步骤进入下面的网站,打开控制台,选择榜单类型全部 点击网络可以看到,页面的发出了下面的请求,其中analysis参数是请求加密后的参数 响应结果 加密参数 ...
- 七麦数据analysis加密算法
2020年8月web版本可用 算法已转成python 接单app逆向,js逆向,有需求联系V:Nanch51188 #!/usr/bin/python3 # encoding: utf-8 " ...
- js逆向分析实战之七麦数据
1.介绍: 要分析的网站是:https://www.qimai.cn/rank ①当你打开网站,打开控制台的时候,网站有debugger检测,会陷入一个死循环,让你无法调试,如下图: ②在 ...
最新文章
- 2020 年技术趋势一览:AutoML、联邦学习、云寡头时代的终结
- python 正则的使用 —— 编写一个简易的计算器
- MemSQL初体验 - (3)性能测试
- redis的学习使用,第四章
- SQL中binary 和 varbinary的区别
- IDEA Tomcat Catalina Log出现乱码
- 集合添加元素python_Python 集合(Set)
- python 按钮控件_python实现360皮肤按钮控件示例
- 简单的js网页计算机代码,简易js代码实现计算器操作
- C#中各种字符类型的转化
- iOS越狱系统绕过frida检测
- 疫情下技术人的宅家指南
- ubuntu个人常见问题汇总
- 微信小程序请求php文件报错,微信小程序wx.request请求数据报错
- 春节期间,怎样晒朋友圈才安全?
- 【Java项目实战】CRM客户关系管理系统
- python绘制多个散点图_绘制多个散点图熊猫
- 专题一:Labview表格控件 及 应用(一)
- 保研面试/考研复试:英语口语面试必备话题及常用句型句式整理(三)
- Hive months_between(日期相减不正确处理)