吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 38054|回复: 192
收起左侧

[Android 原创] 麻××视TV1.3.2版优化过程

    [复制链接]
1595901624 发表于 2019-2-28 17:43
这篇文章很枯燥,但是这篇文章能证明我是原创,全文没有配图,我也不会去解释为什么,希望大家理解。

Android版已经加壳了,TV版可能也撑不了几个版本了,大家且用且珍惜。
另外TV版没有毒瘤,没有VIP破解,只能是优化,并不存在去毒瘤,缓存更快,VIP破解啥的,这些都是噱头!

1、去除限制设备运行
修改类名:com.mh.tv.main.mvp.ui.activity.SplashActivity
修改过程: 将SplashActivity中onCreate方法中的判断设备类型删除,只保留以下几行代码。
换句话说,就是在onCreate 中 f()方法之前的代码全部删除即可。
f方法是混淆后方法名,每次混淆后可能名称会有所变化,大家修改的时候斟酌下。
[Asm] 纯文本查看 复制代码
    .line 70
    invoke-direct {p0}, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity;->f()V

    .line 71
    invoke-direct {p0}, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity;->j()V

    .line 72
    invoke-direct {p0}, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity;->k()V

    .line 73
    invoke-direct {p0}, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity;->g()V


2、去除欢迎页5s倒计时
这里的k()方法就是原方法initTimer(),搜索关键词:0x1388,将0x1388 改成0x0
0x1388 是十六进制 5000,也就是5s
修改类名:com.mh.tv.main.mvp.ui.activity.SplashActivity
修改过程:在k()中,注释掉:将5000ms改为0ms
Smali修改为如下所示:
[Asm] 纯文本查看 复制代码
.line 147
    new-instance v6, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity$2;

    #const-wide/16 v2, 0x1388
    const-wide/16 v2, 0x0

    const-wide/16 v4, 0x64

    move-object v0, v6

    move-object v1, p0

    invoke-direct/range {v0 .. v5}, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity$2;-><init>(Lcom/mh/tv/main/mvp/ui/activity/SplashActivity;JJ)V

    iput-object v6, p0, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity;->h:Landroid/os/CountDownTimer;


3、去除欢迎页的“倒计时”文本框
但是右上角还有一个倒计时的文本框,有强迫症的可以去掉。
搜索管检测词tvCountdown 下面有行代码
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V
直接把v1改成v2,改完如下:
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V
[Asm] 纯文本查看 复制代码
修改类名:com.mh.tv.main.mvp.ui.activity.SplashActivity
修改过程:在对应m()函数中包含showAdView(),将 this.tvCountdown.setVisibility(0);改为 this.tvCountdown.setVisibility(4);//335行
Smali修改为如下所示:
    .line 276
    iget-object v0, p0, Lcom/mh/tv/main/mvp/ui/activity/SplashActivity;->tvCountdown:Landroid/widget/TextView;

    #invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V
    invoke-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)V


4、去除升级
去除升级有俩地方,一个是主界面提示升级,二是设置界面提示升级
(1)主界面:
修改类名:com.mh.tv.main.mvp.ui.activity.MainActivity
修改过程:在a(boolean z, String str, String str2)中,将 其中的代码删除或者注释;
方法解释:这个a方法的原方法名是forcedUpgradeApp(boolean z, String str, String str2)
(2)设置界面
修改类名: com.mh.tv.main.mvp.presenter.SettingPresenter
修改过程:注释或者删除SettingPresenter$1中的a()中的内容

5、设置默认不缓存视频
电视内存本来就很小,我就将他关了
修改类名:MhApplicaiton中的初始化方法
找到c()方法,其实就是在return-void前,对Sharedpreference中的"local_cache"做一个初始化,这个需要添加代码
修改如下:
[Asm] 纯文本查看 复制代码
method private c()V
    .registers 3

    const-string v0, "clarity_id"

    .line 64
    invoke-static {p0, v0}, Lcom/jess/arms/c/c;->c(Landroid/content/Context;Ljava/lang/String;)I

    move-result v0

    const/4 v1, -0x1

    if-ne v0, v1, :cond_f

    const/4 v0, 0x2

    const-string v1, "clarity_id"

    .line 67
    invoke-static {p0, v1, v0}, Lcom/jess/arms/c/c;->a(Landroid/content/Context;Ljava/lang/String;I)V

    :cond_f
    # return-void 
    ##以下是添加的代码
    const-string v0, "local_cache"

    .line 64
    invoke-static {p0, v0}, Lcom/jess/arms/c/c;->c(Landroid/content/Context;Ljava/lang/String;)I

    move-result v0

    const/4 v1, -0x1

    if-ne v0, v1, :cond_z

    const/4 v0, 0x1

    const-string v1, "local_cache"

    .line 67
    invoke-static {p0, v1, v0}, Lcom/jess/arms/c/c;->a(Landroid/content/Context;Ljava/lang/String;I)V

    :cond_z
    return-void

