安卓逆向系列教程 4.6 去广告

4.6 去广告

作者:飞龙

软件在这里下载:http://www.yxdown.com/shouji/376800.html

我们要去掉的是主界面上的广告:

把它拖进 Android Killer,这个项目的包是com.cnnzzse.kxxye,通过查询配置文件可得知,主界面是hellot

我们在这个类中搜索ad

.field private adView:Lcom/baidu/mobads/AdView;

# ...

.field private interAd:Lcom/baidu/mobads/InterstitialAd;

.field private isInitAd:Z

# ...

.field private showAd:Z

# ...

.method public showAdView()V

# ...

.method public showInterView()V

# ...

可以看到一共有两个广告,adViewinterAd,我们再来看showAdViewshowInterView的方法:

# showAdView
.line 283
iget-boolean v1, p0, Lcom/cnnzzse/kxxye/hellot;->showAd:Z

if-nez v1, :cond_1

.line 300
:cond_0
:goto_0
return-void

# showInterView
.line 302
iget-boolean v0, p0, Lcom/cnnzzse/kxxye/hellot;->showAd:Z

if-nez v0, :cond_0

.line 346
:goto_0
return-void

它们都通过showAd这个字段来判断是否要显示广告。

我们可以想办法把这个字段给赋成false。搜索Lcom/cnnzzse/kxxye/hellot;->showAd:Z

发现对其写入的一共两处。第一处是构造器<init>中。

.prologue
const/4 v1, 0x1

# ...

.line 74
const/4 v0, 0x0

# ...

.line 75
iput-boolean v1, p0, Lcom/cnnzzse/kxxye/hellot;->showAd:Z

这里我们把v1改成v0

第二处是静态方法access$0,这个方法专门用于设置showAd

.method static synthetic access$0(Lcom/cnnzzse/kxxye/hellot;Z)V
    .locals 0

    .prologue
    .line 75
    iput-boolean p1, p0, Lcom/cnnzzse/kxxye/hellot;->showAd:Z

    return-void
.end method

我们加上一句const/4 p1, 0x0

完事。

posted @ 2017-04-03 10:44  绝不原创的飞龙  阅读(23)  评论(0编辑  收藏  举报  来源