打开网站 企名片

分析网站

直接请求发现并不是静态页面,那就是js动态加载的了

发现一串很长的加密字符串,因为其他的请求也没有数据,所有这个应该就是我们需要的东西了

解密

搜索encrypt_data得到一个匹配信息,点击进去

搜索encrypt_data发现有六个值,排查后找到最后这个,点击左边的数字打上断点。

刷新页面

进入函数得到加密函数

自定义的decode加密逻辑,点击进去

红框里的就是加密逻辑了,最后把东西全部提取出来

    var o, r, c, l, u, d, h, p, f, v, m, g, b, y, _ = new Array(16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756), C = new Array(-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344), w = new Array(520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584), x = new Array(8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928), k = new Array(256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080), T = new Array(536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312), A = new Array(2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154), L = new Array(268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696), S = function(t) {for (var e, i, n, a = new Array(0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964), s = new Array(0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697), o = new Array(0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272), r = new Array(0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144), c = new Array(0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256), l = new Array(0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488), u = new Array(0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746), d = new Array(0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568), h = new Array(0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578), p = new Array(0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488), f = new Array(0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800), v = new Array(0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744), m = new Array(0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128), g = new Array(0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261), b = t.length > 8 ? 3 : 1, y = new Array(32 * b), _ = new Array(0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0), C = 0, w = 0, x = 0; x < b; x++) {var k = t.charCodeAt(C++) << 24 | t.charCodeAt(C++) << 16 | t.charCodeAt(C++) << 8 | t.charCodeAt(C++), T = t.charCodeAt(C++) << 24 | t.charCodeAt(C++) << 16 | t.charCodeAt(C++) << 8 | t.charCodeAt(C++);k ^= (n = 252645135 & (k >>> 4 ^ T)) << 4,k ^= n = 65535 & ((T ^= n) >>> -16 ^ k),k ^= (n = 858993459 & (k >>> 2 ^ (T ^= n << -16))) << 2,k ^= n = 65535 & ((T ^= n) >>> -16 ^ k),k ^= (n = 1431655765 & (k >>> 1 ^ (T ^= n << -16))) << 1,k ^= n = 16711935 & ((T ^= n) >>> 8 ^ k),n = (k ^= (n = 1431655765 & (k >>> 1 ^ (T ^= n << 8))) << 1) << 8 | (T ^= n) >>> 20 & 240,k = T << 24 | T << 8 & 16711680 | T >>> 8 & 65280 | T >>> 24 & 240,T = n;for (var A = 0; A < _.length; A++)_[A] ? (k = k << 2 | k >>> 26,T = T << 2 | T >>> 26) : (k = k << 1 | k >>> 27,T = T << 1 | T >>> 27),T &= -15,e = a[(k &= -15) >>> 28] | s[k >>> 24 & 15] | o[k >>> 20 & 15] | r[k >>> 16 & 15] | c[k >>> 12 & 15] | l[k >>> 8 & 15] | u[k >>> 4 & 15],i = d[T >>> 28] | h[T >>> 24 & 15] | p[T >>> 20 & 15] | f[T >>> 16 & 15] | v[T >>> 12 & 15] | m[T >>> 8 & 15] | g[T >>> 4 & 15],n = 65535 & (i >>> 16 ^ e),y[w++] = e ^ n,y[w++] = i ^ n << 16}return y}(t), z = 0, j = e.length, B = 0, I = 32 == S.length ? 3 : 9;p = 3 == I ? i ? new Array(0,32,2) : new Array(30,-2,-2) : i ? new Array(0,32,2,62,30,-2,64,96,2) : new Array(94,62,-2,32,64,2,30,-2,-2),2 == s ? e += "        " : 1 == s ? i && (c = 8 - j % 8,e += String.fromCharCode(c, c, c, c, c, c, c, c),8 === c && (j += 8)) : s || (e += "\0\0\0\0\0\0\0\0");var F = "", $ = "";for (1 == n && (f = a.charCodeAt(z++) << 24 | a.charCodeAt(z++) << 16 | a.charCodeAt(z++) << 8 | a.charCodeAt(z++),m = a.charCodeAt(z++) << 24 | a.charCodeAt(z++) << 16 | a.charCodeAt(z++) << 8 | a.charCodeAt(z++),z = 0); z < j; ) {for (d = e.charCodeAt(z++) << 24 | e.charCodeAt(z++) << 16 | e.charCodeAt(z++) << 8 | e.charCodeAt(z++),h = e.charCodeAt(z++) << 24 | e.charCodeAt(z++) << 16 | e.charCodeAt(z++) << 8 | e.charCodeAt(z++),1 == n && (i ? (d ^= f,h ^= m) : (v = f,g = m,f = d,m = h)),d ^= (c = 252645135 & (d >>> 4 ^ h)) << 4,d ^= (c = 65535 & (d >>> 16 ^ (h ^= c))) << 16,d ^= c = 858993459 & ((h ^= c) >>> 2 ^ d),d ^= c = 16711935 & ((h ^= c << 2) >>> 8 ^ d),d = (d ^= (c = 1431655765 & (d >>> 1 ^ (h ^= c << 8))) << 1) << 1 | d >>> 31,h = (h ^= c) << 1 | h >>> 31,r = 0; r < I; r += 3) {for (b = p[r + 1],y = p[r + 2],o = p[r]; o != b; o += y)l = h ^ S[o],u = (h >>> 4 | h << 28) ^ S[o + 1],c = d,d = h,h = c ^ (C[l >>> 24 & 63] | x[l >>> 16 & 63] | T[l >>> 8 & 63] | L[63 & l] | _[u >>> 24 & 63] | w[u >>> 16 & 63] | k[u >>> 8 & 63] | A[63 & u]);c = d,d = h,h = c}h = h >>> 1 | h << 31,h ^= c = 1431655765 & ((d = d >>> 1 | d << 31) >>> 1 ^ h),h ^= (c = 16711935 & (h >>> 8 ^ (d ^= c << 1))) << 8,h ^= (c = 858993459 & (h >>> 2 ^ (d ^= c))) << 2,h ^= c = 65535 & ((d ^= c) >>> 16 ^ h),h ^= c = 252645135 & ((d ^= c << 16) >>> 4 ^ h),d ^= c << 4,1 == n && (i ? (f = d,m = h) : (d ^= v,h ^= g)),$ += String.fromCharCode(d >>> 24, d >>> 16 & 255, d >>> 8 & 255, 255 & d, h >>> 24, h >>> 16 & 255, h >>> 8 & 255, 255 & h),512 == (B += 8) && (F += $,$ = "",B = 0)}if (F = (F += $).replace(/\0*$/g, ""),!i) {if (1 === s) {var O = 0;(j = F.length) && (O = F.charCodeAt(j - 1)),O <= 8 && (F = F.substring(0, j - O))}F = decodeURIComponent(escape(F))}return F
}function decode(e) {var u = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var d = /[\t\n\f\r ]/g;var t = (e = String(e).replace(d, "")).length;t % 4 == 0 && (t = (e = e.replace(/==?$/, "")).length),(t % 4 == 1 || /[^+a-zA-Z0-9/]/.test(e)) && c("Invalid character: the string to be decoded is not correctly encoded.");for (var n, i, r = 0, o = "", a = -1; ++a < t; )i = u.indexOf(e.charAt(a)),n = r % 4 ? 64 * n + i : i,r++ % 4 && (o += String.fromCharCode(255 & n >> (-2 * r & 6)));return o
}function crad_dectypt(encrypt_data) {return JSON.parse(s("5e5062e82f15fe4ca9d24bc5", decode(encrypt_data), 0, 0, "012345677890123", 1))
}
# -*- coding: utf-8 -*-
import requests
import execjswith open('crad.js','r') as f:execjs_1 = execjs.compile(f.read())post_url = 'https://vipapi.qimingpian.com/DataList/productListVip'form_data = {'page': '1','num': '20',
}resp = requests.post(post_url,data=form_data)
encrypt_data = resp.json()['encrypt_data']
result = execjs_1.call('crad_dectypt',encrypt_data)
print(result)

