中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-09-15 05:12
中国DOS联盟论坛 » DOS软件下载 & 游戏分享 (下载室) » [已结]龚成兵的Editor 2.0 查看 10,858 回复 45
楼 主 [已结]龚成兵的Editor 2.0 发表于 2006-09-28 09:33 ·  中国 浙江 台州 电信
管理员
★★★★
DOS非常爱好者
积分 6,215
发帖 2,601
注册 2006-01-20 13:00
20年会员
UID 49256
状态 离线
莫老师的"浅谈DOS软件的汉化"文章中提到的软件,不知哪位网友可以提供一下?
最近想试一下DOS软件的汉化.....................
相关信息:
Editor 2.0 2K 用提取英文字符串方式的汉化工具,比较好用,且在国内也较有名.


下载在3楼!
[已使用 Gemini 解答]
Gemini 解答

历史背景与工具定位

在 20 世纪 90 年代至 2000 年代初的 DOS 环境下,绝大多数国外软件并未采用资源与代码分离的国际化(i18n)架构,界面提示、菜单文本等字符串通常直接以 ASCII 码的形式硬编码(Hardcoded)在可执行文件(.COM.EXE)的数据段甚至代码段中。

帖中提到的由龚成兵开发的 Editor 2.0,是当时国内 DOS 软件本地化(汉化)领域常见的一款专用静态二进制字符串提取与修改工具。在当时的汉化技术体系中(如莫爱凡编写的经典汉化教程《浅谈 DOS 软件的汉化》),这类工具常用于替代通用的十六进制编辑器(如 PC Tools、Hiew),以提高文本查找和替换的效率。


技术原理与实现机制

Editor 2.0 等字符串提取汉化工具的核心工作流程如下:

  1. ASCII 字符串模式扫描: 工具遍历二进制目标文件,识别连续的可打印 ASCII 码序列(字节范围通常在 0x200x7E 之间,且长度达到设定的最小阈值,如连续 3~4 个字符以上),这些序列通常以 0x00(C 语言风格字符串)或回车换行符结尾,或是带长度前缀的 Pascal 风格字符串。
  2. 生成可编辑索引表: 工具记录每个有效英文字符串在文件中的绝对文件偏移量(File Offset)与最大可用字节长度,并以列表形式展示给用户。
  3. 原位替换(In-place Patching): 汉化人员在界面中输入 GB2312 编码的汉字(每个汉字占用 2 个字节),工具将对应的机内码直接写回原始偏移地址。

原位替换的技术局限与边界条件

使用此类工具进行 DOS 软件汉化存在严格的技术边界:

  • 定长约束与内存对齐: 原位修改无法改变文件结构。翻译后的中文字符串总字节数不得大于原始英文字符串分配的字节长度。若中文字符较短,多余的字节必须用空格(0x20)或空字符(0x00)填充;若超出原始长度,直接覆盖会导致破坏相邻的代码指令、指针或后续数据结构,引发程序崩溃(如死机、除零错误或非法内存访问)。
  • 跨段引用与指针重定位失效: 若翻译必须大幅扩充文本长度,无法仅靠静态字符串替换完成,必须配合反汇编工具(如 IDA Pro、Sourcer)调整段内/段间偏移指针,或通过挂钩(Hook)将字符串重定向至新增的附加数据段。
  • 中文显示平台的强依赖: 通过此类工具写入的 GB2312 双字节文本,在原生英文 DOS 环境下无法直接显示汉字(会被当作两个扩展 ASCII 字符渲染为乱码或制表符)。汉化后的程序必须运行在加载了中文支持系统(如 UCDOS、天汇 TW2000、CCDOS 等,通过接管 INT 10h 中断或图形模式提供点阵字库支持)的环境中。
2 发表于 2006-09-28 09:44 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
21年会员
UID 42173
性别 男
状态 离线
以前用过,不过格盘后就什么也没了~~

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
3 发表于 2006-09-28 13:39 ·  中国 北京 丰台区 联通
元老会员
★★
积分 840
发帖 294
注册 2003-09-27 00:00
22年会员
UID 10424
性别 男
状态 离线
看看是不是这个
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
xch788771 +1 2009-02-20 13:09
附件
EDITER2.rar (1.86 KiB, 下载附件所需积分 1 点, 下载次数: 307)
4 发表于 2007-03-16 03:18 ·  中国 黑龙江 牡丹江 联通
新手上路
积分 2
发帖 1
注册 2005-11-28 06:14
20年会员
UID 46071
性别 男
状态 离线
我要下
5 发表于 2007-05-31 16:52 ·  中国 广东 深圳 电信
新手上路
积分 2
发帖 1
注册 2007-05-31 16:10
19年会员
UID 89876
性别 男
状态 离线
good,ok!!!!!!
6 发表于 2007-06-01 22:49 ·  中国 河南 濮阳 联通
初级用户
积分 64
发帖 27
注册 2007-05-31 20:42
19年会员
UID 89903
性别 男
状态 离线
不顶不行。
7 发表于 2007-06-05 01:32 ·  中国 浙江 温州 平阳县 电信
新手上路
积分 8
发帖 4
注册 2006-04-13 15:25
20年会员
UID 53774
性别 男
状态 离线
我也要顶。
8 发表于 2007-08-21 00:39 ·  中国 江苏 南通 电信
初级用户
积分 32
发帖 16
注册 2007-08-02 20:28
19年会员
UID 94526
性别 男
状态 离线
顶顶
9 发表于 2007-08-29 14:54 ·  中国 山东 济南 联通
新手上路
积分 2
发帖 1
注册 2007-08-29 14:22
19年会员
UID 96107
性别 男
状态 离线
谢谢!
10 hi 发表于 2007-09-03 11:04 ·  中国 广东 深圳 龙岗区 电信
新手上路
积分 2
发帖 1
注册 2007-08-30 00:47
19年会员
UID 96149
性别 男
状态 离线
....
11 发表于 2007-09-08 09:10 ·  中国 广东 东莞 电信
初级用户
积分 40
发帖 21
注册 2007-04-02 04:19
19年会员
UID 83678
性别 男
状态 离线
你们好呀!我是刚刚学DOS的,以后还望各位多多关照,你们好呀!我是刚刚学DOS的,以后还望各位多多关照,
12 发表于 2007-09-08 15:46 ·  中国 辽宁 本溪 电信
新手上路
积分 10
发帖 5
注册 2007-09-06 12:00
19年会员
UID 96697
性别 男
状态 离线
大家好呀!
我也是刚学DOS的。请多指教!!
13 需要 发表于 2007-09-12 10:38 ·  中国 天津 电信
新手上路
积分 4
发帖 2
注册 2007-09-12 10:14
19年会员
UID 97166
性别 男
状态 离线
顶 需要
14 呵呵,我的软件居然还有人能够记住 发表于 2007-09-12 12:31 ·  中国 重庆 长寿区 电信
新手上路
积分 12
发帖 6
注册 2006-08-12 10:40
20年会员
UID 60359
状态 离线
呵呵,我的软件居然还有人能够记住,而且这么多年了还有用!没想到。需要的找我也可以。
15 发表于 2007-09-27 09:42 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
这个早就收藏好了
论坛跳转: