游戏图片没有加密,直接用AssetStudio就能读取资源。JSON文件全是乱码
目前游戏已经停止注册,因账号丢失,所以无法进入游戏。
手上留存着官服旧版客户端,大约 1.9G,新拿到了测试服的数据,约 1.1G。猜测部分资源需要登录游戏之后才能下载或更新。
想请教各位大佬,如何获取游戏的全部资源列表,下载全部数据?拆包后需要寻找那些文件?
附:安装包为未和谐版本的测试服
链接: 百度网盘 请输入提取码
提取码: r5rs
游戏图片没有加密,直接用AssetStudio就能读取资源。JSON文件全是乱码
目前游戏已经停止注册,因账号丢失,所以无法进入游戏。
手上留存着官服旧版客户端,大约 1.9G,新拿到了测试服的数据,约 1.1G。猜测部分资源需要登录游戏之后才能下载或更新。
想请教各位大佬,如何获取游戏的全部资源列表,下载全部数据?拆包后需要寻找那些文件?
附:安装包为未和谐版本的测试服
链接: 百度网盘 请输入提取码
提取码: r5rs
之前解包时忘记删了,没想到这么快就关服了


由hsxx大提供未和諧版本測試服APK (853MB)
1752723115-com.yhwh.sxzl_ad1-2025-07-17_11-34.apk
由遊俠網下載正式服APK (757MB)
更新时间:2025-11-08 11:47:14版本:1.1.2
https://andl.guopan.cn/159458-395065-1761046961.apk
兩者APK都安裝於夜神模擬器
的確無法下載更新
但從Sunny可以看到更新時
下載zip更新包URL
https://res-sgzx.wanhui2.com/res/of/android/zips/1041.zip
遊戲畫面中右下角顯示資源包更新進度 [1040/1059]
的確無法下載更新
但從Sunny可以看到更新時
下載zip更新包URL
https://res-sgzx.wanhui2.com/res/mx/android/zips/1050.zip
遊戲畫面中右下角顯示資源包更新進度 [1049/1059]
測試服 https://res-sgzx.wanhui2.com/res/of/android/zips/1041.zip
正式服 https://res-sgzx.wanhui2.com/res/mx/android/zips/1050.zip
一開始以為使用相同的URL
仔細一看中間目錄名不同 of 與 mx 的差別
遊戲資源包更新並非使用資產清單
而是使用zip壓縮包覆蓋式更新
zip壓縮包下載到本地後
自動解壓縮覆蓋既有資源
zip壓縮包數字越大表示資源是最新的
遊戲資源包為連續數字有規律性
可以使用python腳本生成連續數字URL
然後使用wget去嘗試下載 (try url)
Python 腳本
已知有連續數字url
https://res-sgzx.wanhui2.com/res/of/android/zips/{x}.zip
https://res-sgzx.wanhui2.com/res/mx/android/zips/{y}.zip
{x} 為 1 到 9999 數字
{y} 為 1 到 9999 數字
逐行生成url.txt
運行url.bat
自動運行url.py
自動生成1 到 9999 數字 url.txt
然後拿去餵wget
看看測試服與正式服遊戲資源包有何不同
運行wget.bat
自動開始下載url.txt
wget下載完成後
測試服zip壓縮包 (59files 2.24GB)
\res\of\android\zips\1001.zip
到
\res\of\android\zips\1059.zip
正式服zip壓縮包 (36files 1.45GB)
\res\of\android\zips\1024.zip
到
\res\of\android\zips\1059.zip
看起來都是到1059.zip
只是起點不一樣
接著做比較 (MD5校對)
python腳本
有一根目錄
底下有兩個目錄
\mx
\of
分別對底下檔案做MD5校驗
生成md5.csv文件
csv文件中將兩目錄同檔名放在同一個欄位做md5比較
比如
\mx\android\zips\1024.zip MD5 72179372197203c76b119aa280397a2b
\of\android\zips\1024.zip MD5 72179372197203c76b119aa280397a2b
運行md5.bat
自動運行md5.py
自動開始校對兩者目錄下zip文件MD5
自動生成md5.csv文件
MD5比對後
可以發現
測試服of目錄
正式服mx目錄
兩者zip壓縮包MD5是相同的
只是單純複製兩份zip壓縮包到不同目錄而已
因此後面懶人包採用測試服of目錄zip壓縮包
因為比較完整 (1001.zip 到 1059.zip)
接下來需要python腳本批次對zip解壓縮
由hsxx大提供未和諧版本測試服APK (853MB)
1752723115-com.yhwh.sxzl_ad1-2025-07-17_11-34.apk
由遊俠網下載正式服APK (757MB)
159458-395065-1761046961.apk
這邊覆蓋順序 : 正式服 → 覆蓋 → 測試服
可自行調整覆蓋順序
正式服 \assets\assetbundle 目錄 → 覆蓋 → 測試服 \assets\assetbundle 目錄
手動新增目錄mix
測試服 \assets\assetbundle 目錄 複製一份到mix目錄下 \mix \assets\assetbundle
正式服 \assets\assetbundle 目錄 覆蓋mix目錄下 \assets\assetbundle
覆蓋完後 7168 files (543MB)
這邊當APK基底資源 (base resources)
等下還要用zip熱更新資源來覆蓋
前面有說明正式服與測試服zip熱更新資源包是相同的
只是測試服zip熱更新資源包比較完整
\of\android\zips\1001.zip 到 1059.zip
使用python腳本批次對zip解壓縮
數字大的壓縮包表示資源比較新
wget下載的好處就是可以
可將服務器上的文件最終更新日期保留下來
由圖可知
1001.zip 更新日期 2025.04.18
1059.zip 更新日期 2025.10.29
因此數字小的zip先解壓縮
數字大的zip解壓縮資源後覆蓋
數字小的zip解壓縮資源
依此類推
python腳本
有一目錄下有多個zip壓縮檔
1001.zip 到 1059.zip
依照zip檔名順序
從1001.zip 到 1059.zip開始自動解壓縮
全部解壓縮至目錄 output (同zip所在目錄)
後面的壓縮包解壓出來的資料覆蓋前一個壓縮包解壓出來的資料
如
1002.zip解壓縮至覆蓋1001.zip資料
1003.zip解壓縮至覆蓋1002.zip資料
到
1059.zip解壓縮至覆蓋1048.zip資料
運行unzip.bat
自動運行unzip.py
自動將zip壓縮包依文件名順序解壓縮
1001.zip 到 1059.zip
後面的zip解壓資料會覆蓋前一個zip解壓資料
批次解壓完成後
output目錄 (6453 files 977MB)
測試服zip壓縮包 (59files 2.24GB)
覆蓋後由2.24GB縮水至977MB
所以可以看出有很多重複文件名的資源
如果想要未和諧版的資源
那肯定在最前面的壓縮包內 : )
需要手動解壓縮一一比對
APK 基底資源 (7168 files 543MB)
zip熱更新資源 (6453 files 977MB)
將output資源覆蓋到mix目錄下
覆蓋完後所有資源 (11617 files 1.21GB)
等下還要使用AnimeStudio批次抽出AB包資源
以往都是使用AnimeStudio 圖形化使用者介面 (AnimeStudio.GUI.exe)
這次使用AnimeStudio 命令列介面 (AnimeStudio.CLI.exe)
CLI 是「命令列介面」(Command-line interface) 的縮寫
是一種以文字為基礎的介面,使用者透過鍵盤輸入指令與電腦互動
它在圖形化使用者介面 (GUI) 普及之前廣泛使用
並可透過終端機執行指令或撰寫指令碼來自動化重複性工作
因為本遊戲的AB包都已經分類好在每個子目錄內
每一個目錄都去手動查看抽出資源太費時間(不可能一個一個目錄去翻閱)
因此使用批次命自動瀏覽各子目錄抽出遊戲資源
大概手動看一下AB包有哪些可用類型的資源
確認大概有 TextAsset、Texture2D、AudioClip、Sprite、MonoBehaviour
確認AB包有container path (遊戲資產所在目錄路徑)
等下批次解包出的資源可以依照container path生成子目錄
將C:\Windows\System32\cmd.exe 複製一份與AnimeStudio.CLI.exe放在一起
先抽出 TextAsset、Texture2D、AudioClip
再抽出Sprite、MonoBehaviour、VideoClip (Sprite大多與Texture2D都是同文件名PNG圖檔 , 只是有些尺寸會不一樣) (可以不用輸出)
看個人喜好 : )
將mix目錄下所有文件放入新增目錄input內 (C:\Users\KEVIN\Desktop\mix\input)
手動建立輸出目錄 (C:\Users\KEVIN\Desktop\mix\output)
命令參數 : --game Normal (非特殊 - 普通的AB包)
命令參數 : --types TextAsset Texture2D AudioClip (只抽出TextAsset、Texture2D、AudioClip類型資源)
命令參數 : --types Sprite (只抽出Sprite類型資源)
命令參數 : --types MonoBehaviour (只抽出MonoBehaviour類型資源)
命令參數 : --types VideoClip (只抽出VideoClip類型資源)
命令參數 : --group_assets ByContainer (依照AB包 Container PATH 生成子目錄 - 自動分類抽出的資源)
CMD命令範例 : AnimeStudio.CLI 輸入目錄路徑 輸出目錄路徑 輸出參數
CMD命令 : AnimeStudio.CLI C:\Users\KEVIN\Desktop\mix\input C:\Users\KEVIN\Desktop\mix\output --game Normal --types TextAsset Texture2D AudioClip --group_assets ByContainer
開始自動批次抽出 TextAsset、Texture2D、AudioClip 類型資源
CMD命令 : AnimeStudio.CLI C:\Users\KEVIN\Desktop\mix\input C:\Users\KEVIN\Desktop\mix\output2 --game Normal --types Sprite --group_assets ByContainer
開始自動批次抽出 Sprite 類型資源
命令參數不用再更改
只需要更改輸入目錄路徑與輸出目錄路徑 (要使用絕對路徑)
抽出完成後
output + output2 (19237 files 2.97GB)
Spine文件目錄 \mix\output\assets\game\rawassets\spine
Spine文件版本 4.2.26
.atlas.txt 有多餘後綴 .txt
.skel.bytes 有多餘後綴 .bytes
使用bat批次命令去除多餘後綴
forfiles /s /m *atlas.txt /c “cmd /c rename @file @fname”
forfiles /s /m *skel.byte@filef@fnamele @fnamec “cmd /c rename @file @@fnamecname”
運行png_resize.bat
自動運行png_resize.py
自動修改png圖檔尺寸大小
基本上不需要修改
完成後可使用官方版和網友版
Spine Viewer開啟 skel文件
生成懶人包 : )
遊戲資源AB包與抽出資源懶人包(含工具與python腳本)
com.yhwh.sxzl_20251122.rar (10.4GB) (RAR密碼 : 1234)
Google Drive載點
Mega.nz載點
百度盤載點