逆向实战 | galgame的汉化研究(新坑)
开新坑了属于是
主要是在看雪上面看到了这样一个文章:https://bbs.pediy.com/thread-259962.htm
看的时候觉得很简单,亲手操作的时候人都麻了,每个游戏都不太一样,我直接用的我手头的资源去尝试的。
我选择的是Clannad,程序本身加了壳,我没仔细研究这个的脱壳,就想着看一下能不能直接汉化。
主要的游戏目录是这样的:(因为我是用的别人汉化过的版本卸载汉化进行尝试的,所以其实可能跟原版有区别)
主程序就是RealLive.exe,没有别的dll,直接莽。
先把游戏跑起来,然后上CE(CEyyds):
一不小心按到快进了,不过没关系,咱直接搜这个字符串就行。
这里有个大坑,CE默认不搜代码段,但是由于存在加壳,所以管他是啥全都搜一遍,记得勾选codepage:
然后依旧搜不到,没有关系,因为是按gbk搜的,应该要按sjis才行,所以我直接用编辑器新建了个txt然后保存编码为sjis然后搜这个字符串的hex就可以了。
非绿色基址的部分就是我们要找的字符串资源文件的位置了!
验证的方式也很简单,就是Browse the Memory region,然后找一点别的字符串拿出来验证一下:
比如说我们把这一整串拿出来读一下:
88 EA 96 CA 81 41 94 92 82 A2 90 A2 8A 45 81 63
用hex形式写进去然后用sjis读取:
非常nice:
可以再找点扩展ascii的片段试一试:
基本上可以说我们找到了目标在内存中的位置,然后下硬件断点进行调试就好了。
(今天就写这么多,有空继续23333)
本文来自博客园,作者:Mz1,转载请注明原文链接:https://www.cnblogs.com/Mz1-rc/p/15371247.html
如果有问题可以在下方评论或者email:mzi_mzi@163.com
原文地址:https://www.cnblogs.com/Mz1-rc/p/15371247.html
- 1051: [HAOI2006]受欢迎的牛
- 1572: [Usaco2009 Open]工作安排Job
- 深海中的STL—mt19937
- 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御
- POJ1201 Intervals(差分约束)
- 【NLP】十分钟快览自然语言处理学习总结
- MVC5 网站开发之九 网站设置
- Redis安全小结
- webpack学习(七)打包压缩图片
- POJ1275 Cashier Employment(差分约束)
- REDIS操作命令小结
- Java发送邮件工具类
- javascript 变量、作用域和内存问题
- 1726: [Usaco2006 Nov]Roadblocks第二短路
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python魔法方法是什么
- 如何同步上游分支代码?
- 在 Pycharm 中安装及使用 Jupyter (图文详解)
- 【经验分享】如何使用keras进行多主机分布式训练
- 分享一种接口的日志格式
- Python 基础(二):基本语句
- javaScript代码飘红报错看不懂?读完这篇文章再试试!
- Synchronized简述
- PythonforResearch | 2_数据处理
- 程序员过关斩将--Http请求中如何保持状态?
- 如何有效恢复误删的HDFS文件
- 别再用OFFSET和LIMIT分页了
- 别再用大小比较时间了
- Redis快速入门
- 捉虫记:Unexpected end of JSON input while parsing