在查询东航航班的时候,请求数据中有个seriesid

调试js分析代码的过程就略过了,下面是整合的生成seriesid 的js代码

<script>
function get_n(e, t) {
for (var n = [], r = 0; r < 256; ++r) n[r] = (r + 256).toString(16).substr(1);
return n
}
///////////////////////////////////////////////////////////////////////
function a(e, t) {
var r = t || 0,
o = get_n();
return [o[e[r++]], o[e[r++]], o[e[r++]], o[e[r++]], "-", o[e[r++]], o[e[r++]], "-", o[e[r++]], o[e[r++]], "-", o[e[r++]], o[e[r++]], "-", o[e[r++]], o[e[r++]], o[e[r++]], o[e[r++]], o[e[r++]], o[e[r++]]].join("")
}
///////////////////////////////////////////////////////////////////
var n = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto);
var r = new Uint8Array(16);
function i() {
return n(r), r
}
/////////////////////////////////////////////////////////////////
var o;
var s = 0, u = 0;
function rrr(e, t, n) {
var l = t && n || 0,
c = t || [],
f = (e = e || {}).node || r,
d = void 0 !== e.clockseq ? e.clockseq : o;
if (null == f || null == d) {
var p = i();
null == f && (f = r = [1 | p[0], p[1], p[2], p[3], p[4], p[5]]),
null == d && (d = o = 16383 & (p[6] << 8 | p[7]))
}
var h = void 0 !== e.msecs ? e.msecs : (new Date).getTime(),
m = void 0 !== e.nsecs ? e.nsecs : u + 1,
y = h - s + (m - u) / 1e4;
if (y < 0 && void 0 === e.clockseq && (d = d + 1 & 16383), (y < 0 || h > s) && void 0 === e.nsecs && (m = 0), m >= 1e4) throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
s = h,
u = m,
o = d;
var v = (1e4 * (268435455 & (h += 122192928e5)) + m) % 4294967296;
c[l++] = v >>> 24 & 255,
c[l++] = v >>> 16 & 255,
c[l++] = v >>> 8 & 255,
c[l++] = 255 & v;
var g = h / 4294967296 * 1e4 & 268435455;
c[l++] = g >>> 8 & 255,
c[l++] = 255 & g,
c[l++] = g >>> 24 & 15 | 16,
c[l++] = g >>> 16 & 255,
c[l++] = d >>> 8 | 128,
c[l++] = 255 & d;
for (var b = 0; b < 6; ++b) c[l + b] = f[b];
return t || a(c)
}
////////////////////////////////////////////////
function test() {
return rrr().replace(/-/g, "")
}
res = test()
console.log(res)
</script>

但是有个坑,我在使用鬼鬼js调试工具的时候,一直报'Uint8Array' 未定义,但是我在浏览器console面板上定义 new Uint8Array(16) 的时候,是不报错的

于是我使用vscode和js在线调试工具试了一下,正常运行,搞不清楚是什么原因,但是最终确实是拿到seriesid的值了

破解东航的seriesid的更多相关文章

  1. Kali对wifi的破解记录

    好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...

  2. 对抗密码破解 —— Web 前端慢 Hash

    (更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...

  3. Syscan360会议胸牌破解揭秘

    Syscan360会议胸牌破解揭秘 背景 有幸参加今年11月份的上海Syscan360安全会议,会议期间有一个亮点就是360的独角兽团队设计了一款电子badge(胸牌)供参加人员进行破解尝试,类似于美 ...

  4. “不给力啊,老湿!”:RSA加密与破解

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 加密和解密是自古就有技术了.经常看到侦探电影的桥段,勇敢又机智的主角,拿着一长串毫 ...

  5. C# 破解 Reflector8.5

    一.分析 破解.net .dll,可以使用reflector,但官方提供的reflector是需要购买的,因此,破解reflector势在必行. 二.破解Reflector具体步骤 下面为详细的破解步 ...

  6. CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15

    之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...

  7. 破解SQLServer for Linux预览版的3.5GB内存限制 (UBUNTU篇)

    在上一篇中我提到了如何破解RHEL上SQLServer的内存大小限制,但是Ubuntu上还有一道检查 这篇我将会讲解如何在3.5GB以下内存的Ubuntu中安装和运行SQLServer for Lin ...

  8. 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇)

    微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西 这篇我将讲解如何破解这个内存限制 要看关键的可以直接跳到第6步,只需要替换 ...

  9. 微信小程序IDE(微信web开发者工具)安装、破解手册

    1.IDE下载 微信web开发者工具,本人是用的windows 10 x64系统,用到以下两个版本的IDE安装工具与一个破解工具包: wechat_web_devtools_0.7.0_x64.exe ...

随机推荐

  1. Java基础-线程与并发1

    线程与并发 Thread 基本概念 程序: 一组计算机能识别和执行的指令 ,是静态的代码. 进程: 程序的一次运行活动, 运行中的程序 . 线程: 进程的组成部分,它代表了一条顺序的执行流. 进程线程 ...

  2. Uni-app页面路由小问题

    从地址列表页跳转到地址编辑页之后,编辑完成,回到地址列表页,应该使用uni.redirectTo(),不能使用uni.navigateBack(),因为后者是回到上一个页面,地址列表页的并没有重新加载 ...

  3. kubernetes系列(十三) - 存储之Volume

    1. Volume简介 1.1 k8s的volume和docker的volume区别 1.2 kubernetes支持的volume类型 2. 重点的volume类型 2.1 emptyDir 2.1 ...

  4. 使用Python进行XML解析

    XML 指可扩展标记语言(eXtensible Markup Language),常被设计用来传输和存储数据. 在进行医学图像标注时,我们常使用XML格式文件来存储标注,以下展示了使用Python来提 ...

  5. Python3笔记027 - 6.2 参数传递

    第6章 函数 6.2 参数传递 在理解形参和实参的基础上,理解位置参数.关键字参数.可变参数这三种情形,以及这三种的混合情形. 6.2.1 形式参数和实际参数 形式参数:在定义函数时,函数名后面括号中 ...

  6. JavaScript学习 Ⅰ

    一. JavaScript的使用 <script>标签 在HTML中,JavaScript代码必须位于<script>与</script>标签之间. 实例: < ...

  7. MYSQL 之 JDBC(十六): DBUtils

    DBUtils是Apache组织提供的一个开源的JDBC工具类库,能极大简化jdbc编码的工作量 API介绍 QueryRunner ResultSetHandler 工具类DbUtils 用DBUt ...

  8. POJ 1047 Round and Round We Go 最详细的解题报告

    题目链接:Round and Round We Go 解题思路:用程序实现一个乘法功能,将给定的字符串依次做旋转,然后进行比较.由于题目比较简单,所以不做过多的详解. 具体算法(java版,可以直接A ...

  9. 分布式任务调度平台 → XXL-JOB 初探

    开心一刻 旁边的女乘客太吵,我实在忍无可忍,便对她说:“你能不能让我睡会儿?” 她挥手就给了我一个耳光:“你个臭流氓!” 我顿时就清醒了,理论到:“你让我睡一会怎么了吗” 她害羞的低下了头,说道:“人 ...

  10. linux管理防火墙

    操作系统环境:CentOS Linux release 7.0.1406(Core) 64位CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭f ...