• HOME
  • DOCS
  • WTF
  • TECH
  • LIFE
  • PAGES
    • ARCHIVE
    • TAGS
    • ABOUT
    • FRIENDS
    • RSS
  • TOOLS
    • GEO
    • RANDOM()
    • GOO.GL
    • CSS HEART
Aj's Blog

记录时间溜走的瞬间和折腾过的那些事

阿里联盟反作弊技术分析(淘宝,Flash型)
2007-06-02 @ TECH

核心技术

JS(Javascript)+AS(Flash ActionScript)的应用,通过JS把基本参数传递给Flash Object

在AS中用Button等元件的click事件传递URL,如果在紧跟着后面的Click计数中检查refer来源

变可以把反作弊技术提高到一个相当的高度

分析步骤

1、获取主JS: http://view.aliunion.cn.yahoo.com/showad.php 分析后发现是用的iframe放置广告,并提交2个基本参数location.href和refer

view.aliunion.cn.yahoo.com/selad.php?adid=XXX&wid=XXX&u=”+ encodeURIComponent(document.location.href) +”&r=”+ encodeURIComponent(document.referrer)

2、PV计数,在1的基础上一次转向并计数

view.aliunion.cn.yahoo.com/richv2.php?adid=XXX&wid=XXX&sid=&cust=&u=UUU&r=

看连接关键字都可以联想一下,rich & v2, 富媒体技术,v2版,返回的代码就是关键了

view.aliunion.cn.yahoo.com/images/flashobject.js 顾名思义flashobject的定义、功能实现

在下面的代码中用到的一个关键点,就是把click的url传递给flash的,flashobject.addVariable(Variable,value)函数 一共传递了5个参数url1~url5,不过是编码过的escape

这里用到了一次swf的反编译(Sothink SWF Decompiler v3.3)

以img.aliunion.cn.yahoo.com/taobao/taobao-2hand-21-002.swf为例

如下图所示,为AS的部分实现

顺便附上getUrl函数用法

用法: getURL(url [, window [, “variables”]])

参数:

 url 可从该处获取文档的 URL。

 window 加载到目标窗口或框架,可制定特定窗口或从保留名中选择

   _self 指定当前窗口中的当前框架。

   _blank 指定一个新窗口。

   _parent 指定当前框架的父级。

   _top 指定当前窗口中的顶级框架。

 variables 用于发送变量的 GET 或 POST 方法。

   GET 方法将变量追加到 URL 的末尾,该方法用于发送少量的变量

   POST 方法在单独的 HTTP 标头中发送变量,该方法用于发送大量的变量。

总结部分

关键的点击地址是没有做任何处理直接在源代码里面放着的,这个就给作弊工具有可乘之机

而且在分析了阿里联盟的多种代码之后发现点击计数连接相同,是否有文章开始提到的refer检查就不知道了

JS+AS的实现是普通作弊工具遇到了一点麻烦,但是, 点击地址直接存放实在令人汗颜

而且对于互点联盟的作弊,这种是手法一点作用也没有

下一篇:   爆米花归来
上一篇:   《爆米花》反作弊分析
暂无评论

Cancel reply