【Android】アマツツミ | 天津罪 支持GBK

其它 逆向工程android
浏览数 - 596发布于 - 2025-07-15 - 13:38

仓库地址:https://github.com/cokkeijigen/amatsutsumi_android

游戏详细:https://vndb.org/v18852 https://vndb.org/r100211

使用的库:https://github.com/jmpews/Dobby

所需工具:Android Studio MT管理器 RxCMVS Image text 该项目编译后的apk内包含arm64-v8a, armeabi-v7a, x86, x86_64版本的.so文件,主要功能为让游戏支持GBK编码文本,需要手动修改游戏apk让其加载。Image text 主要实现原理不难,hook游戏函数mbstowcs_one 和ApiSjisCheck即可。

static auto call_type mbstowcs_one_hook(uint16_t chars) -> wchar_t
{
    auto u16char { gbk2utf16::query((chars & 0xFF) << 8 | (chars >> 8)) };
    if(u16char != 0xFFFF)
    {
        return u16char;
    }
    return hooker::call<mbstowcs_one_hook>(chars);
}

static auto call_type api_sjis_check_hook(uint8_t achar) -> int
{
    return static_cast<int>(achar > 0x7F);
}

完整代码:native-lib.cpp

0x01 如何让游戏加载libamatsutsumihook.so

首先使用Android Studio编译成apk,然后使用MT管理器打开我们编译好的apkdex,来到Amatsutsumi类中,将loadLibrary相关的smali代码复制。 Image text接着打开游戏的游戏apk中的dex,找到amatsutsumi类,将前面复制的代码粘贴进去。 Image text接着将我们自己编译的apk中的lib整个文件夹添加游戏的apkImage text 最后使用MT管理器重新签名游戏apk即可。

重新编辑于 - 2025-07-15 - 18:03

kohaku