求一手归龙潮的解包办法

游戏已经可以预下载了

看了下是unityCN加密,不会解这个,同等大佬出手

+1,刚才试了下也不太行

压缩了zip有13m说我超过20m,有点逆天的,只好网盘分享了。

3 个赞

感谢楼上大佬,顺带一提,这游戏进去下载十几个G都是这种,解析完导出都要好久

请问这个能拆出动画文件吗?我这边拆的时候好像有点问题导致拆不出来

请问大佬,如果不选guilongchao这个版本,而是在Specify Game选择UnityCN。并输入Speicify UnityCN Key(我不清楚怎么获得这个key,先假设它有),是否效果是一样的。(以前没解包过UnityCN的游戏,想问下如果没有专门的版本可供选择,是否就是按我上面描述的操作方式输入key去解包)

和一般的unitycn不一样,需要改代码。

1 个赞

没添加动画支持。








Step 01 : 下載遊戲官網APK deep_cn.apk (1.95GB)
https://userplatform-download.kingsgroup.cn/official-website/pc-client-launcher/deep_cn.apk
Step 02 : 使用夜神模擬器安裝APK
Step 03 : 進入遊戲下載熱更新遊戲資源包
Step 04 : 夜神模擬器備份虛擬硬盤數據另存NPBK文件
Step 05 : NPBK改後綴為RAR
Step 06 : 解壓縮RAR文件
Step 07 : 解壓縮後得到遊戲名稱圖片 com.tong.lcgame.png
Step 08 : 解壓縮後得到虛擬硬盤VMDK文件
Step 09 : 使用DiskGenius開啟VMDK文件
Step 10 : 另存遊戲下載熱更新遊戲資源包 (\meda\0\Android\data\com.tong.lcgame)
這遊戲熱更新遊戲資源包不在\data裡
Step 11 : 整理Spine文件(.atlas . skel .png 使用批次檔通通移至同一個目錄)
Step 12 : 整理Spine文件(.atlas . skel 使用批次檔去掉重複的.atlas . skel 後綴)
Step 13 : 整理Spine文件(依照.atlas內記載的分辨率來統一修改png圖像分辨率)
Step 14 : 整理Spine文件(使用skeletonViewer-4.1.00.jar 開啟skel文件)
Spine文件在\com.tong.lcgame_20240912\Asset-1\ui\vfxs\spine
Step 15 : 整理音頻文件(使用Wwise-Unpacker PCK轉MP3)
Step 16 : 整理音頻文件(使用Wwise-Unpacker WEM轉MP3)
Step 17 : 整理音頻文件(使用Wwise-Unpacker BNK轉MP3) (結果無法轉換)
Step 18 : 製作原始APK+熱更新遊戲數據包懶人包(apk + data + media)
(base.apk記得改rar後解壓縮)
Step 19 : 製作Asset Studio抽出遊戲資源後懶人包(APK +熱更新)

原始APK+熱更新遊戲數據包懶人包載點詳情

原始APK+熱更新遊戲數據包懶人包載點詳情
com.tong.lcgame_asset_20240912.rar (13.64GB)

Google Drive載點

Mega.nz載點

百度盤載點

提取码: 1234

使用Asset Studio抽出遊戲資源後懶人包載點詳情

使用Asset Studio抽出遊戲資源後懶人包
com.tong.lcgame_20240912.rar (12.27GB)

Google Drive載點

Mega.nz載點

百度盤載點

提取码: 1234

相關工具

4 个赞

大佬工具能在发一遍吗 ?我打不开链接啊。我在github下载的没用CUiLongChao啊

大佬可以用百度云盘分享一下吗

请问大佬归龙潮剧情以及技能描述的文本放在哪里?

@yjzyl9008 我想用这个来解出模型和动画,发现有报错:

