惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
Y
Y Combinator Blog
V
V2EX
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
博客园 - 叶小钗
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
B
Blog
G
Google Developers Blog
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
N
Netflix TechBlog - Medium
腾讯CDC

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评
揪出Android手机下乱弹广告的流氓
投稿 · 2012-06-25 · via 月光博客

前几天,我的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的源代码。

    apk反编译dex2jar

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

    fruitninjafree广告

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

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

android反编译资源xml文件

用apktool,如图。直接打开各个目录下的xml文件即可看到

android资源文件反编译apktool

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

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

切水果程序员废弃代码

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

水果忍着恶心代码恶心广告

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

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

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

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