.end method


6、去启动页面的广告
上面已经写了如何跳过5s倒计时,但是开屏依然有广告
修改类名:com.mh.tv.main.mvp.ui.activity.SplashActivity
修改过程:只保留a(long j, List<AdsResponse> list)方法中最后一行代码
关键词搜索Glide,launch_screen

7.调换“立即退出”和“再看一会”按钮
修改类名:  com.mh.tv.main.widget.dialog.d
修改过程:
I.调换a()中的文字
关键词搜索\u518d\u770b\u4e00\u4f1a 和 \u7acb\u5373\u9000\u51fa
修改Smali代码如下:
[Asm] 纯文本查看 复制代码
.line 41
    iget-object v0, p0, Lcom/mh/tv/main/widget/dialog/d;->a:Lcom/mh/tv/main/widget/view/UpdateBtnView;

    const-string v1, "\u7acb\u5373\u9000\u51fa"

    invoke-virtual {v0, v1}, Lcom/mh/tv/main/widget/view/UpdateBtnView;->setText(Ljava/lang/String;)V

    .line 42
    iget-object v0, p0, Lcom/mh/tv/main/widget/dialog/d;->b:Lcom/mh/tv/main/widget/view/UpdateBtnView;

    const-string v1, "\u518d\u770b\u4e00\u4f1a"

    invoke-virtual {v0, v1}, Lcom/mh/tv/main/widget/view/UpdateBtnView;->setText(Ljava/lang/String;)V

互换文字即可
II.调换b()的监听,将变量a和变量b的监听进行调换
原文:   
iget-object v0, p0, Lcom/mh/tv/main/widget/dialog/d;->a:Lcom/mh/tv/main/widget/view/UpdateBtnView;

iget-object v0, p0, Lcom/mh/tv/main/widget/dialog/d;->b:Lcom/mh/tv/main/widget/view/UpdateBtnView;
将上面两句的a,b进行调换即可
Smali修后改如下:
[Asm] 纯文本查看 复制代码
method private b()V
    .registers 3

    .line 47
    iget-object v0, p0, Lcom/mh/tv/main/widget/dialog/d;->b:Lcom/mh/tv/main/widget/view/UpdateBtnView;

    new-instance v1, Lcom/mh/tv/main/widget/dialog/-$$Lambda$d$rBICJ9q2m1uBY9KH03RTyr-TZvo;

    invoke-direct {v1, p0}, Lcom/mh/tv/main/widget/dialog/-$$Lambda$d$rBICJ9q2m1uBY9KH03RTyr-TZvo;-><init>(Lcom/mh/tv/main/widget/dialog/d;)V

    invoke-virtual {v0, v1}, Lcom/mh/tv/main/widget/view/UpdateBtnView;->setOnclickListener1(Landroid/view/View$OnClickListener;)V

    .line 50
    iget-object v0, p0, Lcom/mh/tv/main/widget/dialog/d;->a:Lcom/mh/tv/main/widget/view/UpdateBtnView;

    new-instance v1, Lcom/mh/tv/main/widget/dialog/-$$Lambda$d$v3zjWI5Ks7abPDhxajZIRUo83kQ;

    invoke-direct {v1, p0}, Lcom/mh/tv/main/widget/dialog/-$$Lambda$d$v3zjWI5Ks7abPDhxajZIRUo83kQ;-><init>(Lcom/mh/tv/main/widget/dialog/d;)V

    invoke-virtual {v0, v1}, Lcom/mh/tv/main/widget/view/UpdateBtnView;->setOnclickListener1(Landroid/view/View$OnClickListener;)V

    return-void
.end method

