文件关联——木马启动技术打开calc.exe

文章介绍了如何在WindowsXP系统中通过注册表编辑器进行文件关联设置,具体步骤包括新建注册表项、修改默认数值数据以关联特定程序,如将.cjc文件后缀与计算器关联,双击.cjc文件会打开计算器。这种技术也可用于恶意软件的启动,但在更高版本的Windows中可能因安全防护机制而难以实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注册表是操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据,通过它可以控制硬件、软件、用户环境和操作系统界面的数据信息文件。
注册表文件的数据信息保存在system.dat和user.dat中、 利用regedit.exe程序能够存取注册表文件(regedt32.exe是一样的)。在运行里键入regedit就可以进注册表编辑器。

实现文件关联

相关表项:HKEY_CLASSES_ROOT/exefile/shell/open/command

记住上述表项,我们需要根据这个结构完成创建相关表项。

实验环境:windows xp系统

1.利用win+r regedit进入win xp系统注册表

在这里插入图片描述

2. 在boot中新建项 .cjc(你可以取你想要的文件后缀名)

在这里插入图片描述
在这里插入图片描述

修改默认编辑数值数据

3. 在boot中创建项cjcfile,在cjcfile中创建两个项,第一个为default用于标记图标;第二个shell用于关联文件实施劫持

在这里插入图片描述
将default中默认项数值数据修改为相关图标路径。图标为iso格式,你可以选择你想改的图标作为你创建格式文件的默认图标!

4.在shell项中创建open项,在open项中创建command项。其中open不需要修改,将command默认值改为关联文件路径名,并在最后加”1%”

在这里插入图片描述

5. 创建新文件,打开系统计算器calc.exe

在桌面创建.cjc后缀文件,双击之后便打开了计算器完成文件关联劫持,此技术可用于木马启动。不建议在较高windows版本中实现,此后加入了很多防护机制。
在这里插入图片描述

### 如何使用 WinHex 工具查看 calc.exe 的 PE 结构及节区分布 WinHex 是一款功能强大的十六进制编辑器,能够用于分析二进制文件的内容。要通过 WinHex 定位 `calc.exe` 文件的节区并查看其 PE 结构,以下是具体的操作说明: #### 打开目标文件 首先,在 WinHex 中打开 `calc.exe` 文件。这可以通过菜单栏中的 **File -> Open** 来完成。 #### 寻找 DOS 头部 (IMAGE_DOS_HEADER) PE 文件通常以 MS-DOS 可执行文件头部开始,即 IMAGE_DOS_HEADER[^1]。此部分位于文件开头,其中最重要的字段之一是 e_lfanew 字段,它指明了 NT 头部的位置。e_lfanew 值通常是偏移量 0x3C 开始的一个双字(DWORD),表示从文件起始到 PE 标志的距离。 ```plaintext // 使用 WinHex 跳转至偏移地址 0x3C 并读取 DWORD 值作为 NT Header 地址。 ``` #### 查看 NT 头部 (IMAGE_NT_HEADERS) 跳转到由 e_lfanew 指定的偏移处,可以看到字符串 "PE\0\0" 表示这是标准的 PE 文件标志。紧随其后的数据结构就是 IMAGE_FILE_HEADER 和其他相关子结构,例如 IMAGE_OPTIONAL_HEADER。 #### 探索节表 (Section Table) NT Headers 后面紧接着的是节表,描述了每个节的名字、大小以及它们在磁盘上的位置和内存映射情况。每一项记录长度固定为 40 字节,包含了虚拟地址(VA)、物理地址(RVA)、原始尺寸(Size of Raw Data),以及其他属性如权限设置等信息[^4]。 为了更直观地观察这些区域的实际布局,可以在 WinHex 中利用查找命令搜索特定签名或已知值来辅助定位各主要组成部分。例如,尝试寻找“.text”这样的常见节名可以帮助快速找到对应的条目及其关联的数据块。 此外,如果需要进一步验证某些计算结果是否正确无误,则可借助 Stud_PE 这样的专用工具来进行交叉核对。 最后值得注意的一点在于实际应用过程中可能会遇到不同版本之间存在细微差异的情况,因此建议始终参照官方文档或是权威资料获取最新最准确的信息[^2]。 ```python # Python 示例脚本展示如何解析 PE 文件的部分基本信息 import pefile pe = pefile.PE("path/to/calc.exe") for section in pe.sections: print(f"{section.Name.decode().rstrip('\\x00')} - Virtual Address: {hex(section.VirtualAddress)} Size Of Raw Data: {section.SizeOfRawData}") ``` 以上代码片段展示了如何用 PyInstaller 库提取 PE 文件内的所有章节名称连同各自虚拟地址与未压缩前尺寸一并打印出来供参考之用。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值