前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS破解--反反调试

JS破解--反反调试

作者头像
Python编程与实战
发布2019-12-04 16:22:04
4.5K0
发布2019-12-04 16:22:04
举报

今天应小伙伴们意愿写一下过无限 debugger 的两个案例(其实都很简单,只要掌握一两个操作点的话)

因为咱粉丝比较少,就直接进行网站点名了,手动狗头

有些案例弄过的小伙伴,可能需要清除一下对应域名下的 cookie 后,才能触发无限 debugger

案例一:

药监局:http://app1.sfda.gov.cn/datasearch/face3/base.jsp?tableId=120&tableName=TABLE120&title=%CA%B3%C6%B7%C9%FA%B2%FA%D0%ED%BF%C9%BB%F1%D6%A4%C6%F3%D2%B5(SC)&bcId=145275419693611287728573704379

在 chrome 键入地址后,打开 F12,就迎来了我们今天的主题:

美化一下代码发现就是一个debugger,此时在 console 控制台,重写该函数

重写之后,点击 X 关闭 F12 窗口(切记不要刷新页面,因为刷新的话相当于重新加载一遍,刚才的重写函数也就没了意义)

关闭之后再重新打开 F12,又开始了 debugger

一个算时间差值的无限 debugger,根据调用栈看一下

根据代码,发现是 eval 执行的字符串,此时重写 _$jQ 函数

重写后的函数没有具体意义,所以 eval 也就没东西可执行了,此时关闭 f12,再重新打开,发现就不会再有 debugger 了。

PS:不管是加载别的页面也好,还是刷新也罢,只要浏览器重新加载了存在 debugger 语句的js,就会开始 debug,所以要先擦除debugger,再去下断点分析你想要的内容

案例二:

努比亚论坛:https://bbs.nubia.cn/

因为这是一个 js 生成 cookie 的案例,所以触发 debugger 的机制不太一样。

首先清除该网站下的 cookie(ps:有些案例可能还需要清storage),键入地址,打开 f12,此时再在浏览器地址栏回车,也就出现了 debugger

多查看几层调用栈,发现关键点

一个直接调用,一个 setInterval,老规矩重写 _0x4db1c 函数

因为这个案例比较简单,我就多说两句,因为这个案例的特殊性

所以你关闭 F12后,cookie 就被生成了,然后页面数据就有了,还是分析不了cookie 的生成规则,所以在函数执行前打上断点!

不关闭 f12,刷新页面,断在了我们的断点位置

此时在控制台重写目标函数 _0x4db1c,但是重写之后,继续执行的话,还是看不到cookie 生成规则

所以重写之后,不要轻举妄动,在关键位置打上断点(ps:这个案例是一个经典的js生成 cookie 案例,也就是 arg1 生成 arg2 的过程,断点我就直接打了)

就是这一部分,打好断点后,此时点击按钮继续执行

断在了我们的预期位置,接下来就开始愉快的分析吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python编程与实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 案例一:
  • 案例二:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档