查看: 1829|回复: 2
收起左侧

[金山] 移动广告之tgxx广告SDK分析

[复制链接]
caixx
发表于 2013-8-22 16:50:04 | 显示全部楼层 |阅读模式





近日来手机火眼系统检测到一款非常活跃的广告SDK,该SDK的弹出量近一周来高居top榜首位,下面就详细说说这款SDK。
一、SDK基本信息:
       该广告SDK名为天谷讯息,广告SDK官网为http://ads.tianguxx.com
       该SDK弹出广告的方式为主要为通知栏广告,属于不表明弹出来源的广告,属于典型恶意广告。

二、SDK周弹出次数变化趋势:
      
从图中可以看到,该SDK每日的弹出量非常巨大,包含该SDK弹出广告的应用包含:google data,小贱鸡,神庙逃亡,神庙逃亡之勇敢传说,斗地主,跳跃忍者,恐怖庄园的秘密,聊天机器人, PopStar, 会说话的汤姆猫2等,经分析发现,这些应用大多是被重打包后的,插入的广告SDK,弹出广告截图如下。
      
三、SDK行为描述:
        1.弹出恶意广告。
       2.上传用户手机信息。

四、详细分析:
1.广告SDK包结构:
      
       上图中红色框的主要功能是动态加载,加载下图中的dex文件。
      
       广告SDK通过receiver接受各种广播,并响应下图中的各种广播,执行对应操作。
               

2.下面详述该SDK的主要流程:
       该SDK要做的第一件事就是assets\f6.jar包中的dex文件的动态加载,并调用指定函数,如下图:
               
       加载f6.jar,并创建实例调用jar中的onReceiver函数,该函数用来响应系统发出的不同广播,并执行SDK的主要功能,下面将会详细介绍它接受到广播后执行的操作。
响应“android.intent.action.PACKAGE_ADDED”和“android.intent.action.PACKAGE_REPLACED”广播,根据新安装的包名获取包对应的信息,同时获取手机相关信息并上传。
               
       上面代码获取手机的一些基本信息,包含imei号,mac地址,屏幕分辨率,系统版本等,实现方法如下截图所示:
               
       上报数据的格式如下,下面代码将获取到的信息拼接成并发送:
               
       获取到信息后,我们做了抓包测试,上传的地址及信息如下显示:
               
响应“android.net.conn.CONNECTIVITY_CHANGE”广播,此流程会判断是否可以联网,如果网络通常会,进入广告弹出,与监控下载模块。
               
       当接受到网络改变广播时,SDK会检测网络是否通畅,如果通畅,receiver会给启动服务,并给服务传“CONNECT_INTERNET_IS_TRUE”参数,当服务启动后,会进入弹出广告流程。
响应广播“android.intent.action.MEDIA_SCANNER_FINISHED”和“android.intent.action.BOOT_COMPLETED”,init函数主要完成加压jar包。
               
响应“com.bingluo.TIPS_NOTIFICATION_CLICK”用户点击了广告事件和“com.bingluo.DOWNLOAD_NOTIFICATION_CLICK”用户点击了下载进度事件。
               
响应事件“com.bingluo.REMOVE_NOTIFICATION”,用户点击了清除,此时会将正在下载的任务移除,并清理下载一半的残余文件,但是此处代码并没有被调用,实际还会继续下载。
               
响应事件“com.bingluo.INIT”,从广告SDK云端,获取广告数据,及更新广告SDK。
               
       receiver接受到“com.bingluo.INIT”时,会启动服务,并给服务传递“GET_ADS”命令,服务接到词命令后会从广告云端拉去广告信息。
以上receiver部分,每个事件或广播发出后,receiver都会做出响应,同时调用一个名为”a”的函数,该函数功能是启动被映射的包中的服务,服务启动后,会根据第三个字符串参数,做相应的实际操作,下面说明服务代码功能:
当传入的参数是”GET_ADS”时,SDK启动线程,从云端获取广告数据。
               
       获取广告内容及更新广告SDK的代码如下:
               
       更新jar包的地址:"http://192.168.0.37/f6.jar";
       广告广告的服务器:http://ads.tianguxx.com/adsplatform/interfaces/RequestAds.do;
       otherserver:"http://ads.tgxx.com/adsplatform/interfaces/RequestAds.do";
                                            "http://ads.tgxx.com/adsplatform/interfaces/ReportAds.do";
在有新包安卓或替换安装时,会响应广播并传给服务REPORTED_CPA参数,服务根据词参数,做上传操作,如下代码:
               
Receiver接受到网络改变广播后,会检测网络是否通畅,如果通常,会给服务发出“CONNECT_INTERNET_IS_TRUE”指令,此时服务会调用一个名为“c”的函数,此函数功能服务弹出广告,及处理下载任务。
               
       c()函数功能如下,sendMessage函数发送消息,消息内容包含广告内容,handleMessage同时SDK中的handleMessage模块会接受并处理消息。
               
       handleMessage模块关键代码展示:
               
该服务还会对如下参数做对应操作,后面就不做详细展示了:
         DOWNLOAD_APP :下载广告,对应HelpXReceiver响应的TIPS_NOTIFICATION_CLICK
          PAUSE_DOWN  :暂停下载,对应HelpXReceiver响应DOWNLOAD_NOTIFICATION_CLICK
         DEL_DOWN:取消下载,对应HelpXReceiver响应的REMOVE_NOTIFICATION

使用手机毒霸,避免广告干扰,找回干净整洁的手机环境!!!
个人看法
发表于 2013-8-22 17:03:59 | 显示全部楼层
本帖最后由 个人看法 于 2013-8-22 17:14 编辑

到正规的应用市场去下载想要的应用就好,装了毒霸又多了一个常驻监控进程浪费的资源得不偿失啊



















个性签名:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
cslgpl
发表于 2013-8-22 17:34:32 | 显示全部楼层
个人看法 发表于 2013-8-22 17:03
到正规的应用市场去下载想要的应用就好,装了毒霸又多了一个常驻监控进程浪费的资源得不偿失啊

有的时候正规的也有很多同名的APP 而且有人要破解版之类的
反正我觉得手机毒霸的去广告功能还是挺不错的
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-18 06:59 , Processed in 0.125792 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表