返回列表 发新帖

浮动计时器解锁高级版教程

  [复制链接]

153

主题

2091

回帖

7453

积分

硕士生

Rank: 6Rank: 6

金币
3204
好评
35
信誉
97
发表于 2026-2-7 14:15:00 来自手机  | 显示全部楼层 | 阅读模式  来自 广东
本帖最后由 Tbs 于 2026-2-8 01:06 编辑


官方下载链接

打开App时,就要记得开始mt记录活动

看以上图片,所有活动包括高级版都是在xyz.tberghuis.floatingtimer.MainActivity类
打开这个类的时候就会发现有checkPremium方法

但是这个方法是由onCreate方法去调用的

意思打开应用就首先检查有没有购买高级版了。
再次看到checkPremium方法

看到了它还发起新的类方法去检查

这么说这一切都是有打开应用就要初始化检查有没有购买高级版了

接下来就是修改xyz.tberghuis.floatingtimer.MainActivity$checkPremium$1类的invokeSuspend方法就能实现破解高级版
以下是我修改好的官方版和修改版对比


复制如下代码,直接粘贴覆盖即可
  1. # classes3.dex

  2. .class final Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;
  3. .super Lkotlin/coroutines/jvm/internal/SuspendLambda;
  4. .source "MainActivity.kt"

  5. # interfaces
  6. .implements Lkotlin/jvm/functions/Function2;


  7. # annotations
  8. .annotation system Ldalvik/annotation/EnclosingMethod;
  9.     value = Lxyz/tberghuis/floatingtimer/MainActivity;->checkPremium()V
  10. .end annotation

  11. .annotation system Ldalvik/annotation/InnerClass;
  12.     accessFlags = 0x18
  13.     name = null
  14. .end annotation

  15. .annotation system Ldalvik/annotation/Signature;
  16.     value = {
  17.         "Lkotlin/coroutines/jvm/internal/SuspendLambda;",
  18.         "Lkotlin/jvm/functions/Function2<",
  19.         "Lkotlinx/coroutines/CoroutineScope;",
  20.         "Lkotlin/coroutines/Continuation<",
  21.         "-",
  22.         "Lkotlin/Unit;",
  23.         ">;",
  24.         "Ljava/lang/Object;",
  25.         ">;"
  26.     }
  27. .end annotation

  28. .annotation runtime Lkotlin/Metadata;
  29.     d1 = {
  30.         "\u0000\n\n\u0000\n\u0002\u0010\u0002\n\u0002\u0018\u0002\u0010\u0000\u001a\u00020\u0001*\u00020\u0002H\n"
  31.     }
  32.     d2 = {
  33.         "<anonymous>",
  34.         "",
  35.         "Lkotlinx/coroutines/CoroutineScope;"
  36.     }
  37.     k = 0x3
  38.     mv = {
  39.         0x2,
  40.         0x1,
  41.         0x0
  42.     }
  43.     xi = 0x30
  44. .end annotation

  45. .annotation runtime Lkotlin/coroutines/jvm/internal/DebugMetadata;
  46.     c = "xyz.tberghuis.floatingtimer.MainActivity$checkPremium$1"
  47.     f = "MainActivity.kt"
  48.     i = {
  49.         0x1
  50.     }
  51.     l = {
  52.         0x1b,
  53.         0x1c,
  54.         0x1f,
  55.         0x20
  56.     }
  57.     m = "invokeSuspend"
  58.     n = {
  59.         "purchased"
  60.     }
  61.     s = {
  62.         "Z$0"
  63.     }
  64. .end annotation


  65. # instance fields
  66. .field final synthetic $preferencesRepository:Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;

  67. .field Z$0:Z

  68. .field label:I

  69. .field final synthetic this$0:Lxyz/tberghuis/floatingtimer/MainActivity;


  70. # direct methods
  71. .method constructor <init>(Lxyz/tberghuis/floatingtimer/MainActivity;Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;Lkotlin/coroutines/Continuation;)V
  72.     .registers 4
  73.     .annotation system Ldalvik/annotation/Signature;
  74.         value = {
  75.             "(",
  76.             "Lxyz/tberghuis/floatingtimer/MainActivity;",
  77.             "Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;",
  78.             "Lkotlin/coroutines/Continuation<",
  79.             "-",
  80.             "Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;",
  81.             ">;)V"
  82.         }
  83.     .end annotation

  84.     iput-object p1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->this$0:Lxyz/tberghuis/floatingtimer/MainActivity;

  85.     iput-object p2, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->$preferencesRepository:Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;

  86.     const/4 p1, 0x2

  87.     invoke-direct {p0, p1, p3}, Lkotlin/coroutines/jvm/internal/SuspendLambda;-><init>(ILkotlin/coroutines/Continuation;)V

  88.     return-void
  89. .end method


  90. # virtual methods
  91. .method public final create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
  92.     .registers 5
  93.     .annotation system Ldalvik/annotation/Signature;
  94.         value = {
  95.             "(",
  96.             "Ljava/lang/Object;",
  97.             "Lkotlin/coroutines/Continuation<",
  98.             "*>;)",
  99.             "Lkotlin/coroutines/Continuation<",
  100.             "Lkotlin/Unit;",
  101.             ">;"
  102.         }
  103.     .end annotation

  104.     new-instance p1, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;

  105.     iget-object v0, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->this$0:Lxyz/tberghuis/floatingtimer/MainActivity;

  106.     iget-object v1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->$preferencesRepository:Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;

  107.     invoke-direct {p1, v0, v1, p2}, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;-><init>(Lxyz/tberghuis/floatingtimer/MainActivity;Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;Lkotlin/coroutines/Continuation;)V

  108.     check-cast p1, Lkotlin/coroutines/Continuation;

  109.     return-object p1
  110. .end method

  111. .method public bridge synthetic invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  112.     .registers 3

  113.     check-cast p1, Lkotlinx/coroutines/CoroutineScope;

  114.     check-cast p2, Lkotlin/coroutines/Continuation;

  115.     invoke-virtual {p0, p1, p2}, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->invoke(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

  116.     move-result-object p1

  117.     return-object p1
  118. .end method

  119. .method public final invoke(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
  120.     .registers 3
  121.     .annotation system Ldalvik/annotation/Signature;
  122.         value = {
  123.             "(",
  124.             "Lkotlinx/coroutines/CoroutineScope;",
  125.             "Lkotlin/coroutines/Continuation<",
  126.             "-",
  127.             "Lkotlin/Unit;",
  128.             ">;)",
  129.             "Ljava/lang/Object;"
  130.         }
  131.     .end annotation

  132.     invoke-virtual {p0, p1, p2}, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;

  133.     move-result-object p1

  134.     check-cast p1, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;

  135.     sget-object p2, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;

  136.     invoke-virtual {p1, p2}, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;

  137.     move-result-object p1

  138.     return-object p1
  139. .end method

  140. .method public final invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
  141.     .registers 8

  142.     invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object;

  143.     move-result-object v0

  144.     iget v1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->label:I

  145.     const/4 v2, 0x4

  146.     const/4 v3, 0x3

  147.     const/4 v4, 0x2

  148.     const/4 v5, 0x1

  149.     if-eqz v1, :cond_2f

  150.     if-eq v1, v5, :cond_2b

  151.     if-eq v1, v4, :cond_25

  152.     if-eq v1, v3, :cond_21

  153.     if-ne v1, v2, :cond_19

  154.     invoke-static {p1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

  155.     goto/16 :goto_73

  156.     :cond_19
  157.     new-instance p1, Ljava/lang/IllegalStateException;

  158.     const-string v0, "call to \'resume\' before \'invoke\' with coroutine"

  159.     invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

  160.     throw p1

  161.     :cond_21
  162.     invoke-static {p1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

  163.     goto :goto_65

  164.     :cond_25
  165.     iget-boolean v1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->Z$0:Z

  166.     invoke-static {p1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

  167.     goto :goto_44

  168.     :cond_2b
  169.     invoke-static {p1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

  170.     goto :goto_34

  171.     :cond_2f
  172.     invoke-static {p1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

  173.     const/4 v1, 0x1

  174.     goto :goto_34

  175.     .line 27
  176.     :goto_34
  177.     iget-object p1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->$preferencesRepository:Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;

  178.     move-object v5, p0

  179.     check-cast v5, Lkotlin/coroutines/Continuation;

  180.     iput-boolean v1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->Z$0:Z

  181.     iput v4, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->label:I

  182.     invoke-virtual {p1, v1, v5}, Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;->updateHaloColourPurchased(ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;

  183.     move-result-object p1

  184.     if-ne p1, v0, :cond_44

  185.     goto :goto_72

  186.     :cond_44
  187.     :goto_44
  188.     new-instance p1, Ljava/lang/StringBuilder;

  189.     const-string v4, "MainActivity checkPremium purchased "

  190.     invoke-direct {p1, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

  191.     invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

  192.     move-result-object p1

  193.     invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

  194.     move-result-object p1

  195.     invoke-static {p1}, Lxyz/tberghuis/floatingtimer/UtilKt;->logd(Ljava/lang/String;)V

  196.     goto :goto_73

  197.     iget-object p1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->$preferencesRepository:Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;

  198.     move-object v1, p0

  199.     check-cast v1, Lkotlin/coroutines/Continuation;

  200.     iput v3, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->label:I

  201.     invoke-virtual {p1, v1}, Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;->resetHaloColour(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

  202.     move-result-object p1

  203.     if-ne p1, v0, :cond_65

  204.     goto :goto_72

  205.     :cond_65
  206.     :goto_65
  207.     iget-object p1, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->$preferencesRepository:Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;

  208.     move-object v1, p0

  209.     check-cast v1, Lkotlin/coroutines/Continuation;

  210.     iput v2, p0, Lxyz/tberghuis/floatingtimer/MainActivity$checkPremium$1;->label:I

  211.     invoke-virtual {p1, v1}, Lxyz/tberghuis/floatingtimer/data/PreferencesRepository;->resetBubbleScale(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

  212.     move-result-object p1

  213.     if-ne p1, v0, :cond_73

  214.     :goto_72
  215.     return-object v0

  216.     :cond_73
  217.     :goto_73
  218.     sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;

  219.     return-object p1

  220.     sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;

  221.     return-object p1
  222. .end method
复制代码


破解版下载
↓↓↓↓
成品下载


还有这个软件的国际版破解高级版,就直接复制invokeSuspend方法粘贴覆盖即可(切记!不用全部复制,只要invokeSuspend方法就行)

修改后如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

12

主题

8599

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
7157
好评
2
信誉
98
发表于 2026-2-7 14:19:34 来自手机  | 显示全部楼层  来自 安徽
看看隐藏
回复

使用道具 举报

0

主题

682

回帖

2707

积分

大学生

Rank: 5Rank: 5

金币
536
好评
0
信誉
100

MT论坛最佳新人MT论坛帅哥

发表于 2026-2-7 14:20:56 来自手机  | 显示全部楼层  来自 河南
看看隐藏
回复

使用道具 举报

42

主题

3277

回帖

1万

积分

博士生

不良帅

Rank: 7Rank: 7Rank: 7

金币
6918
好评
10
信誉
111

考神MT论坛最佳新人

发表于 2026-2-7 14:26:04 来自手机  | 显示全部楼层  来自 北京
看看怎么弄的
回复

使用道具 举报

5

主题

2101

回帖

7249

积分

硕士生

Rank: 6Rank: 6

金币
2692
好评
16
信誉
100

考神MT论坛最佳新人MT论坛帅哥MT论坛新人

发表于 2026-2-7 14:26:32 来自手机  | 显示全部楼层  来自 河南
看看
回复

使用道具 举报

240

主题

2631

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6177
好评
146
信誉
101
发表于 2026-2-7 14:26:36 来自手机  | 显示全部楼层  来自 中国
看看隐藏
回复

使用道具 举报

15

主题

325

回帖

1066

积分

高中生

Rank: 4

金币
92
好评
1
信誉
98
发表于 2026-2-7 14:27:50 来自手机  | 显示全部楼层  来自 浙江
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21

主题

5553

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
1613
好评
0
信誉
100

考神MT论坛新人

发表于 2026-2-7 14:28:16 来自手机  | 显示全部楼层  来自 重庆
路过看看
回复

使用道具 举报

2

主题

4507

回帖

1万

积分

禁止访问

iKUN

金币
1214
好评
16
信誉
111
发表于 2026-2-7 14:28:51 来自手机  | 显示全部楼层  来自 广西
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

1

主题

860

回帖

1906

积分

高中生

Rank: 4

金币
13
好评
0
信誉
98
发表于 2026-2-7 14:30:30 来自手机  | 显示全部楼层  来自 湖南
看看隐藏
回复

使用道具 举报

6

主题

656

回帖

2429

积分

大学生

Rank: 5Rank: 5

金币
1500
好评
0
信誉
100

MT论坛新人考神

发表于 2026-2-7 14:32:03 来自手机  | 显示全部楼层  来自 江苏–太仓
看看隐藏
回复

使用道具 举报

24

主题

4586

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4377
好评
7
信誉
91
发表于 2026-2-7 14:32:39 来自手机  | 显示全部楼层  来自 湖南
看看隐藏
回复

使用道具 举报

26

主题

1059

回帖

5239

积分

硕士生

Rank: 6Rank: 6

金币
434
好评
5
信誉
102
发表于 2026-2-7 14:33:12 来自手机  | 显示全部楼层  来自 广东
看看
回复

使用道具 举报

19

主题

6216

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
2134
好评
0
信誉
100
发表于 2026-2-7 14:35:17 来自手机  | 显示全部楼层  来自 安徽
看看隐藏
回复

使用道具 举报

11

主题

2930

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6195
好评
1
信誉
86

MT论坛最佳新人考神MT论坛帅哥MT论坛新人

发表于 2026-2-7 14:37:37 来自手机  | 显示全部楼层  来自 湖北
一个没人用的软件,简单至极不说,出教程的人还挺多
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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