绝区零新版本无法启动

我试试看吧

可能通用,如果不行得单独去找国服的mhypbase尝试

使用这个版本的mhypbase.dll国服我出现了黑屏问题 我去找找国服的试一下
btw 有没有人试过用原神那边stace的方式?

找到了吗?

这个可能得解包慢慢找

目前就是9楼的方法能正常运行游戏(可以ban掉prod域名)

一个网站已经解包好了完整文件,实测2.7.0的mhypbase.dll替换后能够正常运行

首先注意到2.5-2.7的dll md5是一致的。我使用2.7的dll没有跳提示,但是依然是1min左右弹窗然后退出。甚至我drive_c/users/[USER_NAME]/AppData/Local/Temp/miHoYo/ 下的目录是 “绝区零”,而不是“ZenlessZoneZero”,最近的crashlog还是去年7月(虽然也出现了'(mhypbase) (function-name not available) ERROR:SymGetSymFromAddr64,GetLastError: Success'),非常奇怪。我再尝试debug一下,不成功考虑删除游戏重新下载

好像你是国服,要不你再去/Appdata/Localow下找找,应该会有更详细的3份日志

打扰一下,我发现还有一种解决办法,不需要改MHYBase.dll,那就是用strace脚本拖慢速度避免MHYPBase.dll出现竞态条件崩溃。
我在自己设备上测试发现绝区零可以用这个办法避免崩溃问题,下面是strace脚本:

#!/bin/sh
freezer_cmd="strace -f -e trace=process -o /dev/null"
launcher="sleepy-launcher"
target_process_name="ZenlessZoneZero"
cold_time=120

if pgrep strace > /dev/null
then pkill -9 -f strace;
fi
do_freeze () {
while  pgrep strace > /dev/null;
    do
        if pgrep ${target_process_name} > /dev/null
        then
        notify-send -e -a freezer -i dialog-information -u normal '冰柜' '开始冷藏';
        sleep ${cold_time};
        pkill -9 'strace';
        fi
    done
     notify-send -e -a freezer -i dialog-information -u normal '冰柜' '结束冰柜冷藏';
}
${freezer_cmd} ${launcher} &
notify-send -e -a freezer -i dialog-information -u normal '冰柜' '开始初始化冰柜';
if pgrep strace > /dev/null
then do_freeze;
fi
参考:https://github.com/an-anime-team/an-anime-game-launcher/issues/572

ps: 我发现在原神上用strace脚本可能导致游戏窗口画面全黑,不确定是否会在绝区零上发生类似问题。

3.0适用