第二节 去掉RE管理器的广告
2016-01-26 16:58
232 查看
用到工具:
apktool
APKSign
最好有eng版本手机,用来抓取视图,会更快一些。
find -name "*.*" | xargs -n50 grep AdView
找到一堆,我们通过我们的activity可以锁定下是在哪个界面,这里我们只修改第一个界面RootExplorer.smali 这个
我们看到一句
invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
这个就是加入的地方,我们不去改这个,这个怕代码会出现空指针问题,因此我的修改方案是将这个隐藏掉。
这里我们看到一句:
invoke-virtual {v0, v1}, Lcom/google/android/gms/ads/AdView;->setAdListener(Lcom/google/android/gms/ads/AdListener;)V
发现上面语句为
iget-object v0, p0, Lcom/speedsoftware/rootexplorer/RootExplorer;->F:Lcom/google/android/gms/ads/AdView;
new-instance v1, Lcom/speedsoftware/rootexplorer/fn;
invoke-direct {v1, p0}, Lcom/speedsoftware/rootexplorer/fn;-><init>(Lcom/speedsoftware/rootexplorer/RootExplorer;)V
我们发现参数v1是fn类,因此我们找下这个类
fn.smail文件,搜索setVisibility
发现代码:
.method public final onAdLoaded()V
const/4 v1, 0 //修改为 const/16 v1, 0x8 即可 这里0为隐藏,8为显示,这个是在源码的view.java里面找到。
invoke-virtual {v0, v1}, Lcom/google/android/gms/ads/AdView;->setVisibility(I)V
.end method
到此我们简单的一个ad修改即可完成。
apktool
APKSign
最好有eng版本手机,用来抓取视图,会更快一些。
find -name "*.*" | xargs -n50 grep AdView
找到一堆,我们通过我们的activity可以锁定下是在哪个界面,这里我们只修改第一个界面RootExplorer.smali 这个
我们看到一句
invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
这个就是加入的地方,我们不去改这个,这个怕代码会出现空指针问题,因此我的修改方案是将这个隐藏掉。
这里我们看到一句:
invoke-virtual {v0, v1}, Lcom/google/android/gms/ads/AdView;->setAdListener(Lcom/google/android/gms/ads/AdListener;)V
发现上面语句为
iget-object v0, p0, Lcom/speedsoftware/rootexplorer/RootExplorer;->F:Lcom/google/android/gms/ads/AdView;
new-instance v1, Lcom/speedsoftware/rootexplorer/fn;
invoke-direct {v1, p0}, Lcom/speedsoftware/rootexplorer/fn;-><init>(Lcom/speedsoftware/rootexplorer/RootExplorer;)V
我们发现参数v1是fn类,因此我们找下这个类
fn.smail文件,搜索setVisibility
发现代码:
.method public final onAdLoaded()V
const/4 v1, 0 //修改为 const/16 v1, 0x8 即可 这里0为隐藏,8为显示,这个是在源码的view.java里面找到。
invoke-virtual {v0, v1}, Lcom/google/android/gms/ads/AdView;->setVisibility(I)V
.end method
到此我们简单的一个ad修改即可完成。
相关文章推荐
- navicat快捷键
- Java堆和栈的区别
- Java泛型总结
- oracle中sys用户和system用户的区别
- Linux 进程终止5种形式
- hdoj 1395 2^x mod n = 1 【暴力】
- 浮点数
- 元素隐藏
- java提高篇(十七)-----异常(二)
- Servlet的生命周期
- CSS一些不常用但是有用的属性
- 关于PHP 的strtotime("2016.01.26")不输出问题bug查找
- jQuery获取的checkbox的属性checked为undefined
- JAVA序列化的作用
- 现代浏览器内部
- 关于一次oracle sqlplus可登陆,但监听起不来的解决。由于listener.log文件超过4G
- C#实现多文件上传,写到文件夹中,获取文件信息以及下载文件和删除文件
- 可以避免oom
- 图像采集处理之Vivado设计
- hdu acm 3018 Ant Trip