1管窥软件的文件组成
绝大多数准司机在顺利通过驾驶执照的考试后就欢天喜地开着一堆铁和工程塑料的组合体上路了,在他们眼里,方向盘、仪表基本上代表了汽车。这个世界上,还会有一小部分司机在学会开车后,还想了解车盖里的、底盘下的那些铁器是如何工作的,如果您是这样的人,请继续向下看,如果您是前者,请跳过本章。
绝大多数结构工程师在大学里都修过编程的课,甚至在初中高中就已经接触软件编程了。但是绝大多数学校给土木系的学生开的计算机编程的课是以古老的FORTRAN 为例来讲授的。众所周知,搞图形界面这活儿并不是FORTRAN 的特长甚至可以说是其软肋,而上世纪90年代随着微软的WINDOWS 平台大行其道,没有绚丽的图形界面的软件已经不好意思出来见人了。
当年学了FORTRAN 编程的工程师看到界面五彩缤纷的结构软件后,总觉得自己白学了——明明在大学里拿到了学分甚至考了高分,可是真要想编出一个哪怕是求工字形截面的惯性矩这种仅需要一个对话框的小程序来,还是感觉无从下手,所以觉得能编写这些软件的“码农”有一种神秘感。本章就为您在窗户纸上戳个小窟窿,对我们常用的软件做个入门级的剖析。
DLL 和exe 都是什么文件1.11.1DLL
打开任何一个基于Windows 平台的软件的安装目录,映入眼帘的是一堆堆的Dll 、exe 文件,可能还有少量的ocx 或者arx 为后缀的文件。这些文件都是所谓的PE (Portable Executable )格式的
文件。
话说PE 这种格式,得归功于微软公司在1989年前后聘请
的来自DEC 公司的外援,特别是其中有位叫做Dave Cutler 的。
PE 格式是由Unix 中的COFF 格式修改而来的。1993年,
Windows NT 3.1问世,PE 格式首次作为操作系统的可执行文件格式。PE格式也在不断升级,目前最新版本是2010年9月
发布的8.2版本。
设计这种格式的初衷是定义一种在所有Windows 平台上
和所有CPU 上都可执行的通用文件格式。单词“Portable ”体
现了这个意图。
从Windows 这些年的各种版本来看,应该说PE 格式达到
了当初的设计初衷。图3-1Dave Cutler
Linux 和大多数Unix 版本中的格式是“可执行与可链接格式ELF(ExecutableAnd Linkable) ”(同样也是COFF (Common file format )格式的变种),而苹果操作系统的格式是Mach-O 。
有兴趣对PE 格式进行深入研究的读者,不妨去读读文献i 。不过笔者不推荐结构工程师在这方面花很多时间。
DLL 文件里都有些啥信息呢?对于软件的使用者(非程序员)而言,我们都能从这些文件里挖掘出什么信息呢?如何挖掘呢?请看下节。
1.2软件整容软件
软件也能被整容?当然,不需要懂编程也可以给软件整容的,就像不懂电路原理的人可以把电视机外表装饰得漂亮一点一样。
软件的对话框、示意图等信息一般存储在一些dll 或者exe 文件中,有很多软件可以把这些dll 或exe 文件中的那些对话框、示意图等暴露出来,比如由Angus Johnson 开发的“Resource Hacker”这个免费软件(http://www.angusj.com/resourcehacker)、或者Colin Wilson 开发的软件“XN Resource Editor ”(,开放源代码的)或者Anders Melander 开发的免费软件“Resource Editor ”(http://melander.dk/reseditor)我们可以利用这些软件来给我们所用的软件来整整容。
也许您想到了,所谓的软件汉化,是不是也算是一种整容呢?没错,就是利用上述这些软件来把一些软件界面上的洋文改成中文。汉化软件常用的工具软件还有eXeScope 以及ResScope 等。STAAD
里的大部分对话框都可以在D:\SProV8i\STAAD\Language\Chinese\USEnglish_chs.dll这个文件里找到。
如果您觉得某些字句翻译的不够准确,您完全可以在下图相应位置修改那些字句(比如将“终端颜色”改为“末端颜色”),然后点击“Compile Script ”按钮,保存后退出“Resource Hacker ”,重
新打开STAAD 的某个模型文件,并点击图标,在弹出的对话框里选择“标注”,看看是不是已经改为“末端颜色”了。挪动控件的位置也是类似的方法,在Resource Hacker 选中想要挪动的控件,用键盘上的箭头键挪动即可,做了改动之后别忘点击“Compile Script ”按钮:
其英文版本的在D:\SProV8i\STAAD\Language\USEnglish\USEnglish.dll
这个文件里:
您甚至可以在“Bitmap ”那里找到STAAD-III (上世纪90年代的版本)这个版本的初始界面:
1.3软件DNA 鉴定利器——Dependency Walker 、ViewAPI Dependency Walker 使用说明
QQ 群30787198,敲门请写“玩结构的”
i 戚利,Windows PE 权威指南,机械工业出版社,2011/10
1管窥软件的文件组成
绝大多数准司机在顺利通过驾驶执照的考试后就欢天喜地开着一堆铁和工程塑料的组合体上路了,在他们眼里,方向盘、仪表基本上代表了汽车。这个世界上,还会有一小部分司机在学会开车后,还想了解车盖里的、底盘下的那些铁器是如何工作的,如果您是这样的人,请继续向下看,如果您是前者,请跳过本章。
绝大多数结构工程师在大学里都修过编程的课,甚至在初中高中就已经接触软件编程了。但是绝大多数学校给土木系的学生开的计算机编程的课是以古老的FORTRAN 为例来讲授的。众所周知,搞图形界面这活儿并不是FORTRAN 的特长甚至可以说是其软肋,而上世纪90年代随着微软的WINDOWS 平台大行其道,没有绚丽的图形界面的软件已经不好意思出来见人了。
当年学了FORTRAN 编程的工程师看到界面五彩缤纷的结构软件后,总觉得自己白学了——明明在大学里拿到了学分甚至考了高分,可是真要想编出一个哪怕是求工字形截面的惯性矩这种仅需要一个对话框的小程序来,还是感觉无从下手,所以觉得能编写这些软件的“码农”有一种神秘感。本章就为您在窗户纸上戳个小窟窿,对我们常用的软件做个入门级的剖析。
DLL 和exe 都是什么文件1.11.1DLL
打开任何一个基于Windows 平台的软件的安装目录,映入眼帘的是一堆堆的Dll 、exe 文件,可能还有少量的ocx 或者arx 为后缀的文件。这些文件都是所谓的PE (Portable Executable )格式的
文件。
话说PE 这种格式,得归功于微软公司在1989年前后聘请
的来自DEC 公司的外援,特别是其中有位叫做Dave Cutler 的。
PE 格式是由Unix 中的COFF 格式修改而来的。1993年,
Windows NT 3.1问世,PE 格式首次作为操作系统的可执行文件格式。PE格式也在不断升级,目前最新版本是2010年9月
发布的8.2版本。
设计这种格式的初衷是定义一种在所有Windows 平台上
和所有CPU 上都可执行的通用文件格式。单词“Portable ”体
现了这个意图。
从Windows 这些年的各种版本来看,应该说PE 格式达到
了当初的设计初衷。图3-1Dave Cutler
Linux 和大多数Unix 版本中的格式是“可执行与可链接格式ELF(ExecutableAnd Linkable) ”(同样也是COFF (Common file format )格式的变种),而苹果操作系统的格式是Mach-O 。
有兴趣对PE 格式进行深入研究的读者,不妨去读读文献i 。不过笔者不推荐结构工程师在这方面花很多时间。
DLL 文件里都有些啥信息呢?对于软件的使用者(非程序员)而言,我们都能从这些文件里挖掘出什么信息呢?如何挖掘呢?请看下节。
1.2软件整容软件
软件也能被整容?当然,不需要懂编程也可以给软件整容的,就像不懂电路原理的人可以把电视机外表装饰得漂亮一点一样。
软件的对话框、示意图等信息一般存储在一些dll 或者exe 文件中,有很多软件可以把这些dll 或exe 文件中的那些对话框、示意图等暴露出来,比如由Angus Johnson 开发的“Resource Hacker”这个免费软件(http://www.angusj.com/resourcehacker)、或者Colin Wilson 开发的软件“XN Resource Editor ”(,开放源代码的)或者Anders Melander 开发的免费软件“Resource Editor ”(http://melander.dk/reseditor)我们可以利用这些软件来给我们所用的软件来整整容。
也许您想到了,所谓的软件汉化,是不是也算是一种整容呢?没错,就是利用上述这些软件来把一些软件界面上的洋文改成中文。汉化软件常用的工具软件还有eXeScope 以及ResScope 等。STAAD
里的大部分对话框都可以在D:\SProV8i\STAAD\Language\Chinese\USEnglish_chs.dll这个文件里找到。
如果您觉得某些字句翻译的不够准确,您完全可以在下图相应位置修改那些字句(比如将“终端颜色”改为“末端颜色”),然后点击“Compile Script ”按钮,保存后退出“Resource Hacker ”,重
新打开STAAD 的某个模型文件,并点击图标,在弹出的对话框里选择“标注”,看看是不是已经改为“末端颜色”了。挪动控件的位置也是类似的方法,在Resource Hacker 选中想要挪动的控件,用键盘上的箭头键挪动即可,做了改动之后别忘点击“Compile Script ”按钮:
其英文版本的在D:\SProV8i\STAAD\Language\USEnglish\USEnglish.dll
这个文件里:
您甚至可以在“Bitmap ”那里找到STAAD-III (上世纪90年代的版本)这个版本的初始界面:
1.3软件DNA 鉴定利器——Dependency Walker 、ViewAPI Dependency Walker 使用说明
QQ 群30787198,敲门请写“玩结构的”
i 戚利,Windows PE 权威指南,机械工业出版社,2011/10