美文网首页JS破解&&Android逆向
xposed 破解某短视频app(02)

xposed 破解某短视频app(02)

作者: 蓝师傅_Android | 来源:发表于2019-05-10 00:05 被阅读213次

今天继续来破解番茄的其它模块

如果本文没看懂请先看上一篇
xposed 破解某短视频app(01)

上次破解了短视频模块播放次数限制之后,发现播放经常弹出 参数错误 的toast,然后看到”我的“界面的次数没有被hook

image.png

说明上一次没有hook彻底,如果应用中其它地方用了这里的 0/30 做判断,那么有可能还会被限制,所以这篇文章就开始了,请继续看:

image.png

首先,打开 MineTabFragment 这个类,这个上一章已经分析过了,”我的“ 那个tab对应 MineTabFragment,然后寻寻觅觅,起初没找到免费观看次数是哪个textview,然后翻到最上面,发现导包的地方有个 import com.one.tomato.utils.VideoPlayCountUtils;,顾名思义,就是获取播放次数的类,然后就发现了上图这个调用的地方

            if (VideoPlayCountUtils.a().b() != -2) {
                z = false;
            }
            a(z, VideoPlayCountUtils.a().b(), VideoPlayCountUtils.a().c());

看下 VideoPlayCountUtils.a()

image.png

VideoPlayCountUtils 是一个单例,所以我们直接看 b 方法


image.png

和c 方法

image.png

看到 video_play_count 没,都是跟播放次数有关,盘它就对了

    private static void hookVideoCountUtil(XC_LoadPackage.LoadPackageParam param, ClassLoader loader){
        hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "b", new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.b --- " + param.getResult());

            }
        });

        hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "c", new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.c --- " + param.getResult());

            }
        });
    }

先打印两个值看看,

build and install 重启xx社区,看log

image.png
28/30,对应就是剩余播放次数总的可以播放次数

上面的原图是29,因为中间手抖播放了一次,所以剩下28,没毛病。。

改返回值啦,很简单了,最终代码如下


    private static void hookVideoCountUtil(XC_LoadPackage.LoadPackageParam param, ClassLoader loader){
        //剩余播放次数
        hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "b", new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.b --- " + param.getResult());
                param.setResult(1000);
            }
        });

        //总的可以播放次数
        hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "c", new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.c --- " + param.getResult());
                param.setResult(1000);

            }
        });
    }

重新打开xx社区

image.png

可播放了总次数都是1000,怎么播都不变了

好了,本次xposed 分享算是非常简单了,大家学会了没,源码已同步到github,相关资源可以从github找到

源码学习:点这里
分享不易,随手start

xposed模块交流群:

声明:本文内容只供参考学习,不能用于商业用途。
有问题可以到群里一起交流学习,大家一起进步。

相关文章

  • xposed 破解某短视频app(02)

    今天继续来破解番茄的其它模块 如果本文没看懂请先看上一篇xposed 破解某短视频app(01) 上次破解了短视频...

  • xposed 破解某短视频app(01)

    本文为纯技术分享,文章内容不涉黄,适合对xposed有兴趣的读者, 如果对xposed不感兴趣,请点击左上角返回按...

  • Xpatch(免Root 实现App加载Xposed插件)源码解

    前言 Xpatch是一款免Root实现App加载Xposed插件的工具,可以非常方便地实现App的逆向破解(再也不...

  • Xposed从零开始(一)

    Xposed从零开始(一) 1.接触Xposed框架 最近为大屏设备开发一个App,需要展示一些音乐,视频的等信息...

  • Xposed框架入门

    目录 Xposed框架是什么 如何安装Xposed 为测试Xposed功能编写一个测试app 编写Xposed插件...

  • 无root简单实现QQ防撤回(太极阴+QQHelper)

    太极APP的原理简单说是“破解”正常应用,使之可以被Xposed模块劫持,这样就可以实现在没有root权限和xpo...

  • 破解某app主题皮肤

    前言 今天在使用一款视频app时,弹出一个对话框提示主题皮肤已经到期,想重新选一个主题时发现不是免费的。想到近来无...

  • 破解某小说App(一)

    背景 想实现一个支持多渠道的小说App,因此对该小说App进行分析获取它的接口调用方式该App详情页截图: 抓包 ...

  • [Mac学习]之腾讯视频MAC破解版

    逛某坛子的时候,发现有个资源名叫做 腾讯视频MAC破解版,破解了什么了,破解了腾讯视频的广告,并且支持vip资源直...

  • Xposed应用的开发

    一. xposed原理 Xposed的底层原理是通过替换/system/bin/app_precesss 程序控制...

网友评论

    本文标题:xposed 破解某短视频app(02)

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