本帖最后由 Creeper666 于 2021-8-9 14:27 编辑
- 在前几个月,某位热心的伙伴制作了一个网页,输入相应的密码,就能跳转到音乐播放器、小说、JS在线运行这三大页面。由于密码恶臭(114514,1919810),再加上js判断密码跳转部分没有加密,导致密码不久便被他人传开。于是这位热心伙伴修改了密码,并且使用了js加密v6,不出意外,防住了一大波白嫖使用党。我是其中白嫖大军中的一员,幻想着白嫖,却没有js基础,分析这个js加密简直是看天书。直到某一天,我心血来潮,于是就有了接下来的过程:
- 如果输错了就会弹窗,叫你联系这位热心伙伴(没用的)
- 这里先把网页跟js存本地,js要格式化,方便接下来的调试
- 打开保存好的本地网页,按F12,此时会因为反调试机制暂停。按F10步进函数,定位到如下图一行。我们打开本地的js文件,也定位到这行代码,然后删除
- 删除之后,刷新一下网页以加载修改后的JS。此时仍然有暂停,继续按F10步进函数,定位到某一行代码,打开本地的js文件,也定位到这行代码,删除。我在这里又重复了三次,终于不停止了
- 看到HTML源码,发现button没有相应的点击事件。转去js看看
- 点击HTML页面里的按钮,由于刚刚下的断点暂停。再转到js这里,F10步进,可以看到密码跟网页都出来了。但是由于长度限制,只有前面一部分数据
最后整理可得,三个密码对应的三个网址也就真相大白了。输入密码,完美跳转!
- 总结:
- 1,利用其反调试的策略,F10步进到有关代码,删除,即可正常使用调试功能;
- 2,自行下断点,利用开发者工具步进函数时的输出,获取解密后的密码信息
最后欢迎大家提出意见和建议!不确保适用所有jsjiami.v6,仅作为本人零基础着手调试的思路和过程分享!
|