AST实战|如何快速定位Akamai2.0混淆代码加密位置

关注它,不迷路。       

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

1. 需求分析

研究过Akamai 2.0 的朋友都应该知道,它的混淆代码基本每周至少变一次,调试起来非常的痛苦,每次都要去找加密位置,也是非常的令人不爽。所以干脆写个 简单的 脚本直接定位。

2. 混淆代码分析

阿卡迈 2.0的初始加密是一个 包含 56个元素的数组,如下图:

5f2705e93b5e304ca88d7e0ded465221.png

这里很明显是一个赋值语句,因此,直接遍历即可。源代码:

const getGenCode = 
{
  AssignmentExpression(path)
  {
    let {node,parentPath} = path;
    let {left,right,operator} = node;
    if (!types.isIdentifier(left) || !types.isArrayExpression(right) || operator != "=")
    {
      return;
    }
    if (right.elements.length != 56) return;
    console.log("senser_data : \n",path.toString());
  }
}


traverse(ast, getGenCode);

3. 具体操作

打开某个使用 阿卡迈 2.0 的网站,将其混淆的js保存下来,然后运行上面的脚本,输出结果:

59e7bb7622f3163c16f24820ef1604f9.png

直接全局搜索 这个 RY.Lf.call,直接定位到这里:

a474ee6399bcbfbb1e00faccbaea5a18.png

再打上断点,就可以愉快的调试了,非常的方便。

如果全局搜索这个特征不能快速定位,可以试试其他的特征。

今天的文章就分享到这里,后续分享更多的技巧,敬请期待。

3a3e32f6aa003d85c4d5010b9bd7fc89.jpeg

欢迎加入知识星球,学习更多AST和爬虫技巧。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值