diff --git a/猿人学练习/11js加密人均会解jsl/img/1.png b/猿人学练习/11js加密人均会解jsl/img/1.png
new file mode 100644
index 0000000..0532736
Binary files /dev/null and b/猿人学练习/11js加密人均会解jsl/img/1.png differ
diff --git a/猿人学练习/11js加密人均会解jsl/img/2.png b/猿人学练习/11js加密人均会解jsl/img/2.png
new file mode 100644
index 0000000..a74637e
Binary files /dev/null and b/猿人学练习/11js加密人均会解jsl/img/2.png differ
diff --git a/猿人学练习/11js加密人均会解jsl/img/3.png b/猿人学练习/11js加密人均会解jsl/img/3.png
new file mode 100644
index 0000000..1f287b9
Binary files /dev/null and b/猿人学练习/11js加密人均会解jsl/img/3.png differ
diff --git a/猿人学练习/11js加密人均会解jsl/img/4.png b/猿人学练习/11js加密人均会解jsl/img/4.png
new file mode 100644
index 0000000..e94997d
Binary files /dev/null and b/猿人学练习/11js加密人均会解jsl/img/4.png differ
diff --git a/猿人学练习/11js加密人均会解jsl/img/5.png b/猿人学练习/11js加密人均会解jsl/img/5.png
new file mode 100644
index 0000000..43cf865
Binary files /dev/null and b/猿人学练习/11js加密人均会解jsl/img/5.png differ
diff --git a/猿人学练习/11js加密人均会解jsl/img/6.png b/猿人学练习/11js加密人均会解jsl/img/6.png
new file mode 100644
index 0000000..9c4b6f0
Binary files /dev/null and b/猿人学练习/11js加密人均会解jsl/img/6.png differ
diff --git a/猿人学练习/11js加密人均会解jsl/img/7.png b/猿人学练习/11js加密人均会解jsl/img/7.png
new file mode 100644
index 0000000..8cee7c6
Binary files /dev/null and b/猿人学练习/11js加密人均会解jsl/img/7.png differ
diff --git a/猿人学练习/11js加密人均会解jsl/readme.md b/猿人学练习/11js加密人均会解jsl/readme.md
new file mode 100644
index 0000000..16c7ae7
--- /dev/null
+++ b/猿人学练习/11js加密人均会解jsl/readme.md
@@ -0,0 +1,64 @@
+# 知识点:js生成cookie,js事件断点
+
+## 解题思路
+
+模拟请求地址,发现返回的是一串js
+
+
+
+既然返回是js,那么直接事件断点
+
+
+
+断点调试下一步,下一步,下一步,直到`https://www.python-spider.com/challenge/11`停下来
+
+
+
+这里的会发现如下这段代码
+
+ try {
+ eval(y.replace(/\b\w+\b/g, function(y) {
+ return x[f(y, z) - 1] || ("_" + y)
+ }));
+ break
+ } catch (
+
+把`eval`替换成`a = `,并在底部打印`a`函数
+
+ try {
+ a = (y.replace(/\b\w+\b/g, function(y) {
+ return x[f(y, z) - 1] || ("_" + y)
+ }));
+ break
+ } catch (
+
+发现返回的是一串js,
+
+
+
+复制出来执行一下试试,发现格式报错
+
+
+
+继续执行,报错`document`不存在
+
+
+
+开始补环境,缺啥补啥
+
+ function createElement(){
+ return {
+ 'innerHTML':'',
+ 'firstChild':{
+ 'href':'http://www.python-spider.com/challenge/11'
+ }
+ }
+ }
+ function setTimeout (){ }
+ document = {
+ 'attachEvent' : function(){},
+ 'addEventListener':function(){},
+ 'createElement':createElement,
+ };
+
+
diff --git a/猿人学练习/11js加密人均会解jsl/test.js b/猿人学练习/11js加密人均会解jsl/test.js
index 95d708c..67eb1d7 100644
--- a/猿人学练习/11js加密人均会解jsl/test.js
+++ b/猿人学练习/11js加密人均会解jsl/test.js
@@ -12,17 +12,54 @@ document = {
'addEventListener':function(){},
'createElement':createElement,
};
-var _N=function(){setTimeout('location.href=location.pathname+location.search.replace(/[\?|&]captcha-challenge/,\'\')',1500);document.cookie='__jsl_clearance=1677835884.807|0|'+(function(){var _t=[function(_N){return _N},function(_t){return _t},(function(){var _N=document.createElement('div');_N.innerHTML='_1H';_N=_N.firstChild.href;var _t=_N.match(/https?:\/\//)[0];_N=_N.substr(_t.length).toLowerCase();return function(_t){for(var _1H=0;_1H<_t.length;_1H++){_t[_1H]=_N.charAt(_t[_1H])};return _t.join('')}})(),function(_N){for(var _t=0;_t<_N.length;_t++){_N[_t]=parseInt(_N[_t]).toString(36)};return _N.join('')}],_N=['clD',[(-~~~{}<<-~~~{})+(-~~~{}<<-~~~{})],'V',[(-~[]+[]+[[]][0])+[-~-~{}]],'fq',[(-~[]+[]+[[]][0])+[-~[]-~[]-~!/!/+(-~[]-~[])*[-~[]-~[]]],(-~[]+[]+[[]][0])+(-~[-~-~{}]+[[]][0]),(-~[]+[]+[[]][0])+[(+!![[][[]]][1])]],'LBWywKW',[(2-~[-~-~{}]+[]+[[]][0])],'%2FZyf',[(-~[]+[]+[[]][0])+(-~[-~-~{}]+[[]][0])],'6',[(-~[]+[]+[[]][0])+(-~[-~-~{}]+[[]][0])],'_149ed88728a08a812738bdc16856de74',(-~[-~-~{}]+[[]][0]),'D'];for(var _1H=0;_1H<_N.length;_1H++){_N[_1H]=_t[[1,0,1,2,1,3,1,2,1,2,1,3,1,0,1][_1H]](_N[_1H])};return _N.join('')})()+';Expires=Tue, 12-Dec-30 09:50:26 GMT;Path=/;'};if((function(){try{return !!window.addEventListener;}catch(e){return false;}})()){document.addEventListener('DOMContentLoaded',_N,false)}else{document.attachEvent('onreadystatechange',_N)}
-function get_cookie(jsStr) {
- eval(jsStr);
- _N();
- return document.cookie;
+
+
+var _N = function () {
+ setTimeout('location.href=location.pathname+location.search.replace(/[\?|&]captcha-challenge/,\'\')', 1500);
+ document.cookie = '__jsl_clearance=1677949245.576|0|' + (function () {
+ var _t = [function (_N) {
+ return _N
+ }, function (_t) {
+ return _t
+ }, (function () {
+ var _N = document.createElement('div');
+ _N.innerHTML = '_1H';
+ _N = _N.firstChild.href;
+ var _t = _N.match(/https?:\/\//)[0];
+ _N = _N.substr(_t.length).toLowerCase();
+ return function (_t) {
+ for (var _1H = 0; _1H < _t.length; _1H++) {
+ _t[_1H] = _N.charAt(_t[_1H])
+ }
+ ;
+ return _t.join('')
+ }
+ })(), function (_N) {
+ for (var _t = 0; _t < _N.length; _t++) {
+ _N[_t] = parseInt(_N[_t]).toString(36)
+ }
+ ;
+ return _N.join('')
+ }],
+ _N = ['clD', [(-~~~{} << -~~~{}) + (-~~~{} << -~~~{})], 'V', [(-~[] + [] + [[]][0]) + [-~-~{}]], 'fq', [(-~[] + [] + [[]][0]) + [-~[] - ~[] - ~!/!/ + (-~[] - ~[]) * [-~[] - ~[]]], (-~[] + [] + [[]][0]) + (-~[-~-~{}] + [[]][0]), (-~[] + [] + [[]][0]) + [(+!![[][[]]][1])]], 'LBWywKW', [(2 - ~[-~-~{}] + [] + [[]][0])], '%2FZyf', [(-~[] + [] + [[]][0]) + (-~[-~-~{}] + [[]][0])], '6', [(-~[] + [] + [[]][0]) + (-~[-~-~{}] + [[]][0])], '_5f9f264ddd0bc5c81baf5167fb285724', (-~[-~-~{}] + [[]][0]), 'D'];
+ for (var _1H = 0; _1H < _N.length; _1H++) {
+ _N[_1H] = _t[[1, 0, 1, 2, 1, 3, 1, 2, 1, 2, 1, 3, 1, 0, 1][_1H]](_N[_1H])
+ }
+ ;
+ return _N.join('')
+ })() + ';Expires=Tue, 12-Dec-30 09:50:26 GMT;Path=/;'
+};
+if ((function () {
+ try {
+ return !!window.addEventListener;
+ } catch (e) {
+ return false;
+ }
+})()) {
+ document.addEventListener('DOMContentLoaded', _N, false)
+} else {
+ document.attachEvent('onreadystatechange', _N)
}
-// console.log(get_cookie());
-
-
-module.exports =
- {
- get_cookie
- };
+_N();
+console.log(document);
\ No newline at end of file