关于MakeDrama的清单获取

安装包链接
https://voldemort.lanzout.com/b0hclzekf
密码:3dyi
蓝奏云有检测,直接传压缩分卷过不了验证。。。

config链接:

https://d27ds7moynzi4t.cloudfront.net/6d5b52599d/config.json

获取"BundleBucketName": “https://d2fcecjrqe1bnp.cloudfront.net/”,
获取"OneStoreBundle": “Android_OneStore/1.0.6_edf1ea3f”,
获取安装包中的settings.json得到catalog_1.0.6_67d0892a

组成catalog链接:

https://d2fcecjrqe1bnp.cloudfront.net/Android_OneStore/1.0.6_edf1ea3f/catalog_1.0.6_67d0892a.bin

现在的问题是不知道config链接中的6d5b52599d是怎么得到的,上个版本是e31f9bc089,似乎由安装包决定的,还请大佬们帮我看看

我也是完全新手,没有大佬的经验,纯粹瞎试

坏消息:
目前尝试过的:

  • 解包apk后把所有文件全都hash一遍,md5/sha256/sha512
  • 解包apk后把所有文件全都扔进strings匹配
  • 反编译看代码(没啥用,似乎就是个unity启动器)
  • 把apk自带的unity资源解了看textasset里有没有写

然后都没有 :smiling_face_with_tear:

我认为每次发布新的 APK 文件时,这个字符串都是硬编码进去的。

盲猜一波跟版本号有关的加密或者解密吧,好像只能硬啃汇编了:sob:

using System.Security.Cryptography;
using System.Text;

string version = "1.0.6";
string envType = "LIVE";
string input = version + envType + "live_key_76539";

byte[] hash = SHA256.HashData(Encoding.UTF8.GetBytes(input));
string result = Convert.ToHexString(hash).ToLowerInvariant()[..10];


4 个赞

原来如此,非常感谢

谢谢兄弟找到这个方法!

但是,目前除了下载新版本的 APK 文件(如果有新版本可用)之外,无法从 settings.json 文件中生成数据来获取正确的目录名称。catalog_1.0.6_67d0892a.bin

获取"OneStoreBundle": "Android_OneStore/1.0.7_63477088"后可以先尝试获取

https://d2fcecjrqe1bnp.cloudfront.net/Android_OneStore/1.0.7_63477088/catalog_1.0.7_63477088.bin

目前看来发布的几个版本只有1.0.6的这两个值不一样

1 个赞

啊!我明白了!这说得通,我之前没意识到。谢谢老板!