代码混淆的总结

注:最近需要看税局的前端代码加密方式,好去模仿一下,然后看了一周的时间,像一块难啃的骨头,浏览器调试之类的方法又让我重新学了一下…还搜寻了很多方法,真的很难受,写下来这段时间学习的内容

1、工具:

1、fildder

2、js代码混淆

2、混淆手段:

1、YUI Compressor (国外)

2、Google Closure Compiler(谷歌国外登录不上)

3、UglifyJs(基于node)

4、Jscrambler

5、sojson

3、混淆类型:

待定:emscripten、WebAssembly等

0、js文件中注释加xl-content.js:formatted ,浏览器就按这个名字解析,别人看到的js文件还是那个文件名/微笑

1、eval()手段,有很明显的eval函数

2、jsFuck,很多很多的[]和!拼接而成

3、AAEncode,有很多的表情翻译的

4、JJEncode,有很多的$和!""._运算符

5、js代码压缩-----

6、js混淆—变量名混淆(普通混淆和16进制混淆),普通混淆,出现a,b,c单词

16进制混淆,_0x4e98 = [‘log’,‘hello’]

7、字符串混淆,和上面很像

8、自我保护–比如卡死浏览器,,格式化后会运行,会直接卡死浏览器,\x78\x66\ + 16进制变量名 + 很明显的while

9、控制流平坦化,(处理逻辑加上前驱,提高逻辑复杂度),就是通过switch分发任务,控制程序流按顺序执行

10、僵尸代码注入,

11、对象键名替换。,,obj对象的内容提上去了,对象变量名变了_0x7a5d

12、禁用控制台输出,debug,infor,error,exception,trace

13、域名锁定,只允许在特定域名下运行,降低被模拟风险

4、反混淆手段:

5、混淆工具:

1、 javascriptobfuscator
2、2.2 Uglifyjs(开源)
3、 jscrambler 地址:https://jscrambler.com/
4、 jsfuck(开源)
5、

3、sat语法树,组成了

6、反爬虫:

1、setInterInt无限循环bug

7、如何跳过:

1、debug全部屏蔽掉

2、

8、打断点的方式:

1、点击左边,快速断点 =Add breakPoint (普通的行级断点)

2、Add conditional(是有条件的行级断点)后输入false,回车,再按下F9,你会发现debugger已经消失

3、Never pause here(会让这里永远不进断点)字面意思,不从这行代码经过。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值