忘却前夜有大佬来解一下吗,24年的帖子方法用不了了

用HxD看了开头是UnityFS����5.x.x�2022.3.61t8,但是assetstudio打不开:persevering_face:

游戏文件 (2).zip (5.9 MB)

image
:tieba_08: 没有游戏信息 没有二进制文件 没有历史帖子链接

感谢大佬回复,游戏名字是Morimens(在steam上,需要加速器入库),这是之前有讨论的帖子链接有大佬会解包忘却前夜吗 - 讨论 - Live2DHub ,我不知道是不是我用的as版本有问题:sad_but_relieved_face:

dll加壳了,key应该是这个 514/wedsjjhfb#0v → HEX 3531342f776564736a6a686662233076 ,但是解不出来, 看样子还有其他处理,暂时没找到

if ( !qword_1828E97C0 )
{
    n4 = 4;
    xlua = L"xlua";
    n12 = 12;
    xlua_get_key = "xlua_get_key";
    n2_1 = 1;
    n2 = 2;
    v23 = 0;
    v4 = (__int64 (__fastcall *)(Z1ClientUpdater_GameUpdater_c *, const MethodInfo *))sub_18028AD00(&xlua, method);
    qword_1828E97C0 = (__int64)v4;
}
ptr = v4(Z1ClientUpdater.GameUpdater_TypeInfo, method);
KeySafe = Z1ClientUpdater_GameUpdater__GetKeySafe(ptr, 0);
UnityEngine_AssetBundle__SetAssetBundleDecryptKey(KeySafe, 0);

就是标准的,实际key不在Decryptkey上

方便细说么

你找到了deckey往上翻调用就能找到判断2个key的地方

PC的话直接Cheat Engine分析Mono然后调试

有反调试么,调试器附加之后游戏进程就自动退出了

themdia,用unlicense就能脱

1 个赞

这玩意用的团结引擎,要用这个拆

这地方真能学到东西…打 THUCTF正好不知道themdia怎么脱壳 :rofl:

脱壳倒是可以直接从内存dump来绕过,这个tj3d 也就是 u3d 没加密,其他的ab包还是有UnityCN,这个AssetStudio_Tuanjie并不支持处理UnityCN
unlicense 脱壳之后 重新试了一遍,跟dump出来的没什么区别,能找到的唯一相关引用都显示SetAssetBundleDecryptKey 是通过 xlua_get_key来获取key的,也就是514/wedsjjhfb#0v ,然后就交给Unity底层继续处理了。
但是结果呢并不理想 :face_with_monocle:


我也没太明白 “你找到了deckey往上翻调用就能找到判断2个key的地方” 到底是什么意思

xlua也被加壳了,而且lua54字节码也做了修改,比想象中的复杂

只是调用了xlua的xlua_get_key方法,而这个方法仅仅只是返回上面提到的那个string

而且有代码虚拟化

安卓版本倒是没有,大部分符号都是全的

这玩意不会是团结引擎的ab包+UnityCNkey两者结合吧

我也在考虑是不是这样,得看看这个团结引擎的ab包结构跟常规的Unity ab包结构有什么区别

还真是,团结引擎的结构+UnityCNkey,气笑了

mesh要额外处理

要改的地方还是挺多的