不提供成品,这里只有技术交流!
哔咔是什么软件不做介绍了,懂的人自然懂,不懂的也不要问了。出这教程的缘由是看见tg群和网上太多挂羊头卖狗肉的了,说是去广告实际上就是原版,为了流量说是去广告。
原程序有签名校验,用kstool一键干掉即可。哔咔的全屏广告极度影响观看,极少数有app这么设计广告的,下面教程开始。
起初我试着搜索广告链接,但是找不到,应该不是直接放dex里面,用了幸运修改器也弄不掉广告。猜想可能是云广告 断网时广告也跟着无法显示。
反编译apk以后代码搜索【/WebView;->loadUrl(Ljava/lang/String;)V】,这个是从字符串webView_ads搜索来的,看到展开的类,如图:
当前文件是ComicListRecyclerViewAdapter,从英文可以知道这个广告位于漫画列表。那么把它删掉即可。框内代码上面有个if-eqz v0, :cond_0,我们再看到cond_0,下面还有个跳转if-eqz v0, :cond_1,那么直接让他从:cond_1运行。但是不能直接从:cond_2,如果return-void会导致程序加载异常。所以从.line 185删到:cond_1。最终变成:
- .method public onBindViewHolder(Landroid/support/v7/widget/RecyclerView$ViewHolder;I)V
- .locals 1
- instance-of v0, p1, Lcom/picacomic/fregata/holders/ComicListViewHolder;
- if-eqz v0, :cond_2
- .line 198
- check-cast p1, Lcom/picacomic/fregata/holders/ComicListViewHolder;
- .line 200
- iget-object v0, p0, Lcom/picacomic/fregata/adapters/ComicListRecyclerViewAdapter;->ja:Ljava/util/ArrayList;
- if-eqz v0, :cond_2
- iget-object v0, p0, Lcom/picacomic/fregata/adapters/ComicListRecyclerViewAdapter;->ja:Ljava/util/ArrayList;
- invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
- move-result v0
- if-le v0, p2, :cond_2
- .line 202
- iget-object v0, p0, Lcom/picacomic/fregata/adapters/ComicListRecyclerViewAdapter;->ja:Ljava/util/ArrayList;
- invoke-virtual {v0, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
- move-result-object p2
- check-cast p2, Lcom/picacomic/fregata/objects/ComicListObject;
- iget-object v0, p0, Lcom/picacomic/fregata/adapters/ComicListRecyclerViewAdapter;->js:[Ljava/lang/String;
- invoke-virtual {p1, p2, v0}, Lcom/picacomic/fregata/holders/ComicListViewHolder;->a(Lcom/picacomic/fregata/objects/ComicListObject;[Ljava/lang/String;)V
- :cond_2
- return-void
- .end method
其余的文件也是这么改,不逐个分析了。
像这种没有跳转的直接void即可。
改完后安装测试,你会发现广告已经无法加载了。但是还有个问题,广告没了,但是却留下一大片的空白位置。这时候需要祭出神器UI Automator Viewer抓取布局文件。
饭后编辑……
声明:本站所有资源均由网友分享,如有侵权内容,请在文章下方留言,本站会立即处理。