梦绘界 美漫园等套壳漫画APP 去除强制更新

查看 70|回复 8
作者:芽衣   
昨晚我发现之前用的旧版美漫园1.0.2提示更新,我就去百度下载了最新版1.0.3,安装后结果发现依然提示“发现新版本”。很奇怪啊,明明已经是最新版了,怎么还要更新,点击更新后下载的是另一款APP,并且是有加固的,这怎么能忍。


1.jpg (63.52 KB, 下载次数: 0)
下载附件
2025-4-10 20:03 上传

不知道有多少人遇到了强制更新的问题,而且我看了网上的破解版,并没有人针对这个问题作出对抗。目前并不清楚APP为什么要强制更新,也许频繁更新是不想让你用破解版。
对于以后的破解版,我建议破解者应该去掉强制更新的问题,除非真的不能看漫画了再更新。

我本以为这个问题很简单,因为dex里面有字符串“立即升级”,改了e方法强制返回0后,本以为大功告成,结果安装后依然提示升级……


1.png (43.89 KB, 下载次数: 0)
下载附件
2025-4-10 20:15 上传

看来不是这里的问题,那就卸载后重装,看看是不是还提示升级。果然,卸载重装后一启动马上提示升级了,断网重试,结果一样。我刚开始以为是云端控制,然后换了另一部,神奇的是居然可以正常进入,并没有提示升级。那么可以判定之前就已经缓存了什么文件在本地,卸载时并没有删除。首先排除Android文件夹,肯定是放在了其它的地方。
手机显示所有隐藏文件,很快发现了病根所在。手机里有.mkv文件夹和.mkv_device_2文件夹,创建日期和安装日期很接近。
先进入.mkv文件夹,里面有Dir.CD.txt和Update-com.meimanyuan.app.eup.txt,打开Update-com.meimanyuan.app.eup.txt,里面的代码为:
[Java] 纯文本查看 复制代码{"act":0,"edu":"https://z-video-1252954235.cos.ap-nanjing.myqcloud.com/comic/mantianxing-ym/ym.apk","ein":"亲爱的漫友们,因受应用市场影响,本应用暂停使用,请您使用我们的另一款漫画App","emd5":"a5002370e7f2d3a91a22aa1b27c9cc9e","epa":"cn.ym.community"}
很明显了,问题就在这里。删除后APP不再提示更新,可正常浏览漫画。
从文件名可以看出是命名规则Update-+APP名字+.eup,dex内搜索Update-有1个结果。


1.png (44.01 KB, 下载次数: 0)
下载附件
2025-4-10 20:32 上传

.mkv_device_2文件夹我看了一下应该是和漫画浏览历史有关,删除后浏览历史不见了。
去除强制更新方案我建议随机更改dex的字符串Update-,然后再添加删除动作,每次启动时删除.mkv文件夹。
.class public Lcom/yayi/meimanyuan;
.super Ljava/lang/Object;
# direct methods
.method public constructor ()V
    .registers 1
    invoke-direct {p0}, Ljava/lang/Object;->()V
    return-void
.end method
.method public static ddd()V
    .registers 4
    const-string v0, "/storage/emulated/0/"
    const-string v1, ".mkv"
    new-instance v2, Ljava/io/File;
    new-instance v3, Ljava/lang/StringBuilder;
    invoke-direct {v3}, Ljava/lang/StringBuilder;->()V
    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    move-result-object v3
    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    move-result-object v3
    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v3
    invoke-direct {v2, v3}, Ljava/io/File;->(Ljava/lang/String;)V
    invoke-static {v2}, Lcom/yayi/meimanyuan;->deleteFolder(Ljava/io/File;)V
    return-void
.end method
.method public static deleteFolder(Ljava/io/File;)V
    .registers 6
    invoke-virtual {p0}, Ljava/io/File;->exists()Z
    move-result v0
    if-nez v0, :cond_7
    return-void
    :cond_7
    invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
    move-result-object v0
    if-eqz v0, :cond_23
    array-length v1, v0
    const/4 v2, 0x0
    :goto_f
    if-ge v2, v1, :cond_23
    aget-object v3, v0, v2
    invoke-virtual {v3}, Ljava/io/File;->isDirectory()Z
    move-result v4
    if-eqz v4, :cond_1d
    invoke-static {v3}, Lcom/yayi/meimanyuan;->deleteFolder(Ljava/io/File;)V
    goto :goto_20
    :cond_1d
    invoke-virtual {v3}, Ljava/io/File;->delete()Z
    :goto_20
    add-int/lit8 v2, v2, 0x1
    goto :goto_f
    :cond_23
    invoke-virtual {p0}, Ljava/io/File;->delete()Z
    return-void
.end method
添加调用ddd()V到入口,首次启动时,APP找不见升级文件,所以不会提示升级,获取sd卡权限以后,下次启动的时候就可以把文件删除了,无须担心权限不足导致删除失败。
目前只是简单分析,但没有深入分析这个文件是如何产生的,是哪里控制的,多长时间就会触发。
然后接着找找还有没有垃圾文件,又发现了一个“.0114eab9327976d15fa331ee9b9d3068.dat”,位于用户根目录下。而且每次启动都会产生,直接用算法助手抓来源,相关调用为:
[Asm] 纯文本查看 复制代码    public static String getDevicesId(Context context) {
        return DeviceUtils.d(context);
    }
    public static String getNewDevicesId(Context context) {
        return DeviceUtils.d(context);
    }
    public static String getOldDevicesId(Context context) {
        return DeviceUtils.f(context);
    }
目前还不知道这个是用来干嘛的,但生成的设备id属于比较敏感的内容,我认为应该进行随机化处理。

提示, 文件夹

BrutusScipio   


芽衣 发表于 2025-4-10 21:28
原版也闪退那就没办法了。不过网上的破解版还是很多的,可以试一试

闪退八成是用了废弃API链接失败吧 手机开容器有没有说法?不过生成一个缓存是每次运行检查,有读取吗?每次启动都删除一次还是检测到再删除
asd2025   

有没有安卓15可以用的梦绘界?更新到安卓15后就用不了了
天空の幻像   


天空の幻像 发表于 2025-4-10 21:26
有没有安卓15可以用的梦绘界?更新到安卓15后就用不了了

原版也闪退那就没办法了。不过网上的破解版还是很多的,可以试一试
芽衣
OP
  

一样遇到这个问题。
lyn1875   

很详细 谢谢楼主分享思路
jokaka   

漫画APP能够免费试用的很少啊,不过现在也很少有时间看了
zhlezhi   

谢谢分享了,漫画APP现在好的确实不多了
zeldar64   

很有用,谢谢分享
您需要登录后才可以回帖 登录 | 立即注册