请扫码关注

关注公众号
随时掌握最新信息

亲爱的vnr用户网站改版升级中
VNR.CN

当前位置: VNR > vnr常见问题 > 使用内存补丁固定VBL的特殊码(各版本通用)
使用内存补丁固定VBL的特殊码(各版本通用)

大家都知道,目前VBL的特殊码是变动的,这非常不方便,那么有没有办法取得固定的特殊码呢?

本着研究的心态,我研究了下VBL的代码。


其他用unity制作的游戏大多使用了mono.dll的函数mono_string_to_utf8或mono_string_to_utf16,


大致的思路只要hook这个位置就能解决问题。


然而这个游戏加密做的太好,文本部分完全不使用这些函数,


仔细研究了一下游戏的代码,文本部分应该是通过mono_runtime_invoke函数来实现的。


而这个函数类似壳的原理,会在运行时才生成代码,


而这部分代码位置是随机的,所以导致特殊码的位置也是随机的。


结论,这不是目前的文本提取工具特殊码级别能解决的问题。


要解决它只有两个办法,


一是直接要破解掉它的壳得到新的exe,这个一劳永逸但是比较复杂;


二是在游戏运行时通过内存补丁破解,这相对简单,


我将采用这种方法解决问题,从而得到固定的特殊码。


需要注意的地方:

1.由于是内存补丁,每次打开游戏时都要运行一次,


虽然还是有点麻烦,至少比自己手动寻找特殊码位置方便不少。

2.一定要在2楼的游戏开始界面使用补丁,太早使用有可能代码还没有加载而无法破解,


在游戏游玩过程中使用有可能会因为同时访问内存导致游戏崩溃。

3.VNR还是要把VNR目录下


Visual Novel ReaderLibraryFrameworksSakurapylibsgameengine的gameengine这个文件夹改名才能正常使用


由于是在mono.dll的领空解决的问题,所以这个内存补丁1.0、1.1、1.22经我测试,都是通用的




使用方法:

1.首先什么文字提取工具都不要开(如vnr、ITH等),运行游戏vbl.exe,等待游戏运行到开始界面,如下图:




2.在这个界面运行本补丁VBLPatch.exe。等待程序执行完成,漏斗图标结束后应该就破解成功了。

3.这个时候打开文字提取工具(如vnr、ITH等),关联游戏,使用特殊码:/HW-4*0@13171D:mono.dll


无意外这时这个特殊码就可以生效了:



原文地址


cache
Processed in 0.005184 Second.