企名片-企业数据js加密破解相关推荐

  1. 【2020-09-29】JS逆向之企名片encrypt_data数据解密--超详细

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 项目场景: 企名片网址:https://www.qimingpian.cn/finosda/project/ein ...

  2. js逆向系列:企名片,获取js逆向后的真实数据!

    一.进入企名片创业项目 我们需要爬取如下数据 首先,对该网页进行抓包,发现这些数据是通过post请求获得的. 这是网站给我们返回的数据,为什么和网页上显示的不一样呢?分析后得出,这是经过js加密后的数 ...

  3. 百度企业信用js加密研究

    一.简单说明 企业相关信息对于预测企业发展状况十分重要.基于公司业务,最近分析企业信息查询网站,了解了很多相关的网站,有全国企业信用信息公示, 天眼查,企查查,启信宝,水滴信用,百度企业信用,阿土伯等 ...

  4. 爬虫之js加密破解抓取网易云音乐评论生成词云

    js破解历程 前言 技能点 界面概况 静态网页 动态网页 页面解析 step1: 找参数 step2:分析js函数 step3:分析参数 step4: 校验 step5:转为python代码 编写爬虫 ...

  5. Python爬虫之js加密破解,抓取网易云音乐评论生成词云

    js破解历程 前言 技能点 界面概况 静态网页动态网页 页面解析 step1: 找参数step2:分析js函数step3:分析参数step4: 校验step5:转为python代码 编写爬虫 很多人学 ...

  6. python爬虫之基于JS加密破解--有道翻译/百度翻译

    有道翻译破解案例(post) 目标 破解有道翻译接口,抓取翻译结果 # 结果展示 请输入要翻译的词语: elephant 翻译结果: 大象 ************************** 请输入 ...

  7. 爬虫破解js加密破解(二) 有道词典js加密参数 sign破解

    在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密, ...

  8. Python 爬虫js加密破解(四) 360云盘登录password加密

    登录链接:https://yunpan.360.cn/mindex/login 这是一个md5 加密算法,直接使用 md5加密即可实现 本文讲解的是如何抠出js,运行代码 第一部:抓包 如图 第二步: ...

  9. Python爬虫-openlaw登陆JS加密破解

    0x00 抓包分析 目标网站:aHR0cCUzQS8vb3Blbmxhdy5jbi8= 1. 抓包 参数 数值来源 _csrf 未知 username 登陆账号 password 加密过的密码 _sp ...

