破解东航的seriesid
在查询东航航班的时候,请求数据中有个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的更多相关文章
- Kali对wifi的破解记录
好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...
- 对抗密码破解 —— Web 前端慢 Hash
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...
- Syscan360会议胸牌破解揭秘
Syscan360会议胸牌破解揭秘 背景 有幸参加今年11月份的上海Syscan360安全会议,会议期间有一个亮点就是360的独角兽团队设计了一款电子badge(胸牌)供参加人员进行破解尝试,类似于美 ...
- “不给力啊,老湿!”:RSA加密与破解
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 加密和解密是自古就有技术了.经常看到侦探电影的桥段,勇敢又机智的主角,拿着一长串毫 ...
- C# 破解 Reflector8.5
一.分析 破解.net .dll,可以使用reflector,但官方提供的reflector是需要购买的,因此,破解reflector势在必行. 二.破解Reflector具体步骤 下面为详细的破解步 ...
- CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15
之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...
- 破解SQLServer for Linux预览版的3.5GB内存限制 (UBUNTU篇)
在上一篇中我提到了如何破解RHEL上SQLServer的内存大小限制,但是Ubuntu上还有一道检查 这篇我将会讲解如何在3.5GB以下内存的Ubuntu中安装和运行SQLServer for Lin ...
- 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇)
微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西 这篇我将讲解如何破解这个内存限制 要看关键的可以直接跳到第6步,只需要替换 ...
- 微信小程序IDE(微信web开发者工具)安装、破解手册
1.IDE下载 微信web开发者工具,本人是用的windows 10 x64系统,用到以下两个版本的IDE安装工具与一个破解工具包: wechat_web_devtools_0.7.0_x64.exe ...
随机推荐
- 很实用的h5实现名片扫描识功能快速结合市场运营
功能描述: 点击名片识别按钮,将名片上的个人信息扫描并解析出来显示. 实现步骤: 1.点击第一个页面上的名片识别按钮,调出手机摄像头和相册,让用户进行选择 2.获取照片或者图片的base64数据,传值 ...
- Java实现 第十一届蓝桥杯——走方格(渴望有题目的大佬能给小编提供一下题目,讨论群:99979568)
走方格 问题描述在平面上有一些二维的点阵. 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第1 至第 m 列,每一个点可以用行号和列号来表示. 现在有个人站在第 ...
- HDU 2236 无题Ⅱ
HDU 2236 无题Ⅱ 题目大意 这是一个简单的游戏,在一个\(n*n\)的矩阵中,找n个数使得这n个数都在不同的行和列里并且要求这n个数中的最大值和最小值的差值最小. solution 暴枚\(i ...
- unity Prefab 序列化一个小问题。
情景: unity之前编辑过一个字段 A, 可以再unity编辑器编辑, 之后不用了. 后来有另外的功能, 起了同样的变量名,发现有默认值. 原因: 是因为序列化的时候把A字段存储到了prefab里面 ...
- 发布.net core Web到CentOS7
1.发布一个.net core(只安装了.Net Core运行时,而没有安装ASP.NET Core运行时,需要添加以下节点再发布). <PublishWithAspNetCoreTarget ...
- 用nodejs实现向文件的固定位置插入内容
往文件的固定的行写入数据: 需要用到时nodejs的fs模块和path模块 用到fs模块的方法 readFileSync & writeFileSync : readFileSync 是读取文 ...
- www.215wd.com
www.215wd.com 传奇销售系统 QQ:1479528000
- Scala 面向对象(十):特质(接口) 三
1 在特质中重写抽象方法特例 提出问题,看段代码 trait Operate5 { def insert(id : Int) } trait File5 extends Operate5 { def ...
- flask 源码专题(六):session处理机制
前言 flask_session是flask框架实现session功能的一个插件,用来替代flask自带的session实现机制,flask默认的session信息保存在cookie中,不够安全和灵活 ...
- python 装饰器(一):装饰器基础(一)装饰器形式,何时执行
简介 装饰器是可调用的对象,其参数是另一个函数(被装饰的函数). 装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象. 形式 假如有个名为 decorate 的装饰器: ...