文章目录

  • 前言
  • 一、页面分析
  • 二、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获取相关推荐

  1. js逆向 | 七麦数据analysis加密逻辑分析(最新)

    一.前言 没办法把公众号的文章直接搬运过来,简单分析下整个流程以及关键js代码和python的实现. 简单说下加密的实现逻辑 第一,使用拦截器,拦截请求url和请求携带的参数 第二,对参数进行排序并使 ...

  2. JS逆向 | 七麦数据analysis分析

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负.如果侵权到了您的权益,请立即联系我删除! 前言 这次来分析一下七麦数据的analysis加密. 有什么写的不好的地方请多多指教

  3. 2021.4.22 易协同访客数据

    2021.4.22 易协同访客数据 平台数据: 统计指标说明: PV(浏览量):即通常说的Page View(PV),用户每打开一个网站页面就被记录1次.用户多次打开同一页面,浏览量值累计. UV(访 ...

  4. Leetcode刷题 2021.01.22

    Leetcode刷题 2021.01.22 Leetcode1042 不邻接植花 Leetcode1010 总持续时间可被 60 整除的歌曲 Leetcode1091 二进制矩阵中的最短路径 Leet ...

  5. Python调用,爬虫JS逆向——ajax类型数据,数据加密获取步骤和方法(二)

    Python调用,爬虫JS逆向--动态数据 JS逆向-ajax加密数据 加密数据是无法通过在后台找到接口进行请求来获取数据 目标网站:https://jzsc.mohurd.gov.cn/data/c ...

  6. JS逆解析-七麦数据analysis加密分析

    一.介绍: 要分析的网站是:七麦数据 -专业移动产品商业分析平台-关键词优化-ASA优化 二:页面分析 1:进入网址,按F12进入控制台,刷新页面,抓包,可以看到下图analysis参数,就是我们需要 ...

  7. 七麦数据-analysis值计算过程

    debug 参照文章爬虫JS逆向之-七麦数据的步骤进入下面的网站,打开控制台,选择榜单类型全部 点击网络可以看到,页面的发出了下面的请求,其中analysis参数是请求加密后的参数 响应结果 加密参数 ...

  8. 七麦数据analysis加密算法

    2020年8月web版本可用 算法已转成python 接单app逆向,js逆向,有需求联系V:Nanch51188 #!/usr/bin/python3 # encoding: utf-8 " ...

  9. js逆向分析实战之七麦数据

    1.介绍:   要分析的网站是:https://www.qimai.cn/rank   ①当你打开网站,打开控制台的时候,网站有debugger检测,会陷入一个死循环,让你无法调试,如下图:   ②在 ...

最新文章

  1. 2020 年技术趋势一览:AutoML、联邦学习、云寡头时代的终结
  2. python 正则的使用 —— 编写一个简易的计算器
  3. MemSQL初体验 - (3)性能测试
  4. redis的学习使用,第四章
  5. SQL中binary 和 varbinary的区别
  6. IDEA Tomcat Catalina Log出现乱码
  7. 集合添加元素python_Python 集合(Set)
  8. python 按钮控件_python实现360皮肤按钮控件示例
  9. 简单的js网页计算机代码,简易js代码实现计算器操作
  10. C#中各种字符类型的转化
  11. iOS越狱系统绕过frida检测
  12. 疫情下技术人的宅家指南
  13. ubuntu个人常见问题汇总
  14. 微信小程序请求php文件报错,微信小程序wx.request请求数据报错
  15. 春节期间,怎样晒朋友圈才安全?
  16. 【Java项目实战】CRM客户关系管理系统
  17. python绘制多个散点图_绘制多个散点图熊猫
  18. 专题一:Labview表格控件 及 应用(一)
  19. 保研面试/考研复试:英语口语面试必备话题及常用句型句式整理(三)
  20. Hive months_between(日期相减不正确处理)

热门文章

  1. 作业 对十二个“一”的评价
  2. 关于网页右下角总出广告解决办法
  3. 使用 Nmap 扫描 TCP 和 UDP 端口
  4. 1、如何安装KEIL5
  5. 那些进大厂的程序员,「简历」都是怎么写的?我决定分享出来
  6. erdas裁剪影像_如何进行影像图裁剪
  7. 西门子定位器控制压电阀的步骤
  8. 安卓应用控制系统音乐
  9. scala 分支控制 (单分支、双分支、多分支)、 分支判断的返回值
  10. 单细胞分析实录(15): 基于monocle2的拟时序分析