破解前端定时debugger反调试

前言今天在某群里,有伙计抛出了一个页面求助大家,说是get不到前端源码。本着强烈的好奇心,我就点开页面一探究竟,发现页面每100ms断点一次,严重影响代码分析。本篇我们就来一步一步破解,这里先附上网站链接

思路分析一、禁止断点在Chrome控制台的Source Tab页点击Deactivate breakpoints按钮或者按下Ctrl + f8,这样chrome就不会自动跳转到debugger的代码了。这个方法缺点也是很明显的,如此一来我们自己也无法进一步debug来更深入地了解页面的运行机制。此外,目前仅Chrome一家支持禁止断点功能,因此算不得什么好方法。当然,如果只是想要静心分析页面布局等情况,这应该不失为一个简单却行之有效的法子。二、设置代理,去掉debugger我们首先先找出页面中出现debugger的位置,在打开调试控制面板的情况下按住Shift+Ctrl+F进行全局查找

发现有两个地方(201906122034576.shtml和shared.html)出现了debugger字样,我们打开fiddler,将浏览器代理设置为fiddler,并配置代理规则,使上述两个页面返回的内容去掉了debugger字样

待我们对其他带有debugger字样的页面如法炮制之后(注意:这里如果是https的页面的话还得进一步配置fiddler才能抓到对应的页面,相关的教程网上有很多,此篇不再赘述),然而,并没有出现我们期待的效果,source面板依然会跳出debugger断点。到这里,我们也许会怀疑,会沮丧!其实到此为止,步骤都没有问题。只能说网站的开发人员在探秘风险的防范上也是下了一番苦心。既然对方用心以待,我们自然也得报之真情,这是做人的基本准则。所以我们并不打算放弃,细细一想,答案可能隐藏在混淆的代码之中。三、代码重写初步的想法是顺着断点执行下去,看下是代码调用栈,猜想并找到可能的代码拼接的地方,并进行替换处理。幸运的是通过调试很快我们就发现了,断点代码是通过字符串用eval函数动态执行的。

返回动态字符串的是一个名为_$jd的函数,我尝试在console面板输入_$jd,发现这是一个全局函数,因此心中有了另一个想法——代码重定义,使得动态指定的代码为空代码。_$jd=function(){}但是这种方式只是临时改变当前页面的函数,每次刷新页面之后就会失效,因此为了一劳永逸,我们将这种方法与第二种方法结合起来,使得代理返回的页面上的代码就已经进行了代码重定义了。在页面的最后添加上以下脚本即可<script type="text/javascript">_$jd=function(){}</script>与预期的一样,至此问题彻底解决!

(0)

相关推荐

  • 你想逆向我的 js 代码?呵呵,先过了我的反 debug 再说吧!

    有时候我们在爬取 某个用 js 渲染的网站 需要去分析一下 别人网站的数据展示规则 这个时候就不得不用 Chrome 的 DevTools 进行分析了 对于一般的网站 我们在具体的位置 打个断点就可以 ...

  • 用C#实现修改网页数据

    背景     由于某宝最近升级,导致朋友买的刷单软件不能用了:在又付过钱之后,那个刷单软件供应商竟然捐款跑路了...于是,朋友委托我做一个功能一样的软件. 功能     他给我描述的软件功能,是这个样 ...

  • 2017回顾-性能测试基础知识需要哪些呢?

    性能测试可能大家都觉得一下子找不到入门的方法,云层根据多年的经验整了一套完整的性能测试入门(前端.后端.OS)知识详解体系26个章节(超过200分钟的纯干货视频),针对每个课程都列出了对应的知识点,内 ...

  • Chrome开发者工具使用指南

    前言 工欲善其事,必先利其器. 在前端工作中,我们常常使用到Chrome开发者工具去做各种各样的事情. 但是您真的了解这些开发者工具吗? 官方文档还是挺详细的:chrome-devtools文档. 但 ...

  • 写 Node.js 代码,从学会调试开始

    张挺 前端试炼 1周前 在纷繁复杂的代码世界中,出错是难免的,也许在传统的前端代码中,你习惯于 console 来排查问题,这是不合理的,在现代的社会下,调试代码是你最快找到问题的方法. 这篇文章就是 ...

  • 如何破解命题人的“反套路”

    随着气候变化,肥料和供水导致了极大的能源和环境成本,如何让作物更好地吸收营养和水就显得极其重要.因此不少人认为只要增加植物根毛的长度,就可以更有效地吸收水和养分,从而提高作物产量. 下列哪项如果为真, ...

  • 反调试入门篇(1)——花指令

    花指令 花指令是一种反静态调试的最基础手段(对于动态调试来说就没有用处),我们可以通过在程序的代码中添加一些不影响程序运行的垃圾机器码,进而影响反汇编结果的准确性,达到程序保护的目的 花指令分类 1. ...

  • 孵化自图灵人工智能研究院,燧坤智能如何助力破解制药行业的“反摩尔定律”?

    近期,AI+创新生物医药研发平台南京燧坤智能科技有限公司(以下简称"燧坤智能",Silexon AI)宣布完成超亿元人民币A轮融资,由斯道资本和红杉中国联合领投,泉创资本跟投,老股 ...

  • 前端测试的反模式

    在为前端项目编写测试用例的时候,你也许和我一样,曾遇到过以下困扰: 明明进行了功能正确的改动,测试却挂了.修复测试有时候得认真阅读各种mock的细节,或者去了解很多本没有必要知道的代码逻辑.最后修测试 ...

  • 【Python爬虫】:破解网站字体加密和反反爬虫

    前言:字体反爬,也是一种常见的反爬技术,例如58同城,猫眼电影票房,汽车之家,天眼查,实习僧等网站.这些网站采用了自定义的字体文件,在浏览器上正常显示,但是爬虫抓取下来的数据要么就是乱码,要么就是变成 ...

  • 「归妹卦」六三爻辞“归妹以须,反归以娣”破解

    六三:归妹以须,反归以娣. 象曰:归妹以须,未当也. (一)释字 须 借用为媭.古代楚人称姐姐为媭. (二)释象 <归妹卦>是由<否卦>变化而来.六三在<否卦>是巽 ...

  • 「蹇卦」之九三爻辞“往蹇来反”破解

    九三:往蹇来反. <象>曰:往蹇来反,内喜之也. (一)释字(词): 反 <说文>:"(反),覆也.从又.⺁,反形."⺁读hàn.<说文>:&q ...

  • 「蹇卦」之象辞“山上有水,蹇;君子以反身修德”破解

    ​(上接"一.卦图破解") 二.象辞破解 象辞:山上有水,蹇:君子以反身修德. (一)释字(词): 蹇 <说文>:"蹇,跛也.从足,寒省声".本义: ...

  • 破解中国、阿拉伯海军被近代欧洲反超之谜:西欧大帆船进化史

    作者|冷研作者团队-寄生蟹子 字数:2392,阅读时间:约15分钟 编者按:大航海时代,或者说风帆时代给我们留下最深刻印象的,莫过于那雄伟的风帆战列舰,而其的缘起,则是被称为Galleons的盖伦船了 ...