Commit 7f77558d authored by wang's avatar wang

反解析第一步成功

parent 76f67d10
......@@ -11,20 +11,21 @@ print(res)
import struct
keys = [
2309786432, -961230798,
-2043136813, 781153369,
-73126532, 827758736,
577688905, 2634614699,
301506695, 661298884,
2130011393, 1224834677,
3255579391, 1354993310,
-1476732306, -2669926629
3621878001, 1246704098,
-1612094017, 529399774,
3097799895, 2467146295,
528884734, 1852669328,
-278555461, -170482350,
183697865, 2252209194,
1216198928, -1693954187,
829512098, -344800391
]
res = []
for k in keys:
res.extend(list(bytearray(struct.pack('l', k)))[:4])
print(res)
r = [
64, 139, 172, 137, 50, 200, 180, 198, 211, 52, 56,
134, 89, 116, 143, 46, 124, 45, 164, 251, 144, 152,
......@@ -34,32 +35,33 @@ r = [
80, 110, 218, 250, 167, 27, 39, 220, 96
]
self.devicedata = {"parameters": {"antialias": True, "maxAnisotropy": 16, "dimensions": ["11", "11024", "3276732767"],
"params": {"alphaBits": 8, "blueBits": 8, "greenBits": 8, "redBits": 8,
"depthBits": 24, "maxCombinedTextureImageUnits": 32,
"maxCubeMapTextureSize": 16384, "maxFragmentUniformVectors": 1024,
"maxRenderbufferSize": 16384, "maxTextureImageUnits": 16,
"maxTextureSize": 16384, "maxVaryingVectors": 30, "maxVertexAttribs": 16,
"maxVertexTextureImageUnits": 16, "maxVertexUniformVectors": 4096,
"renderer": "WebKit WebGL",
"shadingLanguageVersion": "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)",
"stencilBits": 0, "vendor": "WebKit",
"version": "WebGL 1.0 (OpenGL ES 2.0 Chromium)"},
"debugInfo": {"vendor": "Google Inc.", "renderer": random.choice(GRAPHICSDRIVER)}},
"shaderPrecisions": ["23127127", "23127127", "23127127", "23127127", "23127127", "23127127", "03130",
"03130", "03130", "03130", "03130", "03130"],
"supportedExtensions": ["ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float",
"EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth",
"EXT_shader_texture_lod", "EXT_texture_filter_anisotropic",
"WEBKIT_EXT_texture_filter_anisotropic", "EXT_sRGB",
"KHR_parallel_shader_compile", "OES_element_index_uint",
"OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear",
"OES_texture_half_float", "OES_texture_half_float_linear",
"OES_vertex_array_object", "WEBGL_color_buffer_float",
"WEBGL_compressed_texture_s3tc", "WEBKIT_WEBGL_compressed_texture_s3tc",
"WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info",
"WEBGL_debug_shaders", "WEBGL_depth_texture", "WEBKIT_WEBGL_depth_texture",
"WEBGL_draw_buffers", "WEBGL_lose_context", "WEBKIT_WEBGL_lose_context"],
"contextProperties": -368668372}
# self.devicedata = {
# "parameters": {"antialias": True, "maxAnisotropy": 16, "dimensions": ["11", "11024", "3276732767"],
# "params": {"alphaBits": 8, "blueBits": 8, "greenBits": 8, "redBits": 8,
# "depthBits": 24, "maxCombinedTextureImageUnits": 32,
# "maxCubeMapTextureSize": 16384, "maxFragmentUniformVectors": 1024,
# "maxRenderbufferSize": 16384, "maxTextureImageUnits": 16,
# "maxTextureSize": 16384, "maxVaryingVectors": 30, "maxVertexAttribs": 16,
# "maxVertexTextureImageUnits": 16, "maxVertexUniformVectors": 4096,
# "renderer": "WebKit WebGL",
# "shadingLanguageVersion": "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)",
# "stencilBits": 0, "vendor": "WebKit",
# "version": "WebGL 1.0 (OpenGL ES 2.0 Chromium)"},
# "debugInfo": {"vendor": "Google Inc.", "renderer": random.choice(GRAPHICSDRIVER)}},
# "shaderPrecisions": ["23127127", "23127127", "23127127", "23127127", "23127127", "23127127", "03130",
# "03130", "03130", "03130", "03130", "03130"],
# "supportedExtensions": ["ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float",
# "EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth",
# "EXT_shader_texture_lod", "EXT_texture_filter_anisotropic",
# "WEBKIT_EXT_texture_filter_anisotropic", "EXT_sRGB",
# "KHR_parallel_shader_compile", "OES_element_index_uint",
# "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear",
# "OES_texture_half_float", "OES_texture_half_float_linear",
# "OES_vertex_array_object", "WEBGL_color_buffer_float",
# "WEBGL_compressed_texture_s3tc", "WEBKIT_WEBGL_compressed_texture_s3tc",
# "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info",
# "WEBGL_debug_shaders", "WEBGL_depth_texture", "WEBKIT_WEBGL_depth_texture",
# "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBKIT_WEBGL_lose_context"],
# "contextProperties": -368668372}
``
28,
22,28,65,7,
122,74,129,24,234,55, [https://]
100,241,
58,37,96,21,239,191,165,255,194,149,136,44,148,54,245, [www.jetblue.com]
230
``
```angular2html
计算 https:
get https: length == 6
get https: 0 == h
104 == 0 === false
104 < 128 == true
3 + 1 == 4
4 % 4 == 0
0 == 0 === true
-1203837086 ^ -1330227536 == 143176146
-1330227536 << 26 == -1073741824
-1073741824 | 46324058 == -1027417766
143176146 ^ -1027417766 == -901093240
143176146 << 9 == 291742720
-901093240 ^ 291742720 == -618017656
143176146 == true === false
143176146 << 13 == 372916224
255 & -2534064622 == 18
104 ^ 18 == 122
[ 22, 28, 65, 7 ] set [ '4' ] == [ 122 ]
0 + 1 == 1
get https: 1 == t
116 == 0 === false
116 < 128 == true
4 + 1 == 5
1 % 4 == 1
1 == 0 === false
1 == 1 === true
-2534064622 >> 8 == 6878526
6878526 & 255 == 62
116 ^ 62 == 74
[ 22, 28, 65, 7, 122 ] set [ '5' ] == [ 74 ]
1 + 1 == 2
get https: 2 == t
116 == 0 === false
116 < 128 == true
5 + 1 == 6
2 % 4 == 2
2 == 0 === false
2 == 1 === false
2 == 2 === true
-2534064622 >> 16 == 26869
26869 & 255 == 245
116 ^ 245 == 129
[ 22, 28, 65, 7, 122, 74 ] set [ '6' ] == [ 129 ]
2 + 1 == 3
get https: 3 == p
112 == 0 === false
112 < 128 == true
6 + 1 == 7
3 % 4 == 3
3 == 0 === false
3 == 1 === false
3 == 2 === false
3 == 3 === true
104 & 255 == 104
112 ^ 104 == 24
[
22, 28, 65, 7,
122, 74, 129
] set [ '7' ] == [ 24 ]
3 + 1 == 4
get https: 4 == s
115 == 0 === false
115 < 128 == true
7 + 1 == 8
4 % 4 == 0
0 == 0 === true
372916497 ^ -618017656 == -854356583
-618017656 << 26 == 536870912
536870912 | 57452338 == 594323250
-854356583 ^ 594323250 == -293655893
-854356583 << 9 == 656093696
-293655893 ^ 656093696 == -916186965
-854356583 == true === false
-854356583 << 13 == 1907564544
255 & -245101159 == 153
115 ^ 153 == 234
[
22, 28, 65, 7,
122, 74, 129, 24
] set [ '8' ] == [ 234 ]
4 + 1 == 5
get https: 5 == :
58 == 0 === false
58 < 128 == true
44933 22,28,65,7,122,74,129,24,234
8 + 1 == 9
1 % 4 == 1
1 == 0 === false
1 == 1 === true
-245101159 >> 8 == -957427
-957427 & 255 == 13
58 ^ 13 == 55
[
22, 28, 65, 7,
122, 74, 129, 24,
234
] set [ '9' ] == [ 55 ]
```
\ No newline at end of file
This diff is collapsed.
......@@ -6,8 +6,8 @@ import re
import struct
import time
from shape_encrypt import encrypt
from superpack import *
from shape_encrypt import encrypt, unsinged_right_shift
# from superpack import *
def simplehash(x):
......@@ -88,8 +88,8 @@ BUNDLE_SEED_KEY = "c"
BUNDLE_ID_KEY = "d"
FIRMWARE_KEY = "z"
PAYLOAD_KEY = "a"
GRAPHICSDRIVER = open('graphicsdrivers.txt', 'r').read().strip().split("\n")
GRAPHICSDRIVER = [p.strip() for p in GRAPHICSDRIVER]
# GRAPHICSDRIVER = open('graphicsdrivers.txt', 'r').read().strip().split("\n")
# GRAPHICSDRIVER = [p.strip() for p in GRAPHICSDRIVER]
PIXELDATAS = [(1920, 1040, 937), (2560, 1400, 1297)]
......@@ -194,10 +194,10 @@ class BotDetector:
"WEBKIT_WEBGL_lose_context"], "contextProperties": -368668372}
def processrawscript(self, x):
# funcstr=re.search("function a\(b\)({.*?)\n",x).group(1)
# funcstr=funcstr[:funcstr.rfind("}")]
# self.scriptdata={"length":len(funcstr),"whitespace":len(re.findall('\s',funcstr)),"punctuators":len(re.findall('[.{([,;=/]',funcstr))}
self.scriptdata = {"length": 111, "whitespace": 12, "punctuators": 12}
funcstr=re.search("function \w\(\w\)({.*?)\n",x).group(1)
funcstr=funcstr[:funcstr.rfind("}")]
self.scriptdata={"length":len(funcstr),"whitespace":len(re.findall('\s',funcstr)),"punctuators":len(re.findall('[.{([,;=/]',funcstr))}
# self.scriptdata = {"length": 111, "whitespace": 12, "punctuators": 12}
m = re.search(" H=(.*?\]);", x).group(1)
mm = eval(m)
m = mm.index("o_0")
......@@ -713,7 +713,51 @@ class BotDetector:
x[self.headernameprefix + BUNDLE_ID_KEY] = "o_0"
x[self.headernameprefix + BUNDLE_SEED_KEY] = self.bundleseed
m = self.generatedata()
x[self.headernameprefix + PAYLOAD_KEY] = m
x[self.headernameprefix + 'a'] = m
x[self.headernameprefix + INTEGRITY_KEY] = base36(simplehash(self.uuidtoken + m))
x[self.headernameprefix + FIRMWARE_KEY] = "p"
return x
import ctypes
# def decode(self, data):
# data = base64decode(data, self.alphabet)
# iv1 = struct.unpack(">I", data[:4])[0]
# iv2 = struct.unpack(">I", data[4:8])[0]
# data = encrypt(self.encryptionkey, [ord(data[i]) for i in range(8, len(data))], iv1, iv2, self.encryptionseed1,
# self.encryptionseed2, self.encryptionroundcount)
# return data
def decode(data):
x = open('../v_env.js','r').read()
# x = 'document.createEvent("CustomEvent"),["AxvBzMmJAQAAaAQ7zgSP4nlKcZSttXsGb9uYkkLY7uLh100Yc-RKVcn629ZUAWe0HDyuchRAwH9eCOfvosJeCA==","Sb2R0TaUxeVq=uBYcvlFs_zMI1p4NdJk65nLhQmKwryHoCOXDf-iA3G8W9PEj7tgZ",[],[1039986844,1225706997,1451603167,292604025,196753778,1507064707,216593626,435818908],'
l = re.search("initCustomEvent\(.*?\[\"(.*?)\",\"(.*?)\".*?,.*?,(.*?\])", x)
uuidtoken, alphabet = l.group(1), l.group(2)
encryptionkey = eval(l.group(3))
encryptionkey = [int(r) for r in encryptionkey]
print(alphabet, encryptionkey)
print('uuid', uuidtoken)
data = base64decode(data, alphabet)
print(data)
iv1 = struct.unpack(">I", data[:4])[0]
iv2 = struct.unpack(">I", data[4:8])[0]
# encryptionkey = [ctypes.c_int32(x & 4294967295).value for x in encryptionkey]
print('key',encryptionkey)
iv1 = ctypes.c_int32(iv1 & 4294967295).value
iv2 = ctypes.c_int32(iv2 & 4294967295).value
print('iv1',iv1)
print('iv2',iv2)
print([data[i] for i in range(8,len(data))])
encryptionseed2 = 4313095025605680
encryptionseed1 = [1891353754, 1035793960,-1062579495, 971497754,]
print('s1', encryptionseed1)
print('s2', encryptionseed2)
encryptionroundcount = 19
data = encrypt(encryptionkey, [data[i] for i in range(8, len(data))], iv1, iv2, encryptionseed1,
encryptionseed2, encryptionroundcount)
print(data)
print(bytearray(data))
if __name__ == '__main__':
data = 'J70P6FxkRF2WHEGQ=qLgC08Za4nRDr_9gQDiJK84gMh7Te-_Pbwlw03wAuHJbumgkX=4GbRx=NHZkJ-h1boAWFXcLojofDRAH-574XaLnmin7zT29KEXC59dqZQoRYP_=LwokjdTToCd2zN0IZkr-ZWXDlnC=3QIsbzVQIiOCZJHRKkz-vdwS1K9XHFQIa=5SQea-BSuXKzc1D78qIN=p-LJMAQlN8kdK4__2zc7jizzXSdqGXgOoKNHzOcR=4Rw6=eo3oCv89Q7XpklfWJpLxzIRjCNjEL6NWvnhfWk85x7Ab3dW7NwuruFTb4oT1mb7WzwQ8oH_GGvK8p4onDNgE12GIj7O_4BCKVW13QhBc5V7eFDEHaWyWBTSQ83ZHa-XwaEaB6XAXqc6PVrRQi=tKfz1rKGg9j9mKE4H7QOpsFqs45cEo1GRlti9ofCSLrYw1iZsNbY9J4ALtMVGc6ca5YrGi5_ZpYaYuDsF7QjGj0Z=7bJaZmv0flgA=eubc-6gB0vZWb=olRHWz1yDPLE-JjQnEf=B7kcGmCdOaaZJxhXklnV10BJ2=vVS8_RQK0rTJRBo5fqCxDQ=o97w2-_Zh5V1YATI_vuiGO1sq3R01Qv9Od_02_5SvdQ7xdvOWGEPvNPOOh4F=ri8m8EIbppHXoydc0Kfb-pp3hbHetc1JHpt8gx=hbJuZ7usvAjsruYag=DKtCHBkurRvhxyQjPTzPKdDseavj=vBJj3a=j-9ELv5LIQBj1xO_GY_wMLaWAHfs2j8BRZfXkHcfAAI=_50B1KhCOYSYXL6DFqMa18r78e9LhlDzt9xHdTb7e4D3GAjc8ZhKn=tG-ZSLACMGQSXiwm6Gl3-z5kvYv45tz95h9-qPEbLEKfwbgWm3oybKt4Lo5P3YnnPgQWste3sK4iF7V2pyHnvlpVPAV0n_go56w6Of3f6DtxmYoR5eoHXQvqJ3HFaVXSWRTL4QiLK1rV84-NpAJKWdR4-RdC18bI35wqWsLx-KvwfuXCyDK0ytMt4I3easMsE4c-bD-KirQYB8xABrgPcIM5YXjKsjoxHXqZgHGAbxkw4IT5-g7zHgeStbboSdGihfhoZyOurR0FeFzQHEseqFf=MATNrv=AW8Hhyk4qd5Ce8xEWf8LIO5R9m1ZyCGCupo8g_bTGRciPMg3HTPOSAluyh_j0cYY=iYMscruZsJGcItcyJF8iIKtWvtqEnEWfs88lrGlvL6g2lI4ug16YcujGh3iTpgVJvx7VT=dYGbZjCjS_oRlhglcvGX4iHYstdroFeVpQtOak6v1KSqn091JG4qfTvLME8CmwGXVd1wIrzBorGpu6m6NJlvnn3BqO69anl9Eu7ivRGdfxVvunQ5JsK9pV42r-7hw0EBoJkEosAdYurAEsMspXu4WhaOfI8sdbStMEIFhZkW0g84m5hqEIQKpzayKHTblfC6kud6QI3lQjGepq4FR4FF6kCNfhBNGhkilvSACw062WrrqJsQF-jD8ugmaTJECQDRpFsuCnydx_-ZiW5u9aLgzp6TMg5=i2wo7MaPeKXiHJssFQKouT3d6psBnB8_fQND8ozeWJti4AqfI9HGLfNp5cP6ybwxcqtkXw3=Ni3jkZBVOc6kYTi648pP'
decode(data)
\ No newline at end of file
def plus(x, i, j):
x[i] = x[i] + x[j]
x[i] = ctypes.c_int32(x[i] & 4294967295).value
def rrot(x, i, j, k):
print('rrot', x[i], '^', x[j], '==>', ctypes.c_int32(x[i] ^ x[j]).value)
s = ctypes.c_int32(x[i] ^ x[j]).value
s = ctypes.c_int32(s & 4294967295).value
# x[i] = (((ctypes.c_int32(s << k).value + 1) & 4294967295) | (s >> (32 - k))) & 4294967295
x[i] = ctypes.c_int32(s << k).value | ctypes.c_int32(s >> (32 -k)).value
import ctypes
def unsinged_right_shift(x, y):
x, y = ctypes.c_uint32(x).value, y % 32
return ctypes.c_uint32(x >> y).value
def encrypt(key, inp, iv1, iv2, s1, s2, roundcount):
k = [[0, 4, 8, 12], [1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [0, 5, 10, 15], [1, 6, 11, 12], [2, 7, 8, 13],
[3, 4, 9, 14]]
l = [16, 12, 8, 7]
y = s1 + key + [0, 0, iv1, iv2]
v1 = s2
out = []
inpl = len(inp)
while len(out) < inpl:
y[12] = v1 & 4294967295
y[13] = int(v1 / 4294967296)
x = y[:]
for i in range(0, roundcount):
for p in k:
for i in range(0, 4):
plus(x, p[2 * i % 4], p[2 * i % 4 + 1])
rrot(x, p[(2 * i + 3) % 4], p[2 * i % 4], l[i % 4])
for i in range(0, 16):
x[i] = x[i] + y[i]
z = []
for p in x:
p = p & 4294967295
z.append(p & 255)
z.append((p >> 8) & 255)
z.append((p >> 16) & 255)
z.append((p >> 24) & 255)
while len(out) < inpl and len(z) > 0:
out.append(inp[len(out)] ^ z.pop(0))
v1 = (v1 + 1) % 9007199254740992
return out
This diff is collapsed.
......@@ -96,4 +96,10 @@ console.log(base64_decode(aaa))
let arr = [73,141,22,148,21,107,145,111,49,209,13,127,75,72,120,55,40,112,93,91,89,53,206,59,225,235,99,253,8,94,227,50,247,103,101,187,24,243,209,149,39,55,9,235,146,142,182,64,90,192,118,208,81,107,66,172,50,206,221,122,220,154,80,253,27,240,50,177,36,143,168,83,177,128,64,203,159,83,8,111,254,124,44,117,221,42,130,162,205,228,122,169,126,59,192,62,242,171,121,220,223,198,87,239,254,122,56,89,227,3,44,176,15,185,135,8,58,181,135,186,160,27,121,47,76,88,167,47,51,53,204,17,99,128,89,47,104,136,162,62,37,152,176,112,132,148,142,102,69,5,219,42,15,92,224,93,180,12,142,66,84,201,14,114,155,110,132,209,116,23,195,172,108,1,196,220,21,16,158,119,155,42,24,242,238,202,207,199,242,225,118,60,210,46,12,228,233,143,155,19,239,30,13,148,19,186,63,179,43,183,167,121,187,111,152,153,176,117,1,74,171,208,36,80,188,109,38,91,53,187,241,46,101,113,99,112,217,82,172,25,139,228,214,207,179,100,88,35,210,190,254,225,228,164,249,180,143,238,119,87,110,148,156,217,61,227,25,178,135,20,197,196,122,98,234,71,76,70,45,215,222,103,148,128,86,108,78,167,49,134,59,40,91,164,82,42,84,154,88,52,123,227,14,61,187,102,106,226,118,110,111,78,7,56,3,120,213,79,172,225,127,225,115,172,158,53,132,178,17,33,57,25,83,122,160,61,182,40,221,254,217,89,120,57,2,214,124,231,6,97,100,119,160,114,48,45,20,135,250,137,128,62,191,230,218,223,157,128,148,78,250,113,186,240,27,166,106,19,67,110,95,241,223,2,115,87,161,10,157,188,253,253,143,127,43,125,79,178,125,229,199,51,90,46,58,41,94,94,138,60,3,19,226,66,187,125,114,158,66,243,71,122,234,52,178,45,227,252,12,228,134,190,44,108,54,246,79,221,233,193,87,239,130,110,111,104,120,69,165,241,93,150,80,73,245,112,14,16,150,163,160,151,198,227,121,245,69,161,82,9,74,241,224,74,14,60,184,86,231,218,221,77,185,90,100,228,100,126,147,147,176,0,187,160,90,29,242,114,170,81,124,99,14,34,60,22,20,99,184,147,155,107,205,74,195,96,74,226,57,99,73,173,235,80,244,151,181,44,237,33,33,112,149,130,164,239,187,184,93,207,73,15,168,205,95,213,214,197,140,207,149,83,183,183,255,108,30,162,113,101,66,124,34,57,184,94,191,224,42,102,31,156,27,225,180,209,150,121,29,111,250,76,31,40,64,246,83,207,244,236,51,149,232,164,67,70,9,236,201,161,178,35,247,31,123,179,106,97,242,43,28,172,151,86,226,175,97,123,175,199,170,106,17,151,17,93,129,179,58,58,222,245,71,214,152,98,132,249,205,51,76,214,58,202,75,159,146,57,110,139,145,104,218,21,29,212,188,188,112,154,4,212,224,148,243,46,165,35,224,130,114,67,139,93,128,197,236,173,63,129,73,222,165,220,214,147,56,85,168,239,45,83,8,163,190,75,94,72,89,16,9,62,90,2,1,109,159,152,49,224,6,0,254,67,129,27,149,65,54,20,127,111,92,144,187,181,115,240,2,141,73,27,133,99,79,23,163,240,27,63,51,35,209,121,10,100,150,159,29,217,184,93,152,145,34,41,130,183,34,28,29,191,28,86,181,24,45,44,37,132,180,235,118,243,99,203,200,242,210,110,39,32,229,131,253,99,232,138,122,193,12,251,190,16,169,140,229,192,226,202,30,240,25,123,47,231,171,222,142,202,97,112,231,182,103,179,102,190,190,189,130,45,218,220,4,153,41,90,220,199,165,164,23,248,55,0,152,174,166,196,23,45,41,189,216,122,218,218,19,196,149,116,160,82,79,109,142,26,54,210,121,160,45,54,218,90,251,25,143,242,121,195,212,219,104,103,44,232,91,230,112,123,13,55,231,170,221,186,59,211,34,250,243,123,187,204,79,35,191,14,92,128,255,209,5,103,56,113,244,180,238,77,249,243,92,94,80,95,68,46,225,73,85,244,96,46,16,135,171,250,178,44,250,236,53,254,176,12,149,32,208,190,72,119,185,230,32,114,36,232,61,141,3,101,145,98,220,121,13,123,20,98,231,49,97,199,236,173,81,21,160,146,17,115,78,172,43,237,209,20,94,59,182,27,152,121,126,227,68,108,80,114,125,252,89,135,148,179,94,172,36,243,194,175,30,208,238,72,118,42,69,8,136,126,6,116,20,77,134,219,48,79,139,232,233,88,62,87,239,163,4,167,184,44,17,189,163,128,199,233,193,20,189,90,112,169,187,171,246,33,212,136,170,61,152,162,169,25,235,18,252,238,27,68,44,215,245,180,153,52,131,57,253,178,18,125,156,4,134,237,41,217,247,74,120,178,189,246,237,251,232,244,248,52,153,240,246,35,143,83,140,28,99,209,201,152,0,245,92,34,214,93,140,152,20,156,238,14,110,87,8,200,236,57,166,74,122,222,237,212,160,65,68,234,128,96,240,131,153,68,179,221,199,247,67,51,143,79,227,185,141,255,117,25,102,42,242,121,126,43,192,34,44,162,237,60,138,194,65,56,213,14,84,168,38,125,3,241,252,141,201,98,129,233,2,149,195,181,248,238,56,11,11,8,230,112,181,169,229,1,155,237,139,155,223,27,166,158,62,199,25,126,154,181,197,128,145,179,151,124,59,192,18,195,140,121,183,135,0]
let rrr = [49,209,13,127,75,72,120,55,40,112,93,91,89,53,206,59,225,235,99,253,8,94,227,50,247,103,101,187,24,243,209,149,39,55,9,235,146,142,182,64,90,192,118,208,81,107,66,172,50,206,221,122,220,154,80,253,27,240,50,177,36,143,168,83,177,128,64,203,159,83,8,111,254,124,44,117,221,42,130,162,205,228,122,169,126,59,192,62,242,171,121,220,223,198,87,239,254,122,56,89,227,3,44,176,15,185,135,8,58,181,135,186,160,27,121,47,76,88,167,47,51,53,204,17,99,128,89,47,104,136,162,62,37,152,176,112,132,148,142,102,69,5,219,42,15,92,224,93,180,12,142,66,84,201,14,114,155,110,132,209,116,23,195,172,108,1,196,220,21,16,158,119,155,42,24,242,238,202,207,199,242,225,118,60,210,46,12,228,233,143,155,19,239,30,13,148,19,186,63,179,43,183,167,121,187,111,152,153,176,117,1,74,171,208,36,80,188,109,38,91,53,187,241,46,101,113,99,112,217,82,172,25,139,228,214,207,179,100,88,35,210,190,254,225,228,164,249,180,143,238,119,87,110,148,156,217,61,227,25,178,135,20,197,196,122,98,234,71,76,70,45,215,222,103,148,128,86,108,78,167,49,134,59,40,91,164,82,42,84,154,88,52,123,227,14,61,187,102,106,226,118,110,111,78,7,56,3,120,213,79,172,225,127,225,115,172,158,53,132,178,17,33,57,25,83,122,160,61,182,40,221,254,217,89,120,57,2,214,124,231,6,97,100,119,160,114,48,45,20,135,250,137,128,62,191,230,218,223,157,128,148,78,250,113,186,240,27,166,106,19,67,110,95,241,223,2,115,87,161,10,157,188,253,253,143,127,43,125,79,178,125,229,199,51,90,46,58,41,94,94,138,60,3,19,226,66,187,125,114,158,66,243,71,122,234,52,178,45,227,252,12,228,134,190,44,108,54,246,79,221,233,193,87,239,130,110,111,104,120,69,165,241,93,150,80,73,245,112,14,16,150,163,160,151,198,227,121,245,69,161,82,9,74,241,224,74,14,60,184,86,231,218,221,77,185,90,100,228,100,126,147,147,176,0,187,160,90,29,242,114,170,81,124,99,14,34,60,22,20,99,184,147,155,107,205,74,195,96,74,226,57,99,73,173,235,80,244,151,181,44,237,33,33,112,149,130,164,239,187,184,93,207,73,15,168,205,95,213,214,197,140,207,149,83,183,183,255,108,30,162,113,101,66,124,34,57,184,94,191,224,42,102,31,156,27,225,180,209,150,121,29,111,250,76,31,40,64,246,83,207,244,236,51,149,232,164,67,70,9,236,201,161,178,35,247,31,123,179,106,97,242,43,28,172,151,86,226,175,97,123,175,199,170,106,17,151,17,93,129,179,58,58,222,245,71,214,152,98,132,249,205,51,76,214,58,202,75,159,146,57,110,139,145,104,218,21,29,212,188,188,112,154,4,212,224,148,243,46,165,35,224,130,114,67,139,93,128,197,236,173,63,129,73,222,165,220,214,147,56,85,168,239,45,83,8,163,190,75,94,72,89,16,9,62,90,2,1,109,159,152,49,224,6,0,254,67,129,27,149,65,54,20,127,111,92,144,187,181,115,240,2,141,73,27,133,99,79,23,163,240,27,63,51,35,209,121,10,100,150,159,29,217,184,93,152,145,34,41,130,183,34,28,29,191,28,86,181,24,45,44,37,132,180,235,118,243,99,203,200,242,210,110,39,32,229,131,253,99,232,138,122,193,12,251,190,16,169,140,229,192,226,202,30,240,25,123,47,231,171,222,142,202,97,112,231,182,103,179,102,190,190,189,130,45,218,220,4,153,41,90,220,199,165,164,23,248,55,0,152,174,166,196,23,45,41,189,216,122,218,218,19,196,149,116,160,82,79,109,142,26,54,210,121,160,45,54,218,90,251,25,143,242,121,195,212,219,104,103,44,232,91,230,112,123,13,55,231,170,221,186,59,211,34,250,243,123,187,204,79,35,191,14,92,128,255,209,5,103,56,113,244,180,238,77,249,243,92,94,80,95,68,46,225,73,85,244,96,46,16,135,171,250,178,44,250,236,53,254,176,12,149,32,208,190,72,119,185,230,32,114,36,232,61,141,3,101,145,98,220,121,13,123,20,98,231,49,97,199,236,173,81,21,160,146,17,115,78,172,43,237,209,20,94,59,182,27,152,121,126,227,68,108,80,114,125,252,89,135,148,179,94,172,36,243,194,175,30,208,238,72,118,42,69,8,136,126,6,116,20,77,134,219,48,79,139,232,233,88,62,87,239,163,4,167,184,44,17,189,163,128,199,233,193,20,189,90,112,169,187,171,246,33,212,136,170,61,152,162,169,25,235,18,252,238,27,68,44,215,245,180,153,52,131,57,253,178,18,125,156,4,134,237,41,217,247,74,120,178,189,246,237,251,232,244,248,52,153,240,246,35,143,83,140,28,99,209,201,152,0,245,92,34,214,93,140,152,20,156,238,14,110,87,8,200,236,57,166,74,122,222,237,212,160,65,68,234,128,96,240,131,153,68,179,221,199,247,67,51,143,79,227,185,141,255,117,25,102,42,242,121,126,43,192,34,44,162,237,60,138,194,65,56,213,14,84,168,38,125,3,241,252,141,201,98,129,233,2,149,195,181,248,238,56,11,11,8,230,112,181,169,229,1,155,237,139,155,223,27,166,158,62,199,25,126,154,181,197,128,145,179,151,124,59,192,18,195,140,121,183,135,0]
console.log(encode_b64(arr))
\ No newline at end of file
console.log(encode_b64(arr))
-2447
s = -1728803817
for (let i = 0; i < 32; i++) {
console.log((s>>(32-i))&4294967295)
}
\ No newline at end of file
......@@ -6084,7 +6084,7 @@ window.imageDatas = [];
tH.n[tH.n.length - 2] = delete tH.n[tH.n.length - 2][tH.n[tH.n.length - 1]];
tH.n.length -= 1
}, function (tS) {
console.log(tS.n[tS.n.length - 2], 'ininin', tS.n[tS.n.length - 1], tS.n[tS.n.length - 2] in tS.n[tS.n.length - 1])
console.log(tS.n[tS.n.length - 2], 'ininin', tS.n[tS.n.length - 2] in tS.n[tS.n.length - 1])
tS.n[tS.n.length - 2] = tS.n[tS.n.length - 2] in tS.n[tS.n.length - 1];
tS.n.length -= 1
}, function (tk) {
......
This diff is collapsed.
r = {"X-1ItxWO9i-f": "A9ZRMMqJAQAAt5hSE13YbJXA2BzSQjnbBACoxK4mguq3Ok2JNF2eYkXsXTXEAS2LJzKuchRAwH8AAEB3AAAAAA==", "X-B3-TraceId": "9cf0661264efdb4a", "Accept-Encoding": "gzip, deflate, br", "Referer": "https://www.jetblue.com/booking/flights?from=BOS&to=LGA&depart=2023-09-02&isMultiCity=false&noOfRoute=1&lang=en&adults=4&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false", "X-1ItxWO9i-d": "ABaAhIjBCKHFgQGAAYIQgISi0aIA5JmBzvpDzz8Aw70F2VFuvHUAAAAAH29cNgB-AI4z2JdsnUn3R9cQhaIr", "Sec-Fetch-Mode": "cors", "Sec-Fetch-Site": "same-site", "X-1ItxWO9i-z": "q", "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": "\"Windows\"", "Accept-Language": "en-US,en;q=0.9", "Booking-Application-Type": "NGB", "Origin": "https://www.jetblue.com", "Sec-Fetch-Dest": "empty", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "X-1ItxWO9i-a": "vSgugqMc0yw2RYUAOjMMjJZAQ08QI_pKxoUH6wWc23DKFHQloka5rwwhopH00Y_7=QFernMtBKyB9cJiXgTx5JT_M=ga_HGvhS3nMupSs_oDHT8UOnaxRBCfHO6JNuwL0Zb7KBm2MuODNKpxMtF0KPcRAacLUJbGGdD3XIvabniVxxYCmdHx5a8uEQYp-Z5rxDZs7DerGFZW43O0WtNMTxkcV==76WEHsvalt6o4DMV2VhouypdF_ybT-GiaaH2RDfaB9DhCncxmjoPBWqajWw_OS0MmqilkluwmnwgfFW4_ZdfKFKgkOd6c9OdhDSJmayyBAKioEP7AgCPh1f=JKbGCj3_pD0AVm5LCD1aYU6W7c=EpKY0-SA-e4GynapxbmyGcLjGUfMv9FF2Z9r0y_UTYXY2Vq-b6ijgmgoOcMZBHSgXC=278nSbQte8mJZ89PaKWybDWrT2-sEgHotvwVi2m=U2hNjXli2UtMu=kC1HhUgsAX_6_YKKPjNF23xXbhlcCwq1hfpheWBNwifYAUs80XEn4ejy5yN7nt4wAHUPb7_oAtkxgCjnEmNSPuv5Cv5qta5h2p8aPNlARgsRPOTxZxxnbQp07BAiEGstKbc9UXFas1CodOYAFN7Ud25Tn0nXN-9UX=g6Qdr2DqAldsKJLS1_7y5duKCqBNfFMNGX_MflkZuIoA_8fU5D_AsEHmyTAre-bQ_LHN1lWTmJub_Aa9RwlYc1WgZPPxRHI_yHZFGKcVuIJ_V467uv0YZ5QY2KGnwPZlpi1cqaCsBvpMat-SUp1U9duDurLTrW7GTo-hL9hn92strjT-aELYR25lZ2i1MXf5mZTVc_lh7ZKosTTanNdWbwm0h4DG_I-RP7XaTXhVYBnn7B9AHU197XCu4eEMm8IirF-N41D_iWx9LuTiGmEiXsp55Vp-JoGDehZ9w5Zi98j=0wMpORmOEc8IlOLivWLqLpBbaIAmvE6rpd1_yT8IoE8GSeJks3uVBohT-duXEE7ebc9qCAx0_SsdU-SDs7A3P4g5Vv3LmCs8oS3mICmvSsCBl6mg-_Y=y_NWiu1a0oyyfQ_uO2Ri04xtIsE6XRKa5=bYbDabCIftAYo_Mf2r8MgMbHX7iGud3S_ksdXHknP-8uMw-1_ZmDhUqHDymZtweQN-9gQqgn3TFUVJ2dp_9C9lomPpMkXXWYMtmhy10miPamx=wZZdjijtY3269UXYmCj7apLu92-WLYX=cMMntTLEm7SJ43=7I1MW3FWm7AKKmnhXKuZ=l2PlG1LW8A=ggy3tMtnuxaSGJwEHH2bSRMwUndyJAi2RXSwOMi2IZ=-RUhbs3UKY=ikObMa=NuZmKoex2TqcEIniEt4wcq7NMbFvp=VFSjI59A3AjFLQXm2=1MnJeeR2Q2OT7SOZKwALGpiWebrYEtw4EvyCZyNQ-pRPEly1c-YPNIMjiuJPyKTPadt6EhS9HrurqOCrcuhuPVqTJLH1nIqFIjpUeSCm3pyKSthryqFE3XthcRd1moM_4Idla6pchmW6juk1GlMCp50-DgXlBx9Ps1ft3q3vEvfVc62oOHYxtMTqYNEg1V335utCo-l=0lsRu1epQUk7_BMkSN2i7XSsiJ=2mN15fEDcp64vRX0eaJr8sYtXtUxmeDjHY=mjpfISVDpCuR46_qxiyRWnBjnFSXmfgVl5Rv-BpHA_=EVWYbitEHEMF-bOdSHnfeOTL6vGpgsVKI54sMm=sXjN5inGiQHYt2HpHUS4ehmycB4N12Tn74yNrNLMWu_oI3y9Z7L90rSLuWFK3rP-xYMW6DLett4TkF_HyW9HwGMV8vVR2RkBUhgVPxLMs4r2WhmYlXTmh1EvjIgb=Mx_KviC8IdhnJ2p4Qt1BqNPp", "X-1ItxWO9i-b": "9styk5", "X-B3-SpanId": "1691314314182", "Accept": "application/json", "Application-Channel": "Desktop_Web", "Content-Type": "application/json", "x-auth-token": "", "API-Version": "v3", "X-1ItxWO9i-c": "AMCdLsqJAQAALTEpQdA8oI008XYlfeuUoFWVU10DZx45eBAVesO9BdlRbrx1", "sec-ch-ua": "\"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"114\", \"Google Chrome\";v=\"114\""}
k=[[0,4,8,12],[1,5,9,13],[2,6,10,14],[3,7,11,15],[0,5,10,15],[1,6,11,12],[2,7,8,13],[3,4,9,14]]
l=[16,12,8,7]
for p in k:
for i in range(0,4):
print(p[2*i%4],p[2*i%4+1])
print(p[(2*i+3)%4],p[2*i%4],l[i%4])
print(len(r['X-1ItxWO9i-a']))
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment