|
|
发表于
2026-6-19 06:59:25
来自手机
|
显示全部楼层
| 阅读模式
来自 黑龙江
本帖最后由 未来之翼 于 2026-6-21 21:09 编辑
之前发过一个帖子
超级小火箭去广告+解锁高速流量
结果当天@秋枫Mod 大佬就发了这个

【教程】超级小火箭第二种方法
不行,必须出一期更加简单粗暴的教程 提示:本教程中所有代码均由豆包AI生成 一、前期准备
MT管理器
幸运破解器
官方版不让发,自行寻找
(Github搜rocketapp666)
二、教程开始
1.过签
使用MT管理器过签并安装,不用打开使用原包过签

2.去广告
打开幸运破解器,按照图示操作


此时因为有广告校验所以会卡在正在连接
3.去除广告校验
搜类名- MainActivity$startAdGatedConnect$1
复制代码 勾选完全匹配

找到invokeSuspend方法

整个方法替换为以下代码
- .method public final invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
- .registers 15
- invoke-static {}, Lcom/zj/adlib/fs0;->e()Ljava/lang/Object;
- move-result-object v0
- iget v1, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->label:I
- const/4 v2, 0x3
- const/4 v3, 0x2
- const/4 v4, 0x1
- const/4 v5, 0x0
- if-eqz v1, :cond_36
- if-eq v1, v4, :cond_2e
- if-eq v1, v3, :cond_25
- if-ne v1, v2, :cond_1d
- :try_start_12
- invoke-static {p1}, Lkotlin/b;->b(Ljava/lang/Object;)V
- :try_end_15
- .catch Ljava/util/concurrent/CancellationException; {:try_start_12 .. :try_end_15} :catch_1a
- .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_15} :catch_17
- goto/16 :goto_c3
- :catch_17
- move-exception p1
- goto/16 :goto_ce
- :catch_1a
- move-exception p1
- goto/16 :goto_d6
- :cond_1d
- new-instance p1, Ljava/lang/IllegalStateException;
- const-string v0, "call to \'resume\' before \'invoke\' with coroutine"
- invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
- throw p1
- :cond_25
- iget-object v1, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->L$0:Ljava/lang/Object;
- check-cast v1, Lkotlinx/coroutines/g;
- :try_start_29
- invoke-static {p1}, Lkotlin/b;->b(Ljava/lang/Object;)V
- :try_end_2c
- .catch Ljava/util/concurrent/CancellationException; {:try_start_29 .. :try_end_2c} :catch_1a
- .catch Ljava/lang/Exception; {:try_start_29 .. :try_end_2c} :catch_17
- goto/16 :goto_b8
- :cond_2e
- iget-object v1, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->L$0:Ljava/lang/Object;
- check-cast v1, Lkotlinx/coroutines/g;
- :try_start_32
- invoke-static {p1}, Lkotlin/b;->b(Ljava/lang/Object;)V
- :try_end_35
- .catch Ljava/util/concurrent/CancellationException; {:try_start_32 .. :try_end_35} :catch_1a
- .catch Ljava/lang/Exception; {:try_start_32 .. :try_end_35} :catch_17
- goto :goto_84
- :cond_36
- invoke-static {p1}, Lkotlin/b;->b(Ljava/lang/Object;)V
- iget-object p1, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->L$0:Ljava/lang/Object;
- move-object v6, p1
- check-cast v6, Lcom/zj/adlib/a70;
- :try_start_3e
- new-instance v9, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1$nodeJob$1;
- iget-object p1, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- invoke-direct {v9, p1, v5}, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1$nodeJob$1;-><init>(Lrocket/service/superv/ui/MainActivity;Lcom/zj/adlib/h60;)V
- const/4 v10, 0x3
- const/4 v11, 0x0
- const/4 v7, 0x0
- const/4 v8, 0x0
- invoke-static/range {v6 .. v11}, Lcom/zj/adlib/l00;->d(Lcom/zj/adlib/a70;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/g;
- move-result-object p1
- iget-object v6, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- invoke-static {v6, v5}, Lrocket/service/superv/ui/MainActivity;->I(Lrocket/service/superv/ui/MainActivity;Z)V
- move-object v1, p1
- goto :goto_b8
- sget-object v1, Lrocket/service/superv/ads/InterstitialAdManager;->d:Lrocket/service/superv/ads/InterstitialAdManager$a;
- invoke-virtual {v1}, Lrocket/service/superv/ads/InterstitialAdManager$a;->a()Lrocket/service/superv/ads/InterstitialAdManager;
- move-result-object v1
- iget-object v6, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- sget-object v7, Lrocket/service/superv/ads/AdComm$AdPosition;->INTERSTITIAL_MAIN:Lrocket/service/superv/ads/AdComm$AdPosition;
- invoke-virtual {v1, v6, v7}, Lrocket/service/superv/ads/InterstitialAdManager;->g(Landroid/app/Activity;Lrocket/service/superv/ads/AdComm$AdPosition;)V
- sget-object v1, Lrocket/service/superv/database/a;->f:Lrocket/service/superv/database/a;
- invoke-virtual {v1}, Lrocket/service/superv/database/a;->d0()Lrocket/service/superv/database/ConfigMetadata;
- move-result-object v1
- invoke-virtual {v1}, Lrocket/service/superv/database/ConfigMetadata;->getMaxAdWaitingSecond()J
- move-result-wide v6
- const/16 v1, 0x3e8
- int-to-long v8, v1
- mul-long/2addr v6, v8
- new-instance v1, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1$loaded$1;
- iget-object v8, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- invoke-direct {v1, v8, v5}, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1$loaded$1;-><init>(Lrocket/service/superv/ui/MainActivity;Lcom/zj/adlib/h60;)V
- iput-object p1, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->L$0:Ljava/lang/Object;
- iput v4, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->label:I
- invoke-static {v6, v7, v1, p0}, Lkotlinx/coroutines/TimeoutKt;->c(JLkotlin/jvm/functions/Function2;Lcom/zj/adlib/h60;)Ljava/lang/Object;
- move-result-object v1
- if-ne v1, v0, :cond_81
- return-object v0
- :cond_81
- move-object v12, v1
- move-object v1, p1
- move-object p1, v12
- :goto_84
- check-cast p1, Ljava/lang/Boolean;
- const/4 v4, 0x0
- if-eqz p1, :cond_8e
- invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
- move-result p1
- goto :goto_8f
- :cond_8e
- move p1, v4
- :goto_8f
- iget-object v6, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- invoke-static {v6, v4}, Lrocket/service/superv/ui/MainActivity;->I(Lrocket/service/superv/ui/MainActivity;Z)V
- iget-object v4, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- invoke-static {v4}, Lrocket/service/superv/ui/MainActivity;->H(Lrocket/service/superv/ui/MainActivity;)V
- if-eqz p1, :cond_b8
- sget-object p1, Lrocket/service/superv/ads/InterstitialAdManager;->d:Lrocket/service/superv/ads/InterstitialAdManager$a;
- invoke-virtual {p1}, Lrocket/service/superv/ads/InterstitialAdManager$a;->a()Lrocket/service/superv/ads/InterstitialAdManager;
- move-result-object v6
- iget-object v7, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- sget-object v8, Lrocket/service/superv/ads/AdComm$AdPosition;->INTERSTITIAL_MAIN:Lrocket/service/superv/ads/AdComm$AdPosition;
- const/4 v10, 0x4
- const/4 v11, 0x0
- const/4 v9, 0x0
- invoke-static/range {v6 .. v11}, Lrocket/service/superv/ads/InterstitialAdManager;->i(Lrocket/service/superv/ads/InterstitialAdManager;Landroid/app/Activity;Lrocket/service/superv/ads/AdComm$AdPosition;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V
- iput-object v1, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->L$0:Ljava/lang/Object;
- iput v3, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->label:I
- const-wide/16 v3, 0x1388
- invoke-static {v3, v4, p0}, Lkotlinx/coroutines/DelayKt;->b(JLcom/zj/adlib/h60;)Ljava/lang/Object;
- move-result-object p1
- if-ne p1, v0, :cond_b8
- return-object v0
- :cond_b8
- :goto_b8
- iput-object v5, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->L$0:Ljava/lang/Object;
- iput v2, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->label:I
- invoke-interface {v1, p0}, Lkotlinx/coroutines/g;->A(Lcom/zj/adlib/h60;)Ljava/lang/Object;
- move-result-object p1
- if-ne p1, v0, :cond_c3
- return-object v0
- :cond_c3
- :goto_c3
- iget-object v6, p0, Lrocket/service/superv/ui/MainActivity$startAdGatedConnect$1;->this$0:Lrocket/service/superv/ui/MainActivity;
- invoke-static {v6}, Lrocket/service/superv/ui/MainActivity;->H(Lrocket/service/superv/ui/MainActivity;)V
- sget-object p1, Lrocket/service/superv/SagerNet;->k:Lrocket/service/superv/SagerNet$a;
- invoke-virtual {p1}, Lrocket/service/superv/SagerNet$a;->startService()V
- :try_end_cd
- .catch Ljava/util/concurrent/CancellationException; {:try_start_3e .. :try_end_cd} :catch_1a
- .catch Ljava/lang/Exception; {:try_start_3e .. :try_end_cd} :catch_17
- goto :goto_d3
- :goto_ce
- sget-object v0, Lcom/zj/adlib/z90;->a:Lcom/zj/adlib/z90;
- invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
- :goto_d3
- sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
- return-object p1
- :goto_d6
- throw p1
- .end method
复制代码
4.去除节 点列表的高速流量校验
直接改节 点列表的逻辑,不用给高速流量赋值
搜类名
勾选完全匹配

找到s方法

整个方法替换为以下代码
- .method public final s(Lrocket/service/superv/database/ProxyEntity;)V
- .registers 11
- invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->getViewLifecycleOwner()Landroidx/lifecycle/LifecycleOwner;
- move-result-object v0
- invoke-static {v0}, Landroidx/lifecycle/LifecycleOwnerKt;->getLifecycleScope(Landroidx/lifecycle/LifecycleOwner;)Landroidx/lifecycle/LifecycleCoroutineScope;
- move-result-object v1
- new-instance v4, Lrocket/service/superv/ui/NodeSelectFragment$selectNode$1;
- const/4 v0, 0x0
- invoke-direct {v4, p1, p0, v0}, Lrocket/service/superv/ui/NodeSelectFragment$selectNode$1;-><init>(Lrocket/service/superv/database/ProxyEntity;Lrocket/service/superv/ui/NodeSelectFragment;Lcom/zj/adlib/h60;)V
- const/4 v5, 0x3
- const/4 v6, 0x0
- const/4 v2, 0x0
- const/4 v3, 0x0
- invoke-static/range {v1 .. v6}, Lcom/zj/adlib/l00;->d(Lcom/zj/adlib/a70;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/g;
- return-void
- .end method
复制代码
此时已经成功解锁高速流量了,但是这玩意是真没啥用

有强迫症的坛友请继续往下看
搜类名
找到onViewCreated方法
整个方法替换为以下代码
- .method public onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V
- .registers 10
- invoke-super {p0, p1, p2}, Lrocket/service/superv/ui/ToolbarFragment;->onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V
- const v0, 0x7f0a0281
- invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object v0
- if-eqz v0, :cond_22
- :goto_c
- invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
- move-result-object v1
- if-eqz v1, :cond_22
- instance-of v2, v1, Landroidx/cardview/widget/CardView;
- if-eqz v2, :cond_1e
- check-cast v1, Landroid/view/View;
- const/16 v2, 0x8
- invoke-virtual {v1, v2}, Landroid/view/View;->setVisibility(I)V
- goto :goto_22
- :cond_1e
- check-cast v1, Landroid/view/View;
- move-object v0, v1
- goto :goto_c
- :cond_22
- :goto_22
- const p2, 0x7f0a0674
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->j:Landroid/view/View;
- const p2, 0x7f0a0673
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- check-cast p2, Landroid/widget/TextView;
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->k:Landroid/widget/TextView;
- const p2, 0x7f0a01e7
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->l:Landroid/view/View;
- invoke-virtual {p0}, Lrocket/service/superv/ui/ToolbarFragment;->g()Landroidx/appcompat/widget/Toolbar;
- move-result-object p2
- const v0, 0x7f12007e
- invoke-virtual {p2, v0}, Landroidx/appcompat/widget/Toolbar;->setTitle(I)V
- const p2, 0x7f0a07d5
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->n:Landroid/view/View;
- const p2, 0x7f0a07d4
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- check-cast p2, Landroid/widget/ImageView;
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->o:Landroid/widget/ImageView;
- const p2, 0x7f0a07d7
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- check-cast p2, Landroid/widget/TextView;
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->p:Landroid/widget/TextView;
- iget-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->n:Landroid/view/View;
- const/4 v0, 0x0
- if-nez p2, :cond_6e
- move-object p2, v0
- :cond_6e
- new-instance v1, Lcom/zj/adlib/op0;
- invoke-direct {v1, p0}, Lcom/zj/adlib/op0;-><init>(Lrocket/service/superv/ui/HomeFragment;)V
- invoke-virtual {p2, v1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
- const p2, 0x7f0a0af2
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- check-cast p2, Lrocket/service/superv/widget/SimpleVpnButton;
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->q:Lrocket/service/superv/widget/SimpleVpnButton;
- if-eqz p2, :cond_8b
- new-instance v1, Lcom/zj/adlib/pp0;
- invoke-direct {v1, p0}, Lcom/zj/adlib/pp0;-><init>(Lrocket/service/superv/ui/HomeFragment;)V
- invoke-virtual {p2, v1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
- :cond_8b
- iget-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->q:Lrocket/service/superv/widget/SimpleVpnButton;
- if-eqz p2, :cond_98
- sget-object v1, Lrocket/service/superv/database/a;->f:Lrocket/service/superv/database/a;
- invoke-virtual {v1}, Lrocket/service/superv/database/a;->f1()Lrocket/service/superv/bg/BaseService$State;
- move-result-object v1
- invoke-virtual {p2, v1}, Lrocket/service/superv/widget/SimpleVpnButton;->a(Lrocket/service/superv/bg/BaseService$State;)V
- :cond_98
- const p2, 0x7f0a029c
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- check-cast p2, Landroid/widget/TextView;
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->t:Landroid/widget/TextView;
- const p2, 0x7f0a029d
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- check-cast p2, Landroid/widget/TextView;
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->u:Landroid/widget/TextView;
- const p2, 0x7f0a0280
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p2
- iput-object p2, p0, Lrocket/service/superv/ui/HomeFragment;->r:Landroid/view/View;
- const p2, 0x7f0a0281
- invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
- move-result-object p1
- check-cast p1, Landroid/widget/TextView;
- iput-object p1, p0, Lrocket/service/superv/ui/HomeFragment;->s:Landroid/widget/TextView;
- iget-object p1, p0, Lrocket/service/superv/ui/HomeFragment;->r:Landroid/view/View;
- if-eqz p1, :cond_ce
- new-instance p2, Lcom/zj/adlib/qp0;
- invoke-direct {p2, p0}, Lcom/zj/adlib/qp0;-><init>(Lrocket/service/superv/ui/HomeFragment;)V
- invoke-virtual {p1, p2}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
- :cond_ce
- sget-object p1, Lrocket/service/superv/ui/HomeFragment$LoadingState;->LOADING:Lrocket/service/superv/ui/HomeFragment$LoadingState;
- const/4 p2, 0x2
- invoke-static {p0, p1, v0, p2, v0}, Lrocket/service/superv/ui/HomeFragment;->S(Lrocket/service/superv/ui/HomeFragment;Lrocket/service/superv/ui/HomeFragment$LoadingState;Ljava/lang/String;ILjava/lang/Object;)V
- iget-object p1, p0, Lrocket/service/superv/ui/HomeFragment;->j:Landroid/view/View;
- if-nez p1, :cond_d9
- move-object p1, v0
- :cond_d9
- const/4 p2, 0x0
- invoke-virtual {p1, p2}, Landroid/view/View;->setVisibility(I)V
- iget-object p1, p0, Lrocket/service/superv/ui/HomeFragment;->l:Landroid/view/View;
- if-nez p1, :cond_e2
- move-object p1, v0
- :cond_e2
- const/16 p2, 0x8
- invoke-virtual {p1, p2}, Landroid/view/View;->setVisibility(I)V
- invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->getViewLifecycleOwner()Landroidx/lifecycle/LifecycleOwner;
- move-result-object p1
- invoke-static {p1}, Landroidx/lifecycle/LifecycleOwnerKt;->getLifecycleScope(Landroidx/lifecycle/LifecycleOwner;)Landroidx/lifecycle/LifecycleCoroutineScope;
- move-result-object v1
- new-instance v4, Lrocket/service/superv/ui/HomeFragment$onViewCreated$4;
- const/4 v0, 0x0
- invoke-direct {v4, p0, v0}, Lrocket/service/superv/ui/HomeFragment$onViewCreated$4;-><init>(Lrocket/service/superv/ui/HomeFragment;Lcom/zj/adlib/h60;)V
- const/4 v5, 0x3
- const/4 v6, 0x0
- const/4 v2, 0x0
- const/4 v3, 0x0
- invoke-static/range {v1 .. v6}, Lcom/zj/adlib/l00;->d(Lcom/zj/adlib/a70;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/g;
- return-void
- .end method
复制代码
保存,签名,完成
成品最终效果(上次发成品被封了好多天,不敢发了 )

(这图片好像有点大啊) |
|