记录学习JS逆向的过程(一)
学习了那么久的爬虫,总是不知道 JS 逆向如何上色,素描画的再好,当缺少色彩的点缀也会显得暗淡,所以这几个月我一直在寻求学习JS逆向。但是逆向的前提,就是得先了解JS正向,通过调试,抓包,解密等方式获取想要的数据。
今天记录第一次的JS逆向解析。
网站:https://www.qimingpian.cn/finosda/project/pinvestment (企名片) ,以下所作全为学习使用,如有冒犯利益,请告知我。
话不多说,先照喵画瓢一波。
- 打开网站,建议先登录。
(往下滑动,如果网址没有发生改变,那么可以判断为 Ajax请求。)
- F12 第一步,看看有没有内置debug,如果没有,那就可以正常调试。谷歌调试的各个按键作用 参考(转载) :https://blog.csdn.net/wlyang666/article/details/81837428
- 观察第一页和第二页的区别,发现只是page在变化,所以初步判断 unionid参数是定死的。需要解密的应该是返回回来的数据。
- 开始调试,添加需要调试的post请求,然后F5刷新,就会发现debug在一处。
- 然后就开始慢慢寻找和观察,当找到这一处时:
一般遇到警告,说明距离不远了(手动狗头)
- 调试
- 当调试到这里时,发现这个函数有返回
- 打个断点记录一下
(看到函数o携带参数t,函数内部调用了 s 函数,参数除了a.decode(t)和a之外,其他都是定死的)
- 深入函数内部调试
- 观察到 t 参数
- 剩下的我们就把整个 function o提取出来,怎么提取呢,看它使用了那些函数,全部一起扣下来。首先是s函数,还有 a.decode
- 以下是decode
- 这时候不要使劲往下,因为是一个for循环,而 s 函数是在上一步,所以我们可以回调
-
当标签定位到 s函数时,在深入s函数内部
- 可以看到s函数的各个作用,篇幅太长,只截部分。。。
- 这时候将所有涉及的函数扣在本地进行测试,记得复制完整,自己更改名字
- 然后写一个 test进行测试
- 得出结果
- 使用python请求多页,这里请求两页,源代码如下。
import execjs import base64 import json import requests import time def decrypt(encrypt_data): ctx = execjs.compile(open('test.js').read()) return base64.b64decode(ctx.call('my_decrypt',encrypt_data)) def Request(): urls='https://vipapi.qimingpian.com/DataList/productListVip' for i in range(1,3): data='time_interval=&tag=&tag_type=and&province=&lunci=&page={}&num=20&unionid=pW6g%2Fhjs%2B46oXrXFU0UqBPSdzebinxOslg7ubPq5b6wwVFD2TtNUQN1N4uX84mEQeJWqqIs6kiQsM8IbOYgM5A%3D%3D'.format(i) print(data) text=requests.post(url=urls,data=data,headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36', 'Host': 'vipapi.qimingpian.com', 'Origin': 'https://www.qimingpian.cn', 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '168' }).text time.sleep(1) json_test=json.loads(text)['encrypt_data'] print(json_test) da=json.loads(decrypt(json_test)) print(da) if __name__ == '__main__': Request()
- test.js 如下,值得注意的是,在js中要使用 Buffer来进行base64的编码
function my_decrypt(t) { return new Buffer(s("5e5062e82f15fe4ca9d24bc5", my_decode(t), 0, 0, "012345677890123", 1)).toString("base64") } function my_decode(t) { c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" f = /[\t\n\f\r ]/g var e = (t = String(t).replace(f, "")).length; e % 4 == 0 && (e = (t = t.replace(/==?$/, "")).length), (e % 4 == 1 || /[^+a-zA-Z0-9/]/.test(t)) && l("Invalid character: the string to be decoded is not correctly encoded."); for (var n, r, i = 0, o = "", a = -1; ++a < e; ) r = c.indexOf(t.charAt(a)), n = i % 4 ? 64 * n + r : r, i++ % 4 && (o += String.fromCharCode(255 & n >> (-2 * i & 6))); return o } function s(t, e, i, n, a, s) { 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, B = e.length, I = 0, j = 32 == S.length ? 3 : 9; p = 3 == j ? 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 - B % 8, e += String.fromCharCode(c, c, c, c, c, c, c, c), 8 === c && (B += 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 < B; ) { 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 < j; 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 == (I += 8) && (F += $, $ = "", I = 0) } if (F = (F += $).replace(/\0*$/g, ""), !i) { if (1 === s) { var N = 0; (B = F.length) && (N = F.charCodeAt(B - 1)), N <= 8 && (F = F.substring(0, B - N)) } F = decodeURIComponent(escape(F)) } return F } function test(){ encrypt_data = "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" decrypt_data = my_decrypt(encrypt_data) return decrypt_data }
感谢大佬
http://www.threetails.xyz/2019/05/10/%E5%88%9D%E6%8E%A2js%E9%80%86%E5%90%91/#more
因为经常熬夜,所以我的肝好像不太好,你可以叫我小心肝吗?