最新文章

  1. 【PHP】 获取网站信息
  2. 搜狐的财报背后:视频“吸血”,游戏与搜索“供血”,能否再成就张朝阳的理想主义?
  3. DateFormat(炸窝)
  4. 死锁终结者:顺序锁和轮询锁!
  5. Qt532.线程(_beginthread)
  6. 带你认识数据库视图对象,下次不要再认成“表”了
  7. HTML动画(难点)
  8. Datawhale 三月组队学习计划
  9. Apache Dril l和 Prestodb是合并多租数据源户统一查询
  10. Angularjs中$http以post请求通过消息体传递参数
  11. 咸宁php培训,PHP培训
  12. QCC3005 实现iphone手机banner显示电量图标
  13. Win10台式电脑怎么不拔网线断网
  14. [MATLAB作业二]求解线性代数问题
  15. Delphi 中 FireDAC 数据库连接(多线程)
  16. unicloud操作数据库(一)——clientDb
  17. R730 LCD屏提示:PDR1016 drive 7 removed from disk drive bay 1.Check drive.R730 LCD屏提示:PDR1016 drive 7 r
  18. 管理学中的知名定律之安慰剂效应(Placebo Effect)
  19. v中国质子交换膜行业发展动态与供需前景预测报告2022-2027
  20. [AHK]Bing Desktop Wallpaper Changer(必应壁纸随心换)

热门文章

  1. 白话详解ROCAUC | 小白深度学习入门
  2. unity重置天下霸图之进度汇总
  3. 查询字五笔打法的window自带方法
  4. Hello BIEE
  5. 小型企业无线网络配置
  6. 四轴飞行器建模及控制(一)
  7. 怎样维护ERP,ERP维护需要具备什么知识?
  8. ubuntu 20.04的netplan多VLAN配置
  9. 已知方位角和仰角求(单位)方向向量
  10. 《旧制度与大革命》读后感