少女前线Live2D解密

2018-05-26 52,502 ℃

上周在CP22看到这个游戏两周年了,打算回坑玩一阵,不过上一个号是买的初始号账号密码都忘记了,所以只好开了个新号。然后新皮肤倒是抽到了,不过枪都没有怎么舔老婆呢,所以只好提取一发啦

少前Live2D的所有TextAsset类文件都加密了,搜了一下并没有找到相关的东西,就自己研究吧。解密函数就塞在libLive2DEncryption.so里,这名字生怕你找不到它,直接F5后照着写就行了

public static byte[] Decrypt(byte[] encrypt)
{
    var length = encrypt.Length - 17;
    var v24 = new byte[16];
    var decrypt = new byte[length];
    for (var i = 0; i < 16; i++)
    {
        v24[i] = encrypt[i * 5 + 1];
    }
    var v20 = 0;
    var v10 = -1;
    var v11 = 0;
    do
    {
        var v12 = v10 + 1;
        if (v10 + 1 > 80)
        {
            var v13 = v24[v10 - ((v10 + ((v10 - 16) >> 31 >> 28) - 16) & 0xFFFFFFF0) - 16];
            decrypt[v11] = (byte)(encrypt[v10 + 1] ^ v13);
            v12 = v10 + 1;
            ++v11;
        }
        else
        {
            if (v10 == 5 * (v10 / 5))
            {
                ++v20;
            }
            else if (v10 != -1)
            {
                decrypt[v11++] = (byte)(encrypt[v10 + 1] ^ v24[(v10 - v20) % 16]);
            }
        }
        v10 = v12;
    }
    while (v11 != length);
    return decrypt;
}

随便撸了个小程序

百度云

可以用如下方法快速提取,适用于0.10.0~0.12.3版本的AssetStudio

  1. 打开AssetStudio,勾选Options – Display asset original name,同时将group方式改为Do not group exported assets
  2. 用File – load file载入所有的live2d_gun_*.ab文件
  3. Show Type勾上TextAsset和Texture2D,用Export – Filtered assets导出
  4. 在提取后的文件夹里运行GFLive2DDecrypter.exe即可

我TM舔爆!

Il2CppDumper v6.1.0

距离上次在博客发布都要快一年了,这次因为又添加了一个新功能,所以在博客介绍一下。 ida脚本现在分为“ida.py”和“ida_with_struct.py”两个,使用“ida_with_s...

阅读全文

双生视界Live2D提取

总算是回到家了,差点就要把这篇文章咕掉了。 在github上有人提双生视界Live2D解出来的文件载入显示有问题时,UnityLive2DExtractor的代码还没写完,所以先用...

阅读全文

UnityLive2DExtractor

摸了好久终于是把这玩意摸完了。 程序在原本AzurLaneLive2DExtract基础上,除了一些bug修复和细节完善,最主要的是实现了physics3.json的还原,这样其他游戏...

阅读全文

215 条评论

  1. 大佬好,少女前线更新了模型后用UnityLive2DExtractor能导出,但是只能导出1个模型(第2个模型的文件覆盖了前1个模型的文件),求更新

    1. 稍微看了下,他把正常大破和正常模型打包在里一起,这样需要单独给少前写逻辑,我有空的时候看看吧

  2. 大佬你好,少前更新了live2d的文件,现在这个解密方法不能用了,有时间可以看一下吗? :oops:

  3. 大佬你好,少前更新了live2d的文件,现在这个解密方法不能用了,有时间可以看一下吗

  4. P大您好:
    這幾天剛好來了興趣學習解密少前,解了好多版(日版、陸版、台版)均有反和諧,解包Live2d都完成,就是沒有P大陣樓的dsr50_2101春牡丹(全都是在胸口貼塊黑布,超級不搭的),不知P可否提供dsr50_2101的兩張png,感謝您

    1. P大您好:
      剛剛翻舊的留言,看到了我要的答案,自己把png那個黑布D掉了,完美解決,謝謝

    2. 我对于dsr的解包应该就是你说的这个,为什么我的模型是乱码,能不能留个联系方式交流一下

  5. 未经处理的异常: System.OverflowException: 数组维度超过了支持的范围。
    在 GFLive2DDecrypter.Program.Decrypt(Byte[] encrypt)
    在 GFLive2DDecrypter.Program.Main(String[] args)

    问一下这是什么问题

  6. 如果输出的是bytes或者json文件,可以先把他们都改成txt格式文件(直接改后缀),然后再用解密的那个exe解密出来,亲测可用,我用的as版本是12.18

  7. 大佬,我在提取音频时,按照网上的办法,要先在bytes文件中搜索FSB字符串,但是我在bytes文件中没有找到FSB字符串

  8. 教程很有用,能不能麻烦大神把解包出来的东西发我一份?我解包出来的已经和谐过了,日服都没用。秋梨膏。不管怎么样先谢谢了。

  9. P神今天按您的帖子步骤走了一遍,解出来的文件除了.json外都是bytes的后缀,这是换了加密方式嘛

  10. 请问一下live2d解出来的文件除了贴图外后缀都是.txt,而且model与phisics文件打开也是乱码,是软件哪里设置的问题吗?软件版本是0.12.3,0.12.1与0.12.2版本也都试过,结果一样。前几天用的时候还是正常的,现在不知哪里出了问题。

    1. 这篇文章里说了,解包后还要在文件夹里运行GFLive2DDecrypter.exe的小程序,能把文件转换为json格式,看看是不是您没有运行它
      还有,请问能发一下0.12.3版本的软件吗給我吗?github不会用,作者发布的版本已经到0.12.58,不能用这篇文章说的快速提取方法了。

  11. 感谢Perfare大佬 截至当前19.5.19亲测有效 拆出了DSR红牡丹的2dlive
    准备去试一下明日方舟的2dlive

    1. 您好,请问能发一下0.10.0~0.12.3版本的软件吗給我吗?github不会用,下载不了旧版本,不能用这篇文章说的快速提取方法。

  12. 问一下是不是明日方舟也采取了类似的方案?但是我没有找到解密函数地址,可否询问一下在哪?

欢迎留言

1 + 7 =