7、去除未登录点击全屏放大
ok键不能放大也是修改这个类
修改类名:com.mh.tv.main.mvp.ui.selector.f.t
关键字login_tips,总共会有三处,只修改两处,第三处是有关收藏的(PS:改了不登录也不能使用收藏)
另外两处一个是点击全屏放大的,另一个是关联ok键
这里就是修改if语句,修改方法很多,以下指示其中一种
I. 全屏按钮:修改这个文件com.mh.tv.main.mvp.ui.selector.f.t$11
将跳转失效即可,
下面是修改之后的代码
[Asm] 纯文本查看 复制代码
.method public onClick(Landroid/view/View;)V
    .registers 4

    # .line 243
    # iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t$11;->a:Lcom/mh/tv/main/mvp/ui/selector/f/t;

    # invoke-static {p1}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->a(Lcom/mh/tv/main/mvp/ui/selector/f/t;)Landroid/content/Context;

    # move-result-object p1

    # invoke-static {p1}, Lcom/mh/tv/main/mvp/a;->a(Landroid/content/Context;)Z

    # move-result p1

    # if-eqz p1, :cond_1a

    .line 244
    iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t$11;->a:Lcom/mh/tv/main/mvp/ui/selector/f/t;

    invoke-virtual {p1}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->t()Z

    move-result p1

    if-nez p1, :cond_3c

    .line 245
    iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t$11;->a:Lcom/mh/tv/main/mvp/ui/selector/f/t;

    invoke-virtual {p1}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->f()V

    #goto :goto_3c

    # .line 247
    # :cond_1a
    # iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t$11;->a:Lcom/mh/tv/main/mvp/ui/selector/f/t;

    # invoke-static {p1}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->a(Lcom/mh/tv/main/mvp/ui/selector/f/t;)Landroid/content/Context;

    # move-result-object p1

    # iget-object v0, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t$11;->a:Lcom/mh/tv/main/mvp/ui/selector/f/t;

    # invoke-static {v0}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->a(Lcom/mh/tv/main/mvp/ui/selector/f/t;)Landroid/content/Context;

    # move-result-object v0

    # invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    # move-result-object v0

    # sget v1, Lcom/mh/tv/main/R$string;->login_tips:I

    # invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;

    # move-result-object v0

    # invoke-static {p1, v0}, Lcom/mh/tv/main/utility/u;->a(Landroid/content/Context;Ljava/lang/String;)V

    # .line 248
    # iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t$11;->a:Lcom/mh/tv/main/mvp/ui/selector/f/t;

    # invoke-static {p1}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->a(Lcom/mh/tv/main/mvp/ui/selector/f/t;)Landroid/content/Context;

    # move-result-object p1

    # invoke-static {p1}, Lcom/mh/tv/main/utility/t;->a(Landroid/content/Context;)V

    :cond_3c
    #:goto_3c
    return-void
.end method

II. 修改这个文件com.mh.tv.main.mvp.ui.selector.f.t
修改过程也是将判断截断
改完的代码如下:
[Asm] 纯文本查看 复制代码
.method private synthetic d(Landroid/view/View;)V
    .registers 4

    # .line 222
    # iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->c:Landroid/content/Context;

    # invoke-static {p1}, Lcom/mh/tv/main/mvp/a;->a(Landroid/content/Context;)Z

    # move-result p1

    # if-eqz p1, :cond_12

    .line 223
    invoke-virtual {p0}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->t()Z

    move-result p1

    if-nez p1, :cond_28

    .line 224
    invoke-virtual {p0}, Lcom/mh/tv/main/mvp/ui/selector/f/t;->f()V

    goto :goto_28

    # .line 226
    # :cond_12
    # iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->c:Landroid/content/Context;

    # iget-object v0, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->c:Landroid/content/Context;

    # invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    # move-result-object v0

    # sget v1, Lcom/mh/tv/main/R$string;->login_tips:I

    # invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;

    # move-result-object v0

    # invoke-static {p1, v0}, Lcom/mh/tv/main/utility/u;->a(Landroid/content/Context;Ljava/lang/String;)V

    # .line 227
    # iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->c:Landroid/content/Context;

    # invoke-static {p1}, Lcom/mh/tv/main/utility/t;->a(Landroid/content/Context;)V

    :cond_28
    :goto_28
    return-void
.end method

8、修复未登录只能看10分钟,
修改类名:com.mh.tv.main.mvp.ui.selecor.f.t
关键字free,clarity_id
这里也是使用if判断是否登录,去除即可
修改a(Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;)方法
修改完的代码如下:
[Asm] 纯文本查看 复制代码
method public a(Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;)V
    .registers 6

    .line 805
    iput-object p1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->aa:Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;

    .line 807
    iget-object v0, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->c:Landroid/content/Context;

    iget-object v1, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->W:Lcom/mh/tv/main/mvp/ui/bean/VideoBean;

    invoke-virtual {v1}, Lcom/mh/tv/main/mvp/ui/bean/VideoBean;->getId()I

    move-result v1

    invoke-static {v0, v1}, Lcom/mh/tv/main/mvp/a;->a(Landroid/content/Context;I)V

    .line 809
    invoke-virtual {p1}, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;->getM3u8Format()Lcom/mh/tv/main/mvp/ui/bean/M3u8FormatBean;

    move-result-object v0

    .line 810
    invoke-virtual {p1}, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;->clone()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;

    # 不判断登录
    # .line 812
    # iget-object v2, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->c:Landroid/content/Context;

    # invoke-static {v2}, Lcom/mh/tv/main/mvp/a;->a(Landroid/content/Context;)Z

    # move-result v2

    # if-eqz v2, :cond_36

    .line 814
    iget-object v2, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->c:Landroid/content/Context;

    const-string v3, "clarity_id"

    invoke-static {v2, v3}, Lcom/jess/arms/c/c;->c(Landroid/content/Context;Ljava/lang/String;)I

    move-result v2

    .line 815
    invoke-virtual {v0, v2}, Lcom/mh/tv/main/mvp/ui/bean/M3u8FormatBean;->getPlayUrl(I)Ljava/lang/String;

    move-result-object v0

    .line 816
    invoke-virtual {v1, v0}, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;->setDefault_url(Ljava/lang/String;)V

    .line 818
    invoke-static {v2}, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;->getClarityNum(I)Ljava/lang/String;

    move-result-object v0

    .line 819
    invoke-virtual {v1, v0}, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;->setDefault_suffix(Ljava/lang/String;)V

    goto :goto_42

    # .line 821
    # :cond_36
    # invoke-virtual {v0}, Lcom/mh/tv/main/mvp/ui/bean/M3u8FormatBean;->getFree()Ljava/lang/String;

    # move-result-object v0

    # const-string v2, "free"

    # .line 824
    # invoke-virtual {v1, v0}, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;->setDefault_url(Ljava/lang/String;)V

    # .line 825
    # invoke-virtual {v1, v2}, Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;->setDefault_suffix(Ljava/lang/String;)V

    .line 828
    :goto_42
    iget-object v0, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->w:Lcom/mh/tv/main/widget/media/IjkVideoView;

    invoke-virtual {v0, v1}, Lcom/mh/tv/main/widget/media/IjkVideoView;->a(Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;)V

    .line 829
    iget-object v0, p0, Lcom/mh/tv/main/mvp/ui/selector/f/t;->L:Lcom/mh/tv/main/widget/media/MediaClarityView;

    invoke-virtual {v0, p1}, Lcom/mh/tv/main/widget/media/MediaClarityView;->setClarity(Lcom/mh/tv/main/mvp/ui/bean/ClarityBean;)V

    return-void
.end method


9、重置UUID,这里需要注入文件,如果软件在盒子上正常运行,下面可以不改,
如果提示,账号被屏蔽,请看下面的内容。
(1)首先去修改UUID生成的方法,
方法解释:方法里有两种方法,一种是获取deviceID
另一种是如果deviceID获取出现问题,则使用JAVA生成UUID,但是每次生成的都是不一样的
做法是生成后,存起来。
修改方法,跳过(注释掉)第一种方法,直接按照第二种方法生成ID
修改类: com.mh.tv.main.utility.b中的a(Context context) 方法
关键字:mhuuid
Smali代码如下:
[Asm] 纯文本查看 复制代码
.method public static a(Landroid/content/Context;)Ljava/lang/String;
    .registers 4
    .annotation build Landroid/annotation/SuppressLint;
        value = {
            "MissingPermission"
        }
    .end annotation

    # .line 253
    # invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    # move-result-object v0

    # const-string v1, "android_id"

    # invoke-static {v0, v1}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;

    # move-result-object v0

    # if-eqz v0, :cond_19

    # .line 255
    # invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    # move-result-object v0

    # const-string v1, "9774d56d682e549c"

    # .line 256
    # invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    # move-result v1

    # if-eqz v1, :cond_19

    # const/4 v0, 0x0

    # :cond_19
    # if-eqz v0, :cond_21

    # .line 285
    # invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z

    # move-result v1

    # if-eqz v1, :cond_50

    .line 286
    :cond_21
    sget-object v0, Lcom/mh/tv/main/utility/q;->r:Ljava/lang/String;

    const/4 v1, 0x0

    invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object p0

    const-string v0, "mhuuid"

    const-string v1, ""

    .line 287
    invoke-interface {p0, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, ""

    if-ne v0, v1, :cond_50

    .line 289
    invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;

    move-result-object v0

    invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "-"

    const-string v2, ""

    .line 290
    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object v0

    .line 291
    invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;

    move-result-object p0

    const-string v1, "mhuuid"

    .line 292
    invoke-interface {p0, v1, v0}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;

    .line 294
    invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->commit()Z

    :cond_50
    return-object v0
.end method


(2)将下面的代码保存为InjectUtil.smali,放在 com/example/ 文件夹下:
[Asm] 纯文本查看 复制代码
.class public Lcom/example/injectsmali/InjectUtil;
.super Ljava/lang/Object;
.source "InjectUtil.java"


# direct methods
.method public constructor <init>()V
    .registers 1

    .line 7
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static resetUuid(Landroid/content/Context;)V
    .registers 5
    .param p0, "context"    # Landroid/content/Context;

    .line 11
    const-string v0, "mhysName"

    const/4 v1, 0x0

    invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object v0

    .line 12
    .local v0, "sharedPreferences":Landroid/content/SharedPreferences;
    invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;

    move-result-object v1

    .line 13
    .local v1, "edit":Landroid/content/SharedPreferences$Editor;
    const-string v2, "mhuuid"

    const-string v3, ""

    invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;

    .line 14
    invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->commit()Z

    .line 16
    const-string v2, "\u91cd\u7f6e\u6210\u529f\uff0c\u8bf7\u52a1\u5fc5\u91cd\u542f\u8f6f\u4ef6\uff01"

    const/4 v3, 0x1

    invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v2

    invoke-virtual {v2}, Landroid/widget/Toast;->show()V

    .line 17
    return-void
.end method

.method public static toast(Landroid/content/Context;Ljava/lang/String;)V
    .registers 3
    .param p0, "context"    # Landroid/content/Context;
    .param p1, "str"    # Ljava/lang/String;

    .line 21
    const/4 v0, 0x1

    invoke-static {p0, p1, v0}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    .line 22
    return-void
.end method


然后在com.mh.tv.main.mvp.ui.activity.LoginActivity中
onViewClick方法中,在切换二维码监听的位置插入下面的代码
invoke-static {p0}, Lcom/example/injectsmali/InjectUtil;->resetUuid(Landroid/content/Context;)V
修改Smali代码如下:
[Asm] 纯文本查看 复制代码
method public onViewClicked(Landroid/view/View;)V
    .registers 4
    .annotation runtime Lbutterknife/OnClick;
        value = {
            0x7f0c0240,
            0x7f0c00bd
        }
    .end annotation

    .line 209
    invoke-virtual {p1}, Landroid/view/View;->getId()I

    move-result v0

    .line 210
    iget-object v1, p0, Lcom/mh/tv/main/mvp/ui/activity/LoginActivity;->f:Lcom/open/leanback23/widget/FocusHighlightHelper$BrowseItemFocusHighlight;

    invoke-virtual {v1, p1}, Lcom/open/leanback23/widget/FocusHighlightHelper$BrowseItemFocusHighlight;->onItemClicked(Landroid/view/View;)V

    .line 211
    sget p1, Lcom/mh/tv/main/R$id;->tv_jump:I

    if-ne v0, p1, :cond_14

    const/4 p1, 0x0

    .line 212
    invoke-virtual {p0, p1}, Lcom/mh/tv/main/mvp/ui/activity/LoginActivity;->a(Z)V

    .line 213
    iput p1, p0, Lcom/mh/tv/main/mvp/ui/activity/LoginActivity;->d:I

    goto :goto_2b

    .line 214
    :cond_14
    sget p1, Lcom/mh/tv/main/R$id;->fl_qr:I

    if-ne v0, p1, :cond_2b

    .line 216
    iget-object p1, p0, Lcom/mh/tv/main/mvp/ui/activity/LoginActivity;->ivLoadingView:Landroid/widget/ImageView;

    invoke-virtual {p1}, Landroid/widget/ImageView;->isShown()Z

    move-result p1

    if-nez p1, :cond_2b

    #
    invoke-static {p0}, Lcom/example/injectsmali/InjectUtil;->resetUuid(Landroid/content/Context;)V
    #

    .line 217
    iget p1, p0, Lcom/mh/tv/main/mvp/ui/activity/LoginActivity;->d:I

    if-nez p1, :cond_28

    .line 218
    invoke-virtual {p0}, Lcom/mh/tv/main/mvp/ui/activity/LoginActivity;->e()V

    goto :goto_2b

    .line 220
    :cond_28
    invoke-virtual {p0}, Lcom/mh/tv/main/mvp/ui/activity/LoginActivity;->h()V

    :cond_2b
    :goto_2b
    return-void
.end method

免费评分

参与人数 101吾爱币 +104 热心值 +94 收起 理由
可惜公主爱王子 + 1 + 1 我很赞同!
养鱼人 + 1 + 1 我很赞同!
茗阳游侠 + 1 + 1 热心回复!
JJ长脸上 + 1 鼓励转贴优秀软件安全工具和文档!
52pojie2 + 1 + 1 我很赞同!
zhuangdemon + 1 + 1 谢谢@Thanks!
花划画 + 1 + 1 我很赞同!
dyy165 + 1 + 1 我很赞同!
归叶 + 1 + 1 我很赞同!
微醺岁月 + 1 鼓励转贴优秀软件安全工具和文档!
losen1989 + 1 + 1 谢谢@Thanks!
叩叩叩哦 + 1 + 1 用心讨论,共获提升!
高高hackey + 1 + 1 用心讨论,共获提升!
发抖的小喵喵 + 1 + 1 谢谢@Thanks!
耳食之辈 + 1 谢谢@Thanks!
xiaomi9 + 1 + 1 谢谢@Thanks!
定律 + 1 + 1 谢谢@Thanks!
csclc + 1 + 1 谢谢@Thanks!
yellow948 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
huigul123 + 1 + 1 谢谢@Thanks!
qwertzhuce + 1 我很赞同!
caoye005 + 1 + 1 海信42寸完美安装,谢谢!
letraijin + 1 热心回复!
小小白撸 + 1 谢谢@Thanks!
335505 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
铁索横江 + 1 + 1 谢谢@Thanks!
zhangzhi95 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ToninG + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lucy + 1 + 1 谢谢@Thanks!
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
阿婆主的小号君 + 1 + 1 用心讨论,共获提升!
治愈期 + 1 + 1 谢谢@Thanks!
dcb + 1 我很赞同!
smith_k + 1 + 1 我很赞同!
timmy + 1 + 1 谢谢@Thanks!
cuihaosweet + 1 + 1 我很赞同!
tanlini + 1 + 1 对于我等没有修改能力又想用成品的人来说,实属遗憾呀。送上我的爱心。
bravozh + 1 + 1 谢谢楼主!
tyoodonvcd + 1 + 1 用心讨论,共获提升!
qhl2pj + 1 + 1 辛苦楼主了!
旧梦多故人 + 2 + 1 楼主加油
凌风取雪 + 1 鼓励转贴优秀软件安全工具和文档!
qiang1360 + 1 + 1 热心回复!
多幸运遇见baby + 1 + 1 用心讨论,共获提升!
解V释 + 1 + 1 我很赞同!
ioitt + 1 + 1 我很赞同!
yb400 + 1 + 1 我很赞同!
king82 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
吾爱阳仔 + 1 + 1 我很赞同!
lpdswing + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
不懂破解 + 2 + 1 支持下真的原创者
gknan + 1 + 1 我很赞同!
black-sky + 1 + 1 真心鼓励和支持原创的成果,不能抹杀原创作者的心血
途牛i + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
getbt + 1 + 1 我很赞同!
宅是一种境界 + 1 + 1 加油 我也用的你的TV版 就是播放完了还是10分钟提示
锡城样子 + 1 谢谢@Thanks!
杂鼠 + 1 + 1 我很赞同!
a279003350 + 1 + 1 用心讨论,共获提升!
柳万刀 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zhenbaowei + 1 + 1 虽然看不懂,但是不妨碍我支持楼主的心。楼主辛苦!
程鑫 + 1 + 1 支持原创作品
ZJF168 + 1 + 1 谢谢@Thanks!
free20baby + 1 + 1 用心讨论,共获提升!
adrianxxl + 1 + 1 谢谢@Thanks!
lijian57 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
rain05220 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
LQ吾爱 + 1 + 1 支持正版远程
BDUN + 1 + 1 谢谢@Thanks!
yunhui7816 + 1 + 1 用心讨论,共获提升!
会吐泡泡的鱼 + 1 + 1 看不懂,但是看着挺真实~~~~
、神通广大 + 1 我很赞同!
莫奇 + 1 + 1 谢谢@Thanks!
我是天秤座 + 1 + 1 谢谢@Thanks!
w13689226302 + 1 + 1 你的麻花已凉,一直在等你的包
ansine38 + 1 + 1 热心回复!
1feilong + 1 + 1 支持技术贴!!
x34178148 + 1 + 1 虽然看不懂,支持你。
selfswim + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gaven98 + 1 + 1 感谢大神!
pppsky + 1 + 1 这样被封的机率更高了
那年华 + 1 我很赞同!
zzrx + 1 热心回复!
lndd119 + 1 + 1 28号 以前下载的已经封号了
zc55100 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
醒否 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
koogg + 1 + 1 用的就是你的麻花,很好用
linchangchun + 1 + 1 我很赞同!
zhouyin55588 + 1 + 1 虽然没看到成型的安装版本,但还是支持作者,一直都是用的你的麻花
Vikiya丶TTT + 1 谢谢@Thanks!
dafs + 1 + 1 支持技术贴
snow_melody + 1 + 1 热心回复!
zslt1981 + 1 我很赞同!
jlzjf + 1 + 1 原创必须支持
Seven_2017 + 2 + 1 用心讨论,共获提升!
冷丶眸 + 1 + 1 用心讨论,共获提升!
如梦丶 + 1 + 1 我很赞同!
lys373113838 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
sqln0324 + 1 + 1 用心讨论,共获提升!
aismo + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

雨叶0 发表于 2019-2-28 17:56
j就是要鼓励和支持原创的成果,不能抹杀原创作者的心情劳动!要认可的同时,管管们,也要善待,删帖前,我个人觉得应该提醒或者信息给作者,告知删帖的原委,而不能武断的做出删帖的举动!!!

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
1595901624 + 3 + 1 热心回复!

查看全部评分

fistyle 发表于 2019-3-1 10:12
159大神第一次发TV版的时候就一直关注并收听了
全网最先发布的源头确实是在吾爱,很多地方都是转的这里。
希望版主再删帖(版权争议的时候)能先跟发帖人沟通下,给发帖人一次证明自己的机会。
麻花现在是没落了,希望159大大转战研究研究其他软件吧。麻花挂了之后,现在改用完美影视大全了。其他还有其他更多更好的软件能入159大神的眼里,被修改成更好用的软件。

免费评分

参与人数 1吾爱币 +1 收起 理由
1595901624 + 1 热心回复!

查看全部评分

几分从前 发表于 2019-2-28 17:48
aismo 发表于 2019-2-28 17:49
支持楼主,辛苦写了这儿么长的教程。如果有编译好的APK就更好了~
 楼主| 1595901624 发表于 2019-2-28 17:50
aismo 发表于 2019-2-28 17:49
支持楼主,辛苦写了这儿么长的教程。如果有编译好的APK就更好了~

优化后的apk那篇帖子被删了
aismo 发表于 2019-2-28 17:52
1595901624 发表于 2019-2-28 17:50
优化后的apk那篇帖子被删了

坐等恢复~~
sqln0324 发表于 2019-2-28 17:54
有了这个教程,以后可以自己动手了!!
wo极地阳光 发表于 2019-2-28 17:54 来自手机
虽然我看不懂,但真心支持原创。
丿终结者 发表于 2019-2-28 17:55
厉害膜拜
bango 发表于 2019-2-28 17:58
东西不错,可惜没有后退键,进去了只能不断的看下去,就没有退回到主页的功能。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-26 07:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表