|
|
本帖最后由 灵儿妹妹 于 2024-7-30 13:32 编辑
看到论坛里有提到这款播放器很好用,并且没有相关的教程我就发一个吧。
乖宝宝们,准备好小板凳排排坐,乖乖坐好,不要调皮捣蛋,小葵花妈妈课堂开课了哦~
首先准备好飞沙App,百度一下就能下载,还有准备好MT管理器。
教程开始啦!~
我先拿v1.0.105旧版本举例。
运行后弹出升级提示框:
在这里看到升级按钮的字符串是:点我升级
第一步:
反编译所有DEX文件,搜索字符串:点我升级
搜索出1个结果
点击进行编辑看到一段很明显的获取版本号的代码:
Lapi/app/Upgrade$UpgradeInfo;->getVersionName()Ljava/lang/String;
跳转进入看看里面的内容。
很明显全是关于检测更新的方法名,定位一下这个类,大致看一下。
基本上已经可以确定api/app/Upgrade相关的全是检测更新的内容,接下来搜索这段代码:api/app/Upgrade
将api.app列表缩回
看除了api.app之外的类,发现了启动类,进入看看。至于为什么只看启动类,因为更新提示是在启动画面弹出的,而不是进入主界面后弹出的。
看不懂smali代码的转成爪哇代码看一下。
- //
- // Decompiled by Jadx - 894ms
- //
- package com.vaci.starryskylive.ui.act;
- import api.app.Upgrade;
- import c.f.a.o.c;
- import c.h.b.g.a.e;
- import c.h.b.g.c.f;
- import com.starry.base.SSBaseActivity;
- public class SSSplashActivity extends SSBaseActivity {
- private void N(Upgrade.UpgradeInfo upgradeInfo) {
- if (upgradeInfo != null && upgradeInfo.getVersionCode() > c.f()) {
- f fVar = new f(upgradeInfo);
- fVar.p(new e(this));
- fVar.q(getSupportFragmentManager());
- return;
- }
- E();
- }
- }
复制代码
是不是很明显?
在这个类中有一个方法 N,它接收一个Upgrade.UpgradeInfo类型的参数 upgradeInfo。方法内部首先判断如果 upgradeInfo不为空且其getVersionCode方法返回的值大于c.f()的值,就创建一个f类型的对象fVar,并对其进行一些操作,包括设置回调和在getSupportFragmentManager上执行某些操作。如果条件不满足,则调用E方法。
大白话的意思就是:
判断服务器版本号比当前版本号大则进行提示更新。关键代码就是f方法,跳转清空方法即可。
我仅修改提供思路,并不保证绝对有效。只是希望你们能够通过这个思路举一反三应用到其他软件。
以上方法仅去除更新弹窗,如果还会自动下载就用第二种方法,搜索字符串:/v1/app_upgrade
替换为空或任意字符串即可。
新版本同理,类名和方法名并没有发生改变,也是搜索api/app/Upgrade然后改启动类里的某个方法代码的f方法,举一反三,自己摸索吧。
去除广告搜索字符串:
/api/market/v1/ads
/api/app/v1/startad
替换为空或任意字符串即可。
【去除会员限制】
以新版本v1.0.139举例:
搜索字符串:试看中
看到上面有个()Z方法代码,跳转进去。
看不懂smali代码的可以看一下方法流程图,每个代码的走向会很清晰的展现出来,方便理解。
或转成爪哇查看
然后会看到很多()Z方法
将g()Z方法赋值1或全部赋值为1即可。
或搜索字符串:已登录会员
搜索出一个结果,点进去编辑。
看到字符串上面的判断有个t()Z方法,跳转进去赋值1即可。
修改之后频道列表会有“奥运会”、“会员中心”两个板块,我们可以通过修改布局去掉。
搜索字符串:会员中心
搜索出一个结果
点进去编辑,按顶部指南针图标,
长按f方法,选择查找调用处。
查找到两个结果,点进去看看。
将f调用代码下面的add代码注释删除掉。
这样会员中心板块就没有了,接下来还有个奥运会板块用相同的方法去掉即可。
免责声明:
本教程仅供反编译调试与技术交流之目的,严禁将其用于任何商业用途。任何人在使用本教程所提供的信息和技术时,必须承担由此产生的一切法律后果。未经教程作者的明确许可,任何人不得以任何形式复制、传播、修改或利用本教程的内容。如有侵权行为,请立即与我取得联系,我将收到通知后积极配合贵公司下架相关内容。
本免责声明的目的是确保本教程仅用于非商业目的,并保护飞沙App公司的合法权益。使用本教程的任何人都应该自行承担风险,并且在使用过程中遵守适用的法律法规。对于因使用本教程而导致的任何损失或法律纠纷,本教程的作者概不负责。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
-
查看全部评分
总评分:好评 +4
金币 +4
|