From ac68f895e4d08198fffcff5ea033ad99b28ace09 Mon Sep 17 00:00:00 2001 From: luzhisheng Date: Thu, 30 Sep 2021 17:51:07 +0800 Subject: [PATCH] =?UTF-8?q?js=E9=80=86=E5=90=91=E5=AD=A6=E4=B9=A0=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zy-常见混淆原理/AA和OO混淆.md | 9 +++++ zy-常见混淆原理/FUCKJS混淆.md | 0 zy-常见混淆原理/jj混淆.md | 74 +++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 zy-常见混淆原理/FUCKJS混淆.md create mode 100644 zy-常见混淆原理/jj混淆.md diff --git a/zy-常见混淆原理/AA和OO混淆.md b/zy-常见混淆原理/AA和OO混淆.md index 57c692e..8a30766 100644 --- a/zy-常见混淆原理/AA和OO混淆.md +++ b/zy-常见混淆原理/AA和OO混淆.md @@ -1,5 +1,7 @@ # js 默认支持unicode +unicode 支持所有语言 + 原始代码 var ayf = 1; @@ -8,4 +10,11 @@ AA加密 ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`sojson.com*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚o゚])(゚Θ゚))((゚Θ゚)+(゚Д゚)[゚ε゚]+((゚ー゚)+(゚Θ゚))+(゚Θ゚)+(゚Д゚)[゚o゚]); +底部是fun实际上封装了一层 + + function Function1(x) + { + return eval("function(){return " + x + "})()") + } + 测试网站: https://www.sojson.com/aaencode.html \ No newline at end of file diff --git a/zy-常见混淆原理/FUCKJS混淆.md b/zy-常见混淆原理/FUCKJS混淆.md new file mode 100644 index 0000000..e69de29 diff --git a/zy-常见混淆原理/jj混淆.md b/zy-常见混淆原理/jj混淆.md new file mode 100644 index 0000000..bb4fbb8 --- /dev/null +++ b/zy-常见混淆原理/jj混淆.md @@ -0,0 +1,74 @@ +# jj 加密 + + var ayf = 1; + +## 加密 + + sojson = ~[]; + /*sojson.com*/ + sojson = { + ___: ++sojson, + /*sojson.com*/ + $$$$: (![] + "")[sojson], + __$: ++sojson, + $_$_: (![] + "")[sojson], + _$_: ++sojson, + $_$$: ({} + "")[sojson], + $$_$: (sojson[sojson] + "")[sojson], + _$$: ++sojson, + $$$_: (!"" + "")[sojson], + $__: ++sojson, + $_$: ++sojson, + $$__: ({} + "")[sojson], + $$_: ++sojson, + $$$: ++sojson, + $___: ++sojson, + $__$: ++sojson + }; + sojson.$_ = (sojson.$_ = sojson + "")[sojson.$_$] + (sojson._$ = sojson.$_[sojson.__$]) + (sojson.$$/*sojson.com*/ + = (sojson.$ + "")[sojson.__$]) + ((!sojson) + "")[sojson._$$] + (sojson.__ = sojson.$_[sojson.$$_]) + (sojson.$ = (!"" + "")[sojson.__$]) + (sojson._ = (!"" + "")[sojson._$_]) + sojson.$_[sojson.$_$] + sojson.__ + sojson._$ + sojson.$; + /*sojson.com*/ + sojson.$$ = sojson.$ + (!"" + "")[sojson._$$] + sojson.__ + sojson._ + sojson.$ + sojson.$$/*sojson.com*/ + ; + sojson.$ = (sojson.___)[sojson.$_][sojson.$_]; + sojson.$(sojson.$(sojson.$$ + "\"" + "\\" + sojson.__$ + sojson.$$_ + sojson.$$_ + sojson.$_$_ + "\\" + sojson.__$ + sojson.$$_ + sojson._$_ + " " + sojson.$_$_ + "\\" + sojson.__$ + sojson.$$$ + sojson.__$ + sojson.$$$$ + " \\" + sojson.$$$ + sojson.$_$ + " " + sojson.__$ + "\\" + sojson.$$$ + sojson._$$ + "\"")())(sojson = { + ___: ++sojson, + $$$$: (![] + "")[sojson] + }); + + +这里通过浏览器调试 + + (sojson.___)[sojson.$_][sojson.$_]; + + 0的constructor的constructor是一个大Function,原型链上拿到的数据 + +arguments + + arguments 是一个类数组对象。代表传给一个function的参数列表。 + +hook + + sojson.$ = function(){debugger;} + +通过 arguments 取到数据 + + sojson.$ = function(){debugger;} + ƒ (){debugger;} + arguments + Arguments ["return"\166a\162 a\171f \75 1\73"", callee: ƒ, Symbol(Symbol.iterator): ƒ]0: "return"\166a\162 a\171f \75 1\73""callee: ƒ ()length: 1Symbol(Symbol.iterator): ƒ values()__proto__: Object + "\166a" + "va" + + "\162" + "r" + + "a\171f" + "ayf" + + "\75" + "=" + + "1\73" + "1;" +