软件全教程
初识资源
『资源简介』
软件界面上的各种文字、图像、图标等,在编程的时候根据特定的格式分门别类地存放在软件里面,这些特定的格式就叫“资源”(Resource)。软件资源分为标准资源和非标准资源(简称非标),标准资源通常可以通过PE类资源查看工具(如:PE Explorer、ResScope 等)可视化查看编辑(VB除外),而非标目前还无法实现可视化预览。
特别注意的是VB 程序资源比较特殊,上述分类概念不适用,但人一般把VB 窗体器等提取的窗体资源称为标准资源,而通过点睛字符替换器提取的VB 字串、Unicode 字串和ASCII 字串均称为非标。
常见的标准资源通常有Bitmap(位图)、Menu(菜单)、Dialog(对话框)、String(字符串)、RCData(RC-数据)、Cursor(光标)、Accelerator(加速器)、Icon(图标)、V ersion(版本)、Toolbar(工具栏)、Form(窗体),其中RC-data多见于Delphi程序中,Form多见于VB程序中。
非标资源主要包括ASCII字串、Unicode字串两大类。标准资源后,在软件界面或调用信息时显示、但又不出现在上述标准资源中的字串多数属于非标资源。
『资源分布』
由于编写软件所使用的编程工具不同,软件中的资源发布位置也不尽相同,常见如下:
1. VC 类标准资源由Microsoft V isual C++ 编写,资源一般分布于Menu、Dialog、String 等;
2.Delphi 类标准资源由Borland Delphi 编写,资源一般分布在Rcdata 和String 中;
3.VB 类标准资源由Microsoft Visual Basic 编写,资源一般出现在Form 窗体中;
3.非标资源Unicode 字串和ASCII 字串,后者又可细分为VB 字串、Delphi 字串和其他ASCII 字串。非标资源不出现标准资源中,需要专门的工具才能提取到。
4.语言文件一类特殊的文件,扩展名随作者定,多数为文本格式,常见的文件类型有*.ini、*.lng、*.dll,语言文件根据不同软件,分布的位置不定,有的在安装目录根目录下,有的语言文件夹中(如:language、Lang、Lan等)。
详见本人2006年写的这篇文章:teach.hanzi /index.php?Go=Show::581-1145890624
『学习任务』
目标:请列出示例文件中的资源类型及资源分布
下载示例文件
『参考答案』
001的标准资源有Bitmap、Dialog、String、Icon、Version,非标资源只含ASCII字串,资源发布:标准资源集中于Dialog、String和Version 中,可用Sisulizer或Passolo 等工具,非标为ASCII字串,可用点睛字符替换器或CXA提取。
002为语言文件,在Language 文件夹下,扩展名为lng,文本格式,可以用Passolo 自定义解析规则。
003为VB 程序,标准资源在VB窗体中,非标资源为VB 字串,可用VBLocalize 。海子简介
004为Delph i程序,标准资源主要集中于RC-data和Version中,但Dialog 需要修改字体属性;非标为Delphi 字串。
工具
『工具简介』
软件就是使用专门工具对外文版的软件资源进行读取、翻译、修改、回写等一系列处理,使软件的菜单、对话框、提示等用户界面显示为中文,而程序的内核和功能保持不变的过程,完整的大致要经过侦壳、脱壳、预处理、翻译、编译、测试、修正、发布8个
步骤。这里的专门工具就是狭义上的工具,特指标准资源和非标资源工具,如Passolo、Sisulizer、点睛字符替换器等。广义上的工具指流程中用到的各类工具软件,可谓五花八门。
熟练应用各类的工具是人学习的基本技能之一。工具选用原则大体上如下:
1).根据使用目的有针对性地选用工具;
2).最好带字典功能,提高翻译效率;
3).同类工具软件,由个人使用习惯选择使用。
『学习任务』
实训目标:请将列出下面工具的主要用途及特点(乱序排列)
(1)Radialix (2)UltraEdit (3)Athena-A (4)Resscope (5)UPXShell
(6)NSIS (7)StringManager (8)Passlo (9)AutoFontSet (10)Sisulizer
(11)灵便编辑器(12)VBLocalize (13)FreeRes (14)PE-scan (15)DictionaryHelper
(16)ExeinfoPE (17)点睛字符替换器(18)ResHacker (19)INNO setup (20)Fantasy Editor
(21)PEiD (22)CodeFusion (23)UniversalExtractor (25)ImportREC
(26)PatchMaker (27)FixRes (28)GetVBRes (29)CXA (30)ArmaG3ddon
『参考答案』
(1)Radialix-主工具,可以标准资源和非标资源,但目前稳定性有待完善;
(2)UltraEdit -16 进制编辑器,用于非标辅助工具;
(3)Athena-A -海子开发的非标工具,特是具有挪移字符串和字典提取等功能。
(4)Resscope -标准资源辅助工具,用于标准资源后期修正;
(5)UPXShell -UPX 加壳与脱壳工具;
(6)NSIS -安装包制作工具;
(7)StringManager -非标工具;
(8)Passlo -主工具,标准资源,特点是拥有强大的自定义解析规则;
(9)AutoFontSet -非标字串字体修改工具
(10)Sisulizer -主工具,软件标准资源
(11)灵便编辑器-非标辅助工具,与点睛字符替换器是个经典的组合;
(12)VBLocalize -VB 主程序,可以VB的标准资源和非标字串;
(13)FreeRes -资源处理工具,强制释放软件中可编辑的资源;
(14)PE-scan -侦/脱壳工具,可以脱一下常见的壳(低版本);
(15)DictionaryHelper -字典转换工具,支持常见几种工具的字典文件互相转换;
(16)ExeinfoPE -侦壳工具
(17)点睛字符替换器-非标字串主工具,可以与灵便编辑器配合使用;
(18)ResHacker -资源查看、修改、反编译软件,标准资源辅助工具,但不支持Delphi程序;
(19)INNO setup -安装包制作工具,功能强大;
(20)Fantasy Editor -字典转换工具,支持多种字典文件互相转换;
(21)PEiD -最常用的侦壳工具
(22)CodeFusion -补丁制作工具
(23)UniversalExtractor -万能解包工具
(25)ImportREC -导入表修复工具,用于软件资源修复;
(26)PatchMaker -补丁制作工具
(27)FixRes -资源处理工具
(28)GetVBRes -VB 标准资源工具
(29)CXA -非标资源主工具,与点睛功能相似,各有所长;
(30)ArmaG3ddon -穿山甲壳的自动脱壳工具;
加壳与脱壳
植物有壳,动物有壳,软件亦然。
常见的三种壳:压缩壳、保护壳、捆绑壳。
壳的用途:(1)保护版权信息-不让别人随便更改作者版权信息;(2)减小程序体积-方便存储、传输、使用;(3)黑客界给木马等软件加壳,主要为躲避杀毒软件。
常见的加壳工具:
常见的脱壳工具:
常用的侦壳工具:PEiD、StudPE、PEscan、ExEinfo PE等