diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/10.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/10.png new file mode 100644 index 0000000..0a85696 Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/10.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/11.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/11.png new file mode 100644 index 0000000..de9a3ab Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/11.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/12.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/12.png new file mode 100644 index 0000000..7e67e43 Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/12.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/13.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/13.png new file mode 100644 index 0000000..f47af62 Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/13.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/14.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/14.png new file mode 100644 index 0000000..2a76f82 Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/14.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/15.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/15.png new file mode 100644 index 0000000..1d0326d Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/15.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/7.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/7.png new file mode 100644 index 0000000..d8f6c28 Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/7.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/8.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/8.png new file mode 100644 index 0000000..b6a28ea Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/8.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/9.png b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/9.png new file mode 100644 index 0000000..ec06ae9 Binary files /dev/null and b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/img/9.png differ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/qqcs.js b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/qqcs.js index a986122..d3f2ce2 100644 --- a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/qqcs.js +++ b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/qqcs.js @@ -80,9 +80,10 @@ function j(y) { } -// code = s(j(64) + '1'); -// atob_code = atob(code); -// console.log(atob_code); +code = s(j(64) + '1'); +console.log(code); +atob_code = atob(code); +console.log(atob_code); function sign(data, types) { if (types == 'atob'){ diff --git a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/readme.md b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/readme.md index 93e2ba4..93ec51b 100644 --- a/猿人学练习/63js加密传输数据与返回数据二进制-RC4/readme.md +++ b/猿人学练习/63js加密传输数据与返回数据二进制-RC4/readme.md @@ -5,7 +5,7 @@ ![请求](./img/1.png) -请求体也是乱码 +### 请求体乱码 ![请求](./img/2.png) @@ -37,4 +37,48 @@ ![请求](./img/6.png) -这里用的是 `crypto-js` 的`RC4`加密, \ No newline at end of file +这里用的是 `crypto-js` 的`RC4`加密, + +但是`RC4`加密结果不会出现乱码,尝试继续跟进代码看看具体原因 + +这里更近我是直接通过 `return` 关键词一步步断点进入 + +`return` 断点1 + +![请求](./img/7.png) + +`return` 断点2 + +![请求](./img/8.png) + +`return` 断点3 + +![请求](./img/9.png) + +`return` 断点4 + +![请求](./img/10.png) + +`return` 断点5,这里就发现`atob`方法,即`Base64`的解码过程 + +![请求](./img/11.png) + +控制台输出 + +![请求](./img/12.png) + +### 返回体乱码 + +既然已经知道加密用的是`atob`,那么解码会不会是`btoa`,继续调试 + +![请求](./img/13.png) + +`btoa`即Base64的编码过程 + +在通过调试,发现`c`函数是`crypto-js`加密 + +![请求](./img/14.png) + +到这里就基本结束了 + +![请求](./img/15.png) \ No newline at end of file