当前位置: 首页 > news >正文

什么是网站及其制作步骤河南郑州网站设计公司

什么是网站及其制作步骤,河南郑州网站设计公司,泰州免费网站建站模板,中融木业网站是那个网站做的debugger 指令,一般用于调试,在如浏览器调试执行环境中,可以在 JavaScript 代码中产生中断。 如果想要拦截 debugger,是不容易的,常用的函数替代、proxy 方法均对它无效,如: window.debugger …

debugger 指令,一般用于调试,在如浏览器调试执行环境中,可以在 JavaScript 代码中产生中断。

如果想要拦截 debugger,是不容易的,常用的函数替代、proxy 方法均对它无效,如:

 window.debugger = (function() {var origDebug = console.debugger;return function() {// do something before debugger statement executionorigDebug.apply(console, arguments);// do something after debugger statement execution};})();

或者:

 var handler = {get: function(target, prop, receiver) {if (prop === 'debugger') {throw new Error("Debugger statement not allowed!");}return Reflect.get(target, prop, receiver);}};var obj = new Proxy({}, handler);

以上两方法,都无法对 debugger 生效。

而 debugger 有多种写法,如:

1、debugger;
2、Function("debugger").call();
3、eval("debugger");
4、setInterval(function(){debugger;},1000);
5、[].constructor.constructor('debugger')();

最原始的 debugger,想要拦截这一个单词,确实是似乎不可行,但它在现实中的使用频率是不高的,更多的是后面几种用法。

这是因为,debugger 更多的被人们用于反调试,比如用 JShaman 对 JavaScript 代码进行混淆加密后,就可以被加入多种不同的 debugger 指令用于反调试。

 

而上面展示的后 4 种用法,是可以在代码中进行拦截的。

Function("debugger").call()

拦截示例:

 Function_backup = Function;Function = function(a){if (a =='debugger'){console.log("拦截了debugger,中断不会发生1")return Function_backup("console.log()")}else{return Function_backup(a)}}Function("debugger").call();

运行效果:

eval("debugger")

拦截示例:

 eval_backup = eval;eval = function(a){if(a=='debugger'){console.log("拦截了debugger,中断不会发生0")return ''}else{return eval_backup(a)}}eval("debugger");

运行效果:

setInterval(function(){debugger;},1000)

拦截示例:

 var setInterval_backup = setIntervalsetInterval = function(a,b){if(a.toString().indexOf('debugger') != -1){console.log("拦截了debugger,中断不会发生2")return null;}setInterval_backup(a, b)}setInterval(function(){debugger;},1000);

 运行效果:

[].constructor.constructor('debugger')()

拦截示例:

 var constructor_backup = [].constructor.constructor;[].constructor.constructor = function(a){if(a=="debugger"){console.log("拦截了debugger,中断不会发生3");}else{constructor_backup(a);}}try {[].constructor.constructor('debugger')();} catch (error) {console.error("Anti debugger");}

运行效果

http://www.yayakq.cn/news/145417/

相关文章:

  • 网站备案不能更新吗做好网站内能另外做链接吗
  • 莱芜住房和城乡建设厅网站重庆seo
  • 备案号 不放在网站上佛山网站维护
  • 创意聊城做网站的公司网站建设大赛
  • 湛江自做网站免费网站站长查询
  • 提高网站浏览量wordpress设置当前页面标题
  • 易语言做自动登陆网站淄博网络营销网站
  • 赣州兼职网站建设甜品网页设计模板html
  • 平面设计与网站开发的概述软件公司做网站吗
  • 典当行网站策划福州到泉州
  • 网站建设平台协议书外贸网站建设平台优化营销推广
  • 建设茶叶网站目的系统开发中强调系统的整体性
  • 信用渭南网站建设wordpress 反广告插件
  • 如何做网站宣传片简单大气的网站模板
  • 衡水微信网站建设河南建设人才招聘专业网站
  • 旅游管理网站业务模块四川省城乡住房建设部网站
  • 摄影网站cnu视觉联盟app开发一定要有公司吗
  • 建站资源共享长沙中企动力
  • 国外好的设计欣赏网站网站转化低的原因
  • 深圳网站建设类公司2345网址大全历史版本
  • 最好的wordpress网站有的网站域名解析错误
  • 网站开发技术考试题九一人才网赣州招聘
  • 淘宝官方网站登录页面短视频推广代理
  • 中国建设部建造师网站哪些网站设计的比较好
  • 博罗网站设计网站备案修改域名ip
  • 彩票网站开发制作平台软件医疗网站备案前置审批
  • 张家口专业做网站公司免费企业邮箱如何申请注册
  • wordpress图片错乱的问题北京seo服务
  • 慢慢来建站公司pop布局的网站
  • 小公司做网站的好处英文手表网站