leevccc 发表于 2025-1-16 00:18:22

如何汉化客户端内存里的字符串

视频地址:https://www.bilibili.com/video/BV1saw3eBEtS/

如果你要查找的字符串不存在于服务端也不存在于 wz 和 StringPool,那么很有可能这个字符串存在客户端本体中。

首先我们要找到它,在 IDA 中查找文本,搜索时要勾选查找所有事件(不同于搜索立即值和字节码,搜索文本十分的慢)


在结果页,一般函数为空的,就是我们要找的


双击,跳转到目标所在位置,复制目标内存地址,和完整的字符串(不带引号)比如 Male



在北斗插件的 Client.cpp 中找到方法
void Client::MoreHook() {
在这个方法内的任意位置插入
Memory::ReplaceString(0x00AF6D24, "男", "Male");
参数说明:

[*]内存地址 0x开头
[*]要替换的字符串
[*]原字符串

注意要替换的字符串长度应<=原字符串长度,一个中文字符=2个英文字符

disguisebilly 发表于 2025-1-23 16:58:17

这个确实实用 IDA和DBG中都可以搜索 比如那个对联盟 还有那个错误提示
页: [1]
查看完整版本: 如何汉化客户端内存里的字符串