找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 158|回复: 1

[教程] 如何汉化客户端内存里的字符串

[复制链接]

33

主题

12

回帖

99

积分

管理员

积分
99
发表于 2025-1-16 00:18:22 | 显示全部楼层 |阅读模式
视频地址:https://www.bilibili.com/video/BV1saw3eBEtS/

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

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


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


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



在北斗插件的 Client.cpp 中找到方法
  1. void Client::MoreHook() {
复制代码

在这个方法内的任意位置插入
  1. Memory::ReplaceString(0x00AF6D24, "男", "Male");
复制代码

参数说明:
  • 内存地址 0x开头
  • 要替换的字符串
  • 原字符串

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我尽可能地不设置回复可见,希望让跟帖更有质量,有问题欢迎跟帖提问。

0

主题

5

回帖

43

积分

新手上路

积分
43
发表于 2025-1-23 16:58:17 | 显示全部楼层
这个确实实用 IDA和DBG中都可以搜索 比如那个对联盟 还有那个错误提示
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|蘑菇物语

GMT+8, 2025-4-19 16:18 , Processed in 0.057650 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表