某广告落地页js源码解读,需反混淆。

背景:

被反馈三方广告素材,在部分国家的广告点击率异常。因此把广告扒下来,想检查是否有自动跳转等执行逻辑。

阅读材料:

1. html形式的广告物料源码

<html>
<head>
 <style>
 * {
 margin: 0;
 padding: 0
 }

 .container {
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0);
 cursor: pointer;
 }

 #ad-img {
 width: 100%;
 height: 100%;
 }
 </style>
 </head>
<body>
 <div class="container">
 </div>
 <script>
 window._track_impression_ = 'https://xx,https://xx';
 window._track_click_ = 'https://xx,https://xx';
 window._landing_url_ = 'https://xx,https://xx';
 window._fallback_url_ = '';
 window._image_url_ = 'https://xx.jpg'
 </script>
 <script src="https://xx/s_i_ts_v3.js"></script>
 </body>
</html>

2. js源码(本次要解读的):https://download.csdn.net/download/tiaodafen/89723787

结论概述

结论:

1. 实际解读并执行跟踪后,发现并无自动跳转等逻辑。说明该js正常合规(可能不合规的js没抓到)。

2. 代码混淆中,主要用到以下策略:

  • 代码用到的外部方法名都放到列表里,通过数组的方式读取。相当于用数字与方法名做映射(a0a方法)——这个方式可能仅js适用( ob['function']()相当于ob.function() ),其他语言需要根据自身特性来考虑;
  • 数组读取方法名之前,还需要调整列表的元素顺序,使得不知道元素正确顺序的人不能轻易通过数组解读出方法(while (!![])那段位移逻辑,以及a0b也做了一层偏移);
  • 代码内部本身的函数及变量名需要去除含义,用无意义的字母表示(通篇的abcdefg函数与参数)
  • 即使调用相同的函数及变量,也都通过不同方式的定义(l()里的O=a0b 与 function()里的R=O );

3. 反混淆解读方法:

  • 【LLM的chat模型】用文心一言对具体的方法解个大概能帮助读者快速理解各模块含义,后续自己结合上下文组装起来即可;
    • 注意解读的代码要在chat模型内输入,不要在搜索框输入。搜索框会对"[等特殊字符进行处理
  • 【格式化工具】需要先把代码进行格式化解开,看懂整个结构布局,知道哪个是主流程,哪个是函数定义,哪个是全局变量
    • 注意要找能够缩进、语法高亮、及折叠范围的编辑器或格式化工具。js用chrome自带的DevTools其实就足够好了
  • 【逐个击破】需要找到谜面比较清晰、或结构比较熟悉的方法或小模块(例如'clickTracks'方法,肯定是要读取_track_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值