ttimasdf 发表于 2017-11-10 09:47

多多猫app简单破解思路

本帖最后由 ttimasdf 于 2017-11-10 17:28 编辑

官方介绍
全球第一个以插件形式提供二次元体验的开放平台!!!
只提供插件不提供内容

内容如有问题与平台无关(请反馈给插件开发者)

200多个插件(漫画、轻小说、动画、资讯、图集、周边)
多国语种的内容
20多种彩蛋(探索的乐趣;)
开放平台(http://sited.noear.org/dev/)
跨平台统一体验(Android、iOS、Win 10、macOS)

简单来讲,是一个可以扩展的本子/漫画获取器。

原文首发于我的博客

下面我们开始,

拖进JADX,直接搜索字符串 `VIP` 定位到 `org.noear.ddcat.controller.a.aq`。
```java
    public void onStart() {
      // ...
      String replace = z.b(R.string.format_live_days).replace("{num}", cc.i);
      if (cc.e > 0) {
            CharSequence charSequence = cc.e > 1 ? "SVIP" : "VIP";
            this.d.setText(charSequence + " LV" + cc.f + "" + replace);
      // ...
      } else {
            this.d.setText("LV" + cc.f + "" + replace);
            this.c.setTextColor(cd.b().b);
      }
```
可以看出这里在对主页上VIP等级显示的字符串做处理。这个`cc.e`一定是VIP等级。而这个`cc.e`在哪里呢?从import语句中可以找到`cc`是导入了`org.noear.ddcat.dao.cc`类。
```java
public final class cc {
    public static long a = e.a.getLong("userID", 0);
    // ...
    public static int e = e.a("isVip");
    public static int f = e.a("level");
    // ...
    static String m;

    public static void a() {
```
这里的字符串特征也很明显啦,e是VIP等级,f是用户等级。我们继续搜索`cc.e`在何处被赋值。搜索赋值语句这里有两种方法。最简单的当然是在反编译代码里搜索 `cc.e =` 。但是这样的话类内赋值或者反编译失败的方法会检索不到。所以我这里选择搜索smali。使用以下正则语句搜索apktool解包开的目录:
```plain
sput v+, Lorg/noear/ddcat/dao/cc;->e:I
```
定位到三个类,`org.noear.ddcat.dao.a.u` `org.noear.ddcat.dao.a.w` 和`org.noear.ddcat.dao.a.x`。将搜索到的语句连同上下文(主要是调用函数获取VIP等级的部分)替换如下,这样VIP等级与用户等级永远为3。
```smali
    const/4 v1, 0x3

    sput v1, Lorg/noear/ddcat/dao/cc;->f:I

    const/4 v1, 0x3

    sput v1, Lorg/noear/ddcat/dao/cc;->e:I
```
然后apktool打包签名即可。

彩蛋:VIP与等级对应关系
```
case 1: return "VIP";
case 2: return "SVIP";
case 3: return "SSVIP";
case 201: return "MVP";
case 300: return "SMVP";
case 301: return "DMVP";
case 302: return "SMVP";
case 306: return "TMVP";
case 310: return "master";
case 311: return "developer";
case 312: return "spreader";
case 313: return "supporter";
case 314: return "container";
case 315: return "servicer";
case 316: return "translator";
case 321: return "女神";
case 322: return "可愛";
case 323: return "女仆";
case 331: return "男神";
case 332: return "强壮";
case 333: return "男仆";
default: return "VIP";
```

打包后app已发布于原创发布区
https://www.52pojie.cn/thread-659876-1-1.html

ttimasdf 发表于 2017-11-10 12:00

shaunkelly 发表于 2017-11-10 10:15
楼主怎么修改保存啊?光看这个不会弄啊

apktool 会把apk解包成一个文件夹。要修改的源码在解包出来的smali/子文件夹里,按上面的类名找到对应的smali文件,至于如何修改需要一点smali的知识,改完用apktool原样打包,中间省略的地方网上就都有了:keai

shaunkelly 发表于 2017-11-10 13:25

ttimasdf 发表于 2017-11-10 12:00
apktool 会把apk解包成一个文件夹。要修改的源码在解包出来的smali/子文件夹里,按上面的类名找到对应的s ...

中间省略5000字?呵呵

ShadowY 发表于 2017-11-10 09:51

谢谢分享啊!

mayl8822 发表于 2017-11-10 09:52

感谢分享

Nnnsk 发表于 2017-11-10 09:58

来凑个热闹,

Zerolal 发表于 2017-11-10 10:05

很清晰。

shaunkelly 发表于 2017-11-10 10:15

楼主怎么修改保存啊?光看这个不会弄啊

v2850210 发表于 2017-11-10 10:25

楼主好样的,点个赞

20281230 发表于 2017-11-10 10:45

感谢楼主分享思路

侧耳聆听 发表于 2017-11-10 11:26

虽然看不太懂,还是感谢楼主的无私分享。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 多多猫app简单破解思路