美文网首页XposedAndroid开发
Xposed研究--网易云阅读去开机广告

Xposed研究--网易云阅读去开机广告

作者: 魔术师的低语 | 来源:发表于2017-10-11 21:06 被阅读84次

    本人语文很差,语言组织能力不好,想到哪里写到哪里吧...

    最近在用网易云阅读看小说,发现每次打开都有广告,烦人,去之!!

    准备工具:

    1.安装了xposed的手机(废话!)

    2.网易云阅读app(我用的5.4.1.87版本)

    3.jadx(反编译用)

    4.AndroidStudio(编写xposed插件)

    开始:

    首先研究下app的广告规律,打开app,先是闪屏页,然后进入主页(或广告页-主页),那么进入广告页的逻辑在闪屏页内.

    打开app,运行到主页,执行adb命令:adb shell dumpsys activity top  查看主页是MainGridActivity

    jadx打开app,打开manifest

    找到包名:com.netease.pris

    启动页是:com.netease.pris.activity.PRISActivityFlasScreen

    我们的目的就是从PRISActivityFlasScreen直接进入到MainGridActivity,跳过广告页

    打开PRISActivityFlasScreen

    有一个延时操作,应该是闪屏页待300毫秒,之后进行下个页面跳转,发现最后的else里像是我们的目标

    不着急,先看下这些判断里都做了什么

    PrisStartActivity.a(this.a, true, false);如下:

    跳转的是PrisStartActivity,不对

    再看MainGridActivity.b(this.a);如下:

    跳转到MainGridActivity,就是这个了

    好,目标明确,让c.r()和c.m(e)直接返回false,直接进入else就好了

    不慌,看看这两个方法是干啥的

    c.r()应该是判断是否首次登录,c.m(e)应该是判断是否最新版本,进行更新啥的...不管了,直接返回false

    xposed代码如下:

    好,xposed框架内,选中,重启,打开app,发现没用,还是有广告...[笑哭]

    仔细看看else里的MainGridActivity.b(this.a);吧

    发现它带了个参数进去need_start_cover,是否开启覆盖(难道是广告?),不让他带这个参数了试试,怎么做呢?

    一个方法是:拦截这个方法,自己构建一个intent去启动.

    再一个方法是...看看上面有个不带这个参数的a方法...那就拦截b方法,直接反射去执行a方法,代码如下:

    安装-重启-打开app,没有广告了,直接进入主页了...任务完成,美滋滋

    相关文章

      网友评论

        本文标题:Xposed研究--网易云阅读去开机广告

        本文链接:https://www.haomeiwen.com/subject/rodvyxtx.html