共计 919 个字符,预计需要花费 3 分钟才能阅读完成。
关注微信公众号:K 哥爬虫,继续分享爬虫进阶、JS/ 安卓逆向等技术干货!
申明
本文章中所有内容仅供学习交换,抓包内容、敏感网址、数据接口均已做脱敏解决,严禁用于商业用途和非法用处,否则由此产生的所有结果均与作者无关,若有侵权,请分割我立刻删除!
逆向指标
- 指标:网洛者反反爬虫练习平台第五题:控制台反调试
- 链接:http://spider.wangluozhe.com/…
- 简介:关上浏览器控制台,控制台 Console 地位输入 bbbb[0] 可看见答案,填上答案提交即可。
逆向过程
咱们间接关上控制台,发现右键不能应用,间接 F12,页面就会间接跳转到首页了,问题不大,新起一个页面,先关上 F12 再进入页面即可,此时能够看到控制台在疯狂输入 div 标签,如下图所示:
这里比拟难堪的就是,尽管控制台在一直刷 div,然而对咱们的输出没有太大影响,间接输出 bbbb[0]
,往上找一找,就能够看到答案了,或者间接输出 copy(bbbb[0])
就间接把答案复制到粘贴板了。如下图所示:
这个题不晓得是什么起因,有可能是出题不太标准让咱们间接钻空子了,作者的本意应该是让咱们去掉这个有限刷 div 的状况,再去获取答案的,所以咱们还是来剖析一下源码,能够看到输入 div 的办法都在 5.js 里,间接点进去,是一个 setInterval 定时器办法:
解决办法有很多:
- Hook 定时器,将输入 div 的语句删除;
- 替换 JS 代码,间接将定时器或者输入 div 的语句删除;
- 间接控制台 Hook,将定时器办法置空。
本次咱们间接在控制台 Hook,将定时器置空,这里留神,如果程序曾经进入了定时器,再 Hook 是没用的,所以正确的做法是在定时器前,比方 let div
的中央下个断点,刷新网页,再在控制台输出 setInterval = function() {};
将定时器置空,再放开断点输出 bbbb[0]
获取答案:
咱们留神到控制台有个报错 Uncaught SyntaxError: Identifier 'div' has already been declared
,这是因为在 JS 和页面的 HTML 里各自申明了一遍 div 导致的,在页面的 HTML 里再次申明时就会报错,对咱们后果的获取没有影响。至此,本题剖析结束。提交答案胜利: