最新消息:

揪出Android手机下乱弹广告的流氓(转)

android 大步 913浏览 0评论

Ps:个人还是认为去官方下载应用比较安心,网上很多第三方修改的,当然包括系统,不过如果你对这些比较了解的就无所谓了,毕竟可以手动清理,而且也有屏蔽广告的软件
原文链接:http://www.williamlong.info/archives/3134.html
前几天,我的android手机升级了几个软件,这两天手机突然莫名其妙的弹广告,并且根本不知道是哪个应用程序弹出来的。一般地弹广告也是运行某 个app,就算是后台弹出,也有地方标志着是这个app弹的广告。而这次这个app也太狠了,自己想赚钱也就算了,还不让用户知道是谁。就想到一定得把它 揪出来。 (之前以为是appchina应用汇,就卸载了,结果还弹……然后就是怀疑之前更新的豌豆荚,水果忍者……,不能老用排除法试了) 我能想到的解决方案就是看android运行的系统log日志了。

一种方法是连接电脑,用adb调试工具查看log,另一种方法是直接在android手机看log日志记录:alogcat

等手机再弹出广告时,打开alogcat,为了方便查找,清除下刚刚产生的log,然后去通知栏那里点点那个广告,再返回alogcat先暂停记录 log,然后慢慢看。TMD,是一个叫com.halfbriakin.utils..之类的activity再放广告,然后关键 字*fruitninjaseasons*,居然是水果忍者。

再想水果忍者的开发者应该不会无耻到这个地步吧?用这样的方式弹广告。就 想弄个究竟。查了下,我这个水果忍者是从豌豆荚下的,说的开发商是halfbriakin,而切水果这样的火,他应该不敢这么做吧,查了下,切水果的官网 是halfbrick.com。得看看halfbrick跟halfbriakin的关系。是否halfbriakin山寨了了halfbrick,在其 之上包装了一层。看样子好像是的,纯属个人猜测。

继续探个究竟。看源代码,希望试图从中找出其与广告相关的代码跟halfbriakin的关系。从官网下载的com.halfbrick.fruitninjafree进行对比。

android的apk文件反编译用到的工具:

android代码反编译工具:dex2jar;java源代码查看工具:jd-gui;android资源文件查看工具,(那些xml文件,打包成apk时被编码过一次,直接看有乱码看不清楚) apktool或者AXMLPrinter2

下面看看过程:

  1. 反编译得到源代码,直接将apk文件后缀改成rar,用winrar解压即可得到classes.dex,然后通过dex2jar工具就能得到java的源代码。
    2012年06月25日 - ksharp_dabu - ksharp_dabu的博客

     

  2. 然 后用jd-gui查看编译后的源代码。看样子好像确实是山寨的,不过可能因为二者版本不一致导致的?我想可能不大。下图左边为网上能下载到的开发商是 halfbriakin发布的软件,在什么豌豆荚啊应用汇啊等等能下到,其介绍敢说哦什么Android官方无广告版本正式发布,只能说在放P了。下图右 是我到google play下的,官网的免费版本。能看出来开发商是halfbriakin这个版本多了个上面那个包。
    2012年06月25日 - ksharp_dabu - ksharp_dabu的博客

     

  3. 怀疑类似一些请求广告的url写在资源xml文件中,因此得解码资源文件。android的xml资源文件解码有两种方法

AXMLPrinter2.如下图命令后,打开t.xml文件可以看到AdnroidManifest的内容。

2012年06月25日 - ksharp_dabu - ksharp_dabu的博客

 

 

  用apktool,如图。直接打开各个目录下的xml文件即可看到
2012年06月25日 - ksharp_dabu - ksharp_dabu的博客

 

结果找了下,好像什么请求广告的url之类没写在string.xml等文件里面。还是看源代码吧。

查了下,’山寨’版本(暂且这么叫吧)的切水果,除了官方版本的广告外(google ads,意大利的游戏广告企业beintoo,移动广告服务商admob和moblix),还有多余的那个包domob(国内的手机广告服务商多盟),找 了下没有找到相关的绑定的ID(也不深究了)。感到奇怪的是,水果忍者发布出来的源码里面出现了好多这种废弃的代码,不知道是程序员懒还是怎么着。自我感 觉发布的时候还是把废弃代码给删掉吧,能减轻体重呢。

2012年06月25日 - ksharp_dabu - ksharp_dabu的博客

 

另外看“山寨”的源码也有这种废弃的代码:

2012年06月25日 - ksharp_dabu - ksharp_dabu的博客

 

现在就不知道是到底是出自原来的程序员之手呢还是说山寨的过程中,copy了这些代码。

不管怎么说,如果这个开发商halfbriakin是来自官网也好,不是也罢,这个广告也弹得太恶心了。

来源:投稿,作者:中南大学软件学院08级学生:唐磊 ,作者blog

转载请注明:大步's Blog » 揪出Android手机下乱弹广告的流氓(转)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
SiteMap