mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-21 09:15:14 +08:00
63js加密传输数据与返回数据二进制-RC4
This commit is contained in:
parent
c0066c1613
commit
00aa30b5b1
40
猿人学练习/63js加密传输数据与返回数据二进制-RC4/readme.md
Normal file
40
猿人学练习/63js加密传输数据与返回数据二进制-RC4/readme.md
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# 知识点:返回数据二进制 atob btoa crypto
|
||||||
|
|
||||||
|
## 解题思路
|
||||||
|
查看请求结果,发现是乱码
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
请求体也是乱码
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
打断点找到请求体加密点发现
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
代码是
|
||||||
|
|
||||||
|
code = s(J['lzaCv'](J['qromH'](j, -0xb31 + 0x53 * -0x42 + 0x4b1 * 0x7), y['toString']()))
|
||||||
|
|
||||||
|
改写
|
||||||
|
|
||||||
|
code = s(j(64) + 1);
|
||||||
|
|
||||||
|
进入j函数
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
发现是 `window['crypto']['getRandomValues']` 进行的加密这里需要用到
|
||||||
|
|
||||||
|
const crypto = require('crypto').webcrypto;
|
||||||
|
|
||||||
|
得到一串加密字段
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
接下来就是s函数。通过s函数能得到请求体中乱码值
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
这里用的是 `crypto-js` 的`RC4`加密,
|
Loading…
x
Reference in New Issue
Block a user