背景介绍:抖音网页端逆向系列01主要围绕a_bogus算法的还原进行分析。a_bogus算法是抖音用于加密某些参数的一种算法,广泛应用于评论接口、个人主页、商品接口和搜索接口等场景。由于该算法的复杂性和不断更新,逆向分析成为了解其内部机制的重要手段。
1. 目标定位:
通过设置XHR/Fetch断点,并在断点条件中包含关键字a_bogus,我们可以快速定位到a_bogus出现的位置。进一步利用堆栈跟踪信息,我们能够找到a_bogus尚未赋值的具体位置,从而高效地定位并解决问题。这种调试方法既精确又高效,大大提高了开发效率。
根据上图所示,变量n代表append方法,d则是一个URLSearchParams对象。数组e包含了参数[“a_bogus”, “a_bogus的值”]。随后,通过调用n.apply(d, e),将a_bogus及其值作为参数添加到URLSearchParams对象中,实现了参数的动态添加。
接下来,我们只需关注表达式e = v.slice(p + 1, p + r + 1),即专注于找出a_bogus被入栈或进行计算的具体位置,以便进一步分析其作用和影响。
添加日志断点,格式如下:”apply:::”, n, “参数d=”, d, “参数e=”, e, “结果m=”, m
添加日志断点,格式如下:”vp”, “vp=”,v[p], “E=”, E, “结果”, v[p] + E
添加日志断点,格式如下:”入栈”, Z[x]
添加日志断点,格式如下:”入栈”,E
添加日志断点,格式如下:”入栈”,E
运行分析日志
判断是否存在msToken,不存在就把msToken添加到URLSearchParams
url参数2次加密,字符串dhzx两次加密
fromCharCode生成一个常量
然后使用这个常量
然后处理userAgent
有点复杂,下一节继续
各位亲爱的家人们,我目前正在积极寻找与逆向爬虫相关的工作机会。如果您手头有合适的职位,或者知道相关的工作信息,非常希望能得到您的内推帮助!
没有回复内容