目标网址:aHR0cHM6Ly93d3cuemhpcGluLmNvbS9qb2JfZGV0YWlsLz9xdWVyeT0mY2l0eT0xMDEyODAxMDAmaW5kdXN0cnk9JnBvc2l0aW9uPQ==
观前提示:
本文章仅供学习交流,切勿用于非法通途,如有侵犯贵司请及时联系删除
0x1
众所周知,旧版已经是被各位大佬玩烂了,但是就在前段时间,新版出来了,玩法大不相同,又可以玩一波啦
0x2 zptoken加密点定位
首先先巴拉巴拉
然后***&!@()#!#*!
最后 加密点就出来了
0x3 检测点定位
打上断点 进来后 可以看到
这还是我们之前认识的那个ob混淆的代码?
已经全变了 那要怎么入手?全是控制流
那我可能会告诉你 步进大法 但是等你跟下来 你可能会怀疑人生
所以 我总结了一套小偷鸡技巧
- 代理
在get的同时打上debugger 断下断点后上找堆栈看看做了什么事 - 全局搜typeof
在搜出来的位置打断点 运行 在每个断下来的位置拿所需要对比的值和网页运行的值对 - 全局搜try
通常会在try里面做一个环境差异的差异比较 要比较清楚什么东西是web有的node没有的 什么是node有web没有
这一套下来就基本七七八八啦
0x4 值对比
调试过的人都知道 运行window.ABC返回的值看似固定 但其中总有一段是动态的 这就给我们的对比带来了困扰 那咋整呢
通过我对代码的跟踪 最终结果就是调用了
new Date().getTime() Math.random()
如果你们想对比node和web不同环境下生成的值可以尝试hook这俩个函数返回一致即可(需要在js头部下hook)
效果:
0x5运行结果
好了 技巧全告诉你们啦 剩下的还是得你们继续加油呀 冲冲冲
百分百成功率 就是有点费ip 动不动给我封24h
完美撒花 感谢各位大佬观看
[完]