學園默示錄 HIGH SCHOOL OF THE DEAD DAY 0
解包看是Unity WebGL,F12 Network 初次切换夥伴角色时,会载入类似以下命名的档案:
show_partner_shaye01_low.bytes
show_partner_shaye02_low.bytes
show_partner_shaye03_low.bytes
show_partner_shaye04_low.bytes
show_partner_li01_low.bytes
show_partner_li02_low.bytes
show_partner_li03_low.bytes
show_partner_li04_low.bytes
show_partner_jingxiang01_low.bytes
show_partner_jingxiang02_low.bytes
show_partner_jingxiang03_low.bytes
show_partner_jingxiang04_low.bytes
show_partner_yazi01_low.bytes
show_partner_yazi02_low.bytes
show_partner_yazi03_low.bytes
show_partner_yazi04_low.bytes
我用简单的 binary string scan 检查后,发现部分 .bytes 内可以看到 Spine / atlas 相关内容,感觉应该是 Spine 资源。但没成功还原 skeleton / atlas / png。现在有点卡住了
求懂 Spine / Unity 资源分析的大佬指点一下方向,感谢
我猜这个bytes应该是UnityWebGL序列化的产物,同时做过了处理
找到了一点可能有用的东西
platform-sc.g123.jp/micro-app/auxin/1.16.92/assets/index.js
发现了下面这么一段
window.loadSpineAnimationData=loadSpineAnimationData;function initAnimate(_e,$,et){const{onComplete:tt}=et;let nt="";_e.base_path?nt=_e.base_path:nt="https://platform-sc.g123.jp/micro-app/auxin/",nt.endsWith("/")||(nt+="/");let it;_e.overrideLang==="ja"?it="ja":_e.overrideLang==="zh-TW"?it="zh-TW":_e.overrideLang==="ko"?it="ko":it="en";const{animeName:rt,animation:at}=_e,st=$.current,ot={};ot[`${rt}.json`]=`${nt}${it}/${rt}.json`,ot[`${rt}.atlas`]=`${nt}${it}/${rt}.atlas`,ot[`${rt}.webp`]=`${nt}${it}/${rt}.webp`,new SpinePlayer(st,{binaryUrl:`${nt}${it}/${rt}.json`,atlasUrl:`${nt}${it}/${rt}.atlas`,premultipliedAlpha:!1,alpha:!0,backgroundColor:"#00000000",animation:at,rawDataURIs:ot
如果知道模型名称,就可以得到
- https://platform-sc.g123.jp/micro-app/auxin/{lang}/{animeName}.json
- https://platform-sc.g123.jp/micro-app/auxin/{lang}/{animeName}.atlas
- https://platform-sc.g123.jp/micro-app/auxin/{lang}/{animeName}.webp
这里的lang可以从"ja" / "zh-TW" / "ko" / "en"选一个,但是这个名称就不知道了,尝试了show_partner_yazi01_low,yazi01以及show_partner_yazi01,也就是上面的bytes文件的名称,都不太行
LHN
4
有什么进展吗?感觉贴图是加密流式加载,不会暴露独立下载链接,也没有独立的游戏主包
wooli
5
我尝试过丢给GROK去解包,但是GROK通过暴力去解不行,它给出最大的问题是需要签名,我一个只懂皮毛的菜鸟咋会看签名