首页
社区
课程
招聘
[求助]生化危机三字符编码方式求解!
发表于: 2012-11-11 12:05 4524

[求助]生化危机三字符编码方式求解!

2012-11-11 12:05
4524
小弟最近在研究生化危机三中的字符编码方式,实在没明白,求解。
   描述:原以为生化危机三游戏的字符显示是贴图,如:提示任务,显示物品属性等(分析时在内存在查找不到相关文字),后来跟踪物品显示时发现,好像发现是复杂的处理查表得到文字。
   如显示物品属性(对物品代码下访问断点,找到相关处理函数,物品地址:00B050A4的第一个BYTE是第一个物品代码)代码在0042E5A0 (是佣兵游戏模式)处理完成后,游戏即显示相关文字,如武器为“自动步枪”,物品代码为0x0F,该段代码会访问地址:0051B73D的一段内存。
   初步分析情况为:
    1、0051B73D这段内存以0xF7为结束符;
    2、每个BYTE如果小于0x63为可显的ASCII字符(该BYTE要加0x20),如字符"1",内存中为0x11,直接取值;如果当前BYTE大于等于0x81,则取下一个BYTE一起运算,如当前和下一个BYTE为:0x81,0xc2,则运算为1c2取值;
    3、以第二步的取值查表(最初以为是区位码,现在看来不是);
    4、就不知道做什么了....
      5、0x63代表汉字“啊”,0x64代表汉字“阿”....,0x8101,代表汉字“单”....
      
      如果要还原游戏文字,从0x63到0x84fe分别代表上千个汉字,不可能一一建表查询,想请教游戏是怎样还原得到汉字的(可以在借鉴在程序中对抗字符串查找哟)!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
他游戏用到的汉字是已知的  并不需要表示所有的汉字
可能就是自己建的一个表
2012-11-11 20:06
0
雪    币: 3758
活跃值: (3337)
能力值: ( LV15,RANK:500 )
在线值:
发帖
回帖
粉丝
3
小字库 超小字库。
游戏不需要还原汉字。
2012-11-12 22:33
0
游客
登录 | 注册 方可回帖
返回
//