### Windows 快捷方式文件格式详解 #### 引言 Windows 快捷方式(.LNK文件)是一种用于快速访问程序、文件或目录的图标。本文档由 Jesse Hager 反向工程,深入解析了 Windows 快捷方式文件格式的内部结构与功能,对于在非 Windows 平台如 DOS、Linux 或 Java 环境下处理此类文件的开发者来说,具有重要参考价值。 #### 文件结构概览 Windows 快捷方式文件主要由以下部分组成: 1. **文件头**:包含标识符、全局唯一标识符(GUID)、标志位、文件属性、时间戳、文件长度、图标编号等信息。 2. **Shell item ID list**:用于存储指向目标对象的路径信息。 3. **文件定位信息**:包括本地路径、网络路径、描述字符串、相对路径、工作目录、命令行参数、图标文件名等。 4. **额外信息**:可能包含未完全解析的数据。 #### 文件头详解 - **偏移量0h**:固定的长整型数值0x4C(即字母"L"的ASCII码),用于识别有效的快捷方式文件。 - **偏移量4h**:16字节的GUID,为所有Windows快捷方式文件所共有,标准表示为`{00021401-0000-0000-00C0-000000000046}`。 - **偏移量14h**:标志位,用于指示文件的特性,如是否包含相对路径、是否有图标等。 - **偏移量18h**:文件属性,如只读、隐藏、存档等。 - **偏移量1Ch至2Ch**:三个时间戳值,分别代表创建时间、最后访问时间和最后修改时间。 - **偏移量34h**:文件长度,以字节为单位。 - **偏移量38h**:图标编号,用于在目标文件中查找特定图标资源。 - **偏移量3Ch**:显示窗口模式值,决定快捷方式打开时窗口的初始状态(最小化、最大化或正常)。 - **偏移量40h**:热键设置,可指定一个组合键作为快捷方式的快捷键。 - **偏移量44h**:两个未知的长整型值,通常被设置为零。 #### Shell item ID list 解析 Shell item ID list 是一种复杂的层次结构,用于存储从根目录到目标文件或目录的完整路径。每个项目(Item)代表路径中的一个元素,如驱动器、目录或文件。这种结构允许Windows操作系统高效地解析和定位目标。 #### 文件定位信息 这部分包含了一系列的字符串数据,如本地路径、网络路径、描述、相对路径、工作目录、命令行参数和图标文件名,这些信息共同定义了快捷方式的行为和外观。 #### 结论 Windows 快捷方式文件格式的解析不仅对于理解Windows操作系统的内部机制有重要意义,而且对于跨平台软件开发也极为关键。通过掌握这一格式,开发者可以实现更灵活的文件访问和资源管理,尤其是在非 Windows 系统上处理Windows格式的快捷方式文件时,能够提供更加兼容和高效的解决方案。 然而,值得注意的是,由于文档是反向工程的结果,可能存在一定的不确定性和不准确性。对于在Windows环境下进行开发的人员,建议使用官方提供的IShellLink接口,以确保代码的稳定性和安全性。而对于其他平台的开发者,这份文档则成为了一把开启Windows世界之门的钥匙,帮助他们更好地理解和利用Windows系统资源。
2025-11-30 00:20:55 44KB Shortcut File Format 快捷方式
1
TSK MAP FILE FORMAT.docx
2025-01-15 17:30:06 111KB
1
Information technology — Coding of audio-visual objects — Part 14: MP4 file format Third edition 2020-01 ISO/IEC 14496-14:2020标准,又称为MP4文件格式,是国际标准化组织(ISO)和国际电工委员会(IEC)联合制定的一套音频-视频对象编码标准的一部分,该标准第三版发布于2020年1月。这个标准详细定义了如何在MP4文件中存储和组织音频、视频和其他多媒体数据。 MP4(MPEG-4 Part 14)文件格式是一种广泛使用的数字媒体容器格式,能够包含多种类型的媒体数据,如音频、视频、字幕、交互式图形等。它基于MPEG-4编码技术,提供了高效的数据压缩和流式传输能力,使得多媒体内容能在互联网、移动设备、存储媒介以及广播系统中流畅地传输和播放。 该标准的核心内容包括以下几个方面: 1. **文件结构**:MP4文件的结构基于Box(盒子)模型,每个Box包含特定类型的信息,如媒体数据、元数据、时间线信息等。这些Box可以嵌套,形成复杂的文件层次结构,使得文件内容易于解析和处理。 2. **媒体数据编码**:标准支持多种编码算法,如AAC(Advanced Audio Coding)用于音频,H.264/AVC(Advanced Video Coding)或H.265/HEVC(High Efficiency Video Coding)用于视频,这些编码技术提供高效的压缩比,降低存储和传输需求。 3. **时间同步**:MP4文件格式允许精确的时间同步,确保音频和视频帧以及其他同步元素如字幕能够在正确的时间播放。 4. **元数据支持**:元数据可以嵌入MP4文件中,包含关于文件内容的描述信息,如作者、版权、内容描述等,这有助于内容管理和版权保护。 5. **流式传输**:MP4文件格式支持分段和切片,使得内容能够逐段加载和播放,这对于在线视频流服务至关重要。 6. **互操作性**:MP4格式设计时考虑了与其他标准和系统的兼容性,如HTTP Live Streaming (HLS) 和Dynamic Adaptive Streaming over HTTP (DASH),确保不同平台和设备之间的内容交换和播放。 7. **扩展性**:MP4格式允许通过添加新的Box类型来扩展功能,以适应未来可能出现的新技术和需求。 MP4文件格式的广泛应用得益于其灵活性和强大的功能。从在线视频平台到移动设备上的多媒体播放,从数字电视到虚拟现实应用,MP4都在多媒体领域扮演着重要角色。随着技术的发展,ISO/IEC 14496-14标准也会持续更新,以适应不断变化的多媒体编码和传输需求。
2024-10-23 19:40:11 1.98MB 14496
1
超级巡警病毒分析 File Format Identifier(自动查壳脱壳) v1.53 汉化中文版 本工具是一款辅助进行病毒分析的工具,它包括各种文件格式识别功能,使用超级巡警的格式识别引擎,集查壳、虚拟机脱壳、PE文件编辑、PE文件重建、导入表抓取(内置虚拟机解密某些加密导入表)、进程内存查看/DUMP、附加数据处理、文件地址转换、PEID插件支持、MD5计算以及快捷的第三方工具利用等功能,适合病毒分析中对一些病毒木马样本进行系统处理。 本软件产品为免费软件,用户可以非商业性地下载、安装、复制和散发本软件产品。如果需要进行商业性的销售、复制和散发,例如反病毒公司用来批量分析木马,必须获得DSWLAB的授权和许可,商业公司及团队使用本软件必须获得DSWLAB的授权和许可。 作为辅助进行病毒分析的工具,它包括各种文件格式识别功能,使用超级巡警的格式识别引擎,集查壳、虚拟机脱壳、PE文件编辑、PE文件重建、导入表抓取(内置虚拟机解密某些加密导入表)、进程内存查看/DUMP、附加数据处理、文件地址转换、PEID插件支持、MD5计算以及快捷的第三方工具利用等功能,适合病毒分析中对一些病毒木马样本进行系统处理。 V1.4新增功能: ★新增自动获取导入表功能,该功能使用虚拟机虚拟执行技术来进行导入表的获取,具备自动解密功能,可以轻松获取ImportREC无法正确获取的导入表。(详见下面节九)对该功能有更多想法的人欢迎联系我们。 ★增加的更多的细节描述,对PE文件进行更细致的解析,对错误文件/无效的PE文件/无法执行的PE文件报告错误原因。感谢Pedro Lopez建议此功能。 ★新增皮肤功能,使得界面更漂亮,可在设置中切换自己喜欢的皮肤风格。感谢fly(unpack.cn)建议此功能。 ★扩展签名库集成Fly收集的签名库。感谢fly(unpack.cn)授权。 ★其他几个BUG修正。 V1.3新增功能: ★增加进程查看、终止功能,支持三种dump方式:Dump Full、Dump Partial和Dump Region,支持自动修正模块内存镜像大小。(详见下面节八) V1.2新增功能: ★全面支持PEID插件功能。使用前需要在设置中指定Load Plugins就可以使用PEid的插件功能,无需重启FFI,插件必须放plugins目录下,设置好后点Plugin>>就可看到相应插件。 ★增加支持重建PE的功能,用以修复许多损坏的PE文件,或者脱壳后文件无法重新加壳的情况。 V1.1新增功能: ★增加使用VMUnpacker脱壳引擎进行脱壳的功能,对识别出来的壳可直接点击Unpack按钮脱掉,方便分析加壳木马,本版本脱壳引擎脱壳能力等同于VMUnpacker V1.4 。 ★增加对附加数据的处理,可将附加数据直接删除或者保存为文件,方便进一步分析。 ★增加PE文件的地址转换功能,可方便的换算RAV<->RAW 。 详细功能说明如下: 一、查壳功能: 支持文件拖拽,目录拖拽,可设置右键对文件和目录的查壳功能,除了FFI自带壳库unpack.avd外,还可以使用扩展壳库(必须命名为userdb.txt,此库格式兼容PEID库格式,可以把自己收集的userdb.txt放入增强壳检测功能)。 注:如果是使用扩展库里特征查出的壳,在壳信息后面会有 * 标志。 二、脱壳功能: 如果在查壳后,Unpack按钮可用,则表示可以对当前处理文件进行脱壳处理,采用虚拟机脱壳技术,您不必担心当前处理文件可能危害系统。 三、PE编辑功能: 本程序主界面可显示被检查的程序的入口点/入口点物理偏移,区段等信息,并且提供强大的编辑功能。 其中PE Section后按钮可以编辑当前文件的节表,点击后出现Sections Editor窗口。 主要功能有: ★显示详细的节段信息 ★可查看编辑区段名称、大小、执行属性等相关信息。 ★清除选定的区段名称 ★对区段进行自动修复 ★从磁盘加载区段 ★保存区段到磁盘 ★增加一个新的区段 ★从文件中删除区段 ★从PE头中删除区段(区段内容实质还在) ★用指定的数据填充区段 SubSystem后按钮可以显示PE文件的详细信息,支持详细编辑PE文件的Dos头,NT头等信息,支持查看PE文件的导出表、导入表信息,本项目功能太细致具体请参考界面。 四、附加数据检测: 可扫描应用程序是否包含附件数据,并提供了附加数据详细的起始位置和大小,可以用Del Overlay按钮和Save Overlay按钮进行相应的处理。 五、支持PEid插件: 点Options按钮选择Load Plugins就可以使用PEid的插件功能,无需重启FFI,插件必须放plugins目录下,然后点Plugin>>就可看到相应插件信息。 六、ReBuild PE 功能: 本功能主要是用来对脱壳后的PE文件进行修复,一般可用来解决脱壳后无法重新加壳等问题,使用ReguildPE按钮即可完成此功能。 七、第三方工具支持: 在Options按钮中,点Manage Tools按钮,可以用右键菜单添加/删除IDA/OllyDBG等第三方工具,这样就可以直接在FFI里启动OllyDBG、IDA这些工具来打开当前文件进行反汇编。 注:添加第三方工具后,点Plugin>>按钮就可以看到您添加的工具信息了,点击即可用此工具打开当前处理文件。 八、进程DUMP: 点TaskView按钮后,可以进行进程的终止,进程中模块内存的dump,目前支持三种dump方式:Dump Full、Dump Partial和Dump Region,还支持自动修正主模块内存镜像大小。 九、导入表抓取: 点Get IAT按钮后,选择进程后就可以抓取导入表,在DumpFixer前请填上正确的OEP信息。 如果出现不可识别的函数信息,您可以设置虚拟机解密步数,在导入表信息框中用右键点VM Decode尝试解密这个函数 如果您发现抓取的导入表信息有些不是您想要的,可以在导入表信息框中用右键点Del Thunk或者Cut Thunk让其消失。 如果您要对进程的非主模块抓取导入表,请在Manipulation records窗口中对相应模块信息点右键Load this module,这样抓取的导入表就是这个模块的了。
2024-03-24 14:35:49 2.7MB 超级巡警 病毒分析 File
1
ISO-IEC 14496-12 ISO Base Media File Format
2023-11-06 11:27:16 517KB ISO-IEC 14496-12
1
amf协议格式英文文档 1 Introduction 1.1 Purpose 1.2 Notational Conventions 1.2.1 Augmented BNF 1.3 Basic Rules 1.3.1 Variable Length Unsigned 29-bit Integer Encoding 1.3.2 Strings and UTF-8 2 Technical Summary 2.1 Summary of improvements 3 AMF 3 Data Types 3.1 Overview 3.2 undefined Type 3.3 null Type 3.4 false Type 3.5 true Type 3.6 integer Type
2023-06-19 19:24:47 107KB amf协议格式
1
音频文件 一个简单的仅用于标头的C ++库,用于读取和写入音频文件。 当前支持的格式: WAV 联合会 作者 AudioFile由Adam Stark编写和维护。 用法 创建一个AudioFile对象: #include "AudioFile.h" AudioFile audioFile; 加载音频文件: audioFile.load ("/path/to/my/audiofile.wav"); 获取有关已加载音频的一些信息: int sampleRate = audioFile.getSampleRate(); int bitDepth = audioFile.getBitDepth(); int numSamples = audioFile.getNumSamplesPerChannel(); double lengthInSeconds = audioF
2022-12-14 16:39:38 31.17MB audio read audio-files file-format
1
Hspice SI 分析时,S-Parameter需要读入一种touchstonefile,这个文件描述了ts文件1.1 的文件格式。
2022-11-10 09:42:54 261KB touchstone si hspice aligent
1
DISCLAIMER Intel makes no representation or warranties with respect to the contents hereof and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. Further, Intel reserves the right to revise this publication from time to time in the content hereof without obligation of Intel to notify any person of such revision or changes. The publication of this specification should not be construed as a commitment on Intel's part to implement any product.
2022-07-28 09:51:51 20KB Hex
1
dbc 格式说明,对于dbc的格式做了很清楚的说明,有利于对dbc有进一步了解
2022-06-23 11:27:37 156KB dbc 格式说明
1