仓库地址:https://github.com/cokkeijigen/amatsutsumi_android
游戏详细:https://vndb.org/v18852 https://vndb.org/r100211
使用的库:https://github.com/jmpews/Dobby
所需工具:Android Studio MT管理器 RxCMVS
该项目编译后的
apk内包含arm64-v8a,armeabi-v7a,x86,x86_64版本的.so文件,主要功能为让游戏支持GBK编码文本,需要手动修改游戏apk让其加载。让游戏支持GBK其实很简单,只需要hook游戏函数
mbstowcs_one和ApiSjisCheck即可。cppauto mbstowcs_one::func(uint16_t chars) -> wchar_t { bool is_sjis_chars { /* ♪・~- 在GBK中没有的SJIS特殊符号 */ chars == 0xF481 chars == 0x4581 chars == 0x6081 || chars == 0x7C81 }; if(!is_sjis_chars) { auto u16char { gbk2utf16::query((chars & 0xFF) << 8 | (chars >> 8)) }; if(u16char != 0xFFFF) { return u16char; } } return hooker::call<mbstowcs_one::func>(chars); } auto api_sjis_check::func(uint8_t achar) -> int { return static_cast<int>(achar > 0x7F); }完整代码:amatsutsumi.cpp
0x01 如何让游戏加载libamatsutsumihook.so
首先使用Android Studio编译成apk,然后使用MT管理器打开我们编译好的apk中dex,来到Amatsutsumi类中,将loadLibrary相关的smali代码复制。
接着打开游戏的游戏apk中的dex,找到amatsutsumi类,将前面复制的代码粘贴进去。
接着将我们自己编译的apk中的lib整个文件夹添加游戏的apk中
最后使用MT管理器重新签名游戏apk即可。
0x02 更改默认字体
打开游戏数据目录下的cmvs.cfg 编辑即可。
cfg
[USE_DEFAULT_FONT]
PATH=./font/SourceHanSerifCN-SemiBold.ttf
这里更改为你要替换字体的路径
该项目编译后的
让游戏支持GBK其实很简单,只需要hook游戏函数