[Error] Unable to load object
Assets CAB-868b0a12cf8ed4dd90dd16d307f0ba96
Path E:\UnityInverse\guilongchap_apk\apk_data_files\DLC\!first\Assetbundle\36437f49632d44fac45eed7402509dd3.dab
Type AnimationClip
PathID 4738071699328644822
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
   at System.IO.BinaryReader.InternalRead(Int32 numBytes)
   at AssetStudio.EndianBinaryReader.ReadSingle() in C:\Users\Admin\Desktop\Studio-main\AssetStudio\EndianBinaryReader.cs:line 99
   at AssetStudio.EndianBinaryReader.ReadArray[T](Func`1 del, Int32 length) in C:\Users\Admin\Desktop\Studio-main\AssetStudio\EndianBinaryReader.cs:line 235
   at AssetStudio.ClipMuscleConstant..ctor(ObjectReader reader) in C:\Users\Admin\Desktop\Studio-main\AssetStudio\Classes\AnimationClip.cs:line 1465
   at AssetStudio.AnimationClip..ctor(ObjectReader reader) in C:\Users\Admin\Desktop\Studio-main\AssetStudio\Classes\AnimationClip.cs:line 2015
   at AssetStudio.AssetsManager.ReadAssets() in C:\Users\Admin\Desktop\Studio-main\AssetStudio\AssetsManager.cs:line 678

看起来是前面说的没有添加动画支持?

另外我想问问,这个版本的 AS 有开源吗,应该是 Fork 的 RazTools/Studio 吧?我可以研究研究看能不能支持一下。

diff --git a/AssetStudio/Crypto/UnityCN.cs b/AssetStudio/Crypto/UnityCN.cs
index 79c0a22..33b576f 100644
--- a/AssetStudio/Crypto/UnityCN.cs
+++ b/AssetStudio/Crypto/UnityCN.cs
@@ -17,28 +17,12 @@ namespace AssetStudio
         {
             reader.ReadUInt32();
 
-            var infoBytes = reader.ReadBytes(0x10);
-            var infoKey = reader.ReadBytes(0x10);
-            reader.Position += 1;
-
-            var signatureBytes = reader.ReadBytes(0x10);
-            var signatureKey = reader.ReadBytes(0x10);
-            reader.Position += 1;
-
-            DecryptKey(signatureKey, signatureBytes);
-
-            var str = Encoding.UTF8.GetString(signatureBytes);
-            Logger.Verbose($"Decrypted signature is {str}");
-            if (str != Signature)
-            {
-                throw new Exception($"Invalid Signature, Expected {Signature} but found {str} instead");
-            }
-
-            DecryptKey(infoKey, infoBytes);
+            var infoBytes = reader.ReadBytes(0x8);
+            reader.AlignStream();
 
             infoBytes = infoBytes.ToUInt4Array();
-            infoBytes.AsSpan(0, 0x10).CopyTo(Index);
-            var subBytes = infoBytes.AsSpan(0x10, 0x10);
+            Index = Array.Empty<byte>();
+            var subBytes = infoBytes.AsSpan(0, 0x10);
             for (var i = 0; i < subBytes.Length; i++)
             {
                 var idx = (i % 4 * 4) + (i / 4);
@@ -69,9 +53,11 @@ namespace AssetStudio
 
         public void DecryptBlock(Span<byte> bytes, int size, int index)
         {
+            int count = 0;
             var offset = 0;
             while (offset < size)
             {
+                if (count++ >= 0x14) break;
                 offset += Decrypt(bytes.Slice(offset), index++, size - offset);
             }
         }
@@ -89,7 +75,7 @@ namespace AssetStudio
         private int DecryptByte(Span<byte> bytes, ref int offset, ref int index)
         {
             var b = Sub[((index >> 2) & 3) + 4] + Sub[index & 3] + Sub[((index >> 4) & 3) + 8] + Sub[((byte)index >> 6) + 12];
-            bytes[offset] = (byte)((Index[bytes[offset] & 0xF] - b) & 0xF | 0x10 * (Index[bytes[offset] >> 4] - b));
+            bytes[offset] = byte.RotateLeft(bytes[offset], b & 7);
             b = bytes[offset];
             offset++;
             index++;