仓库地址: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
即可。auto 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
编辑即可。
[USE_DEFAULT_FONT]
PATH=./font/SourceHanSerifCN-SemiBold.ttf
这里更改为你要替换字体的路径