Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
lifer — Windows 链接文件(快捷方式)检查器 | Kitploit
工具/GitHubGitHub/paul-tew/lifer
取证分析信息收集数字取证二进制分析
GitHubpaul-tew/lifer

lifer

Windows 链接文件(快捷方式)检查器

查看仓库
68912年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

lifer

一款用于检查Windows链接文件(即Windows快捷方式)的取证工具

简介

'lifer' 是一款Windows或*nix命令行工具,其灵感来源于Harry Parsonage的白皮书《Link Files in Forensic Examinations》(可在此处获取)。该工具最初是我在担任计算机取证分析师期间为提取链接文件中的特定信息以协助调查而编写的轻量级工具。如今我已退休,但仍希望扩展其功能并公开发布,以便他人受益。

提取的信息符合微软开放规范文档'MS-SHLLNK'(可在线查阅此处)。截至撰写本文时,规范版本4.0的大部分内容已实现。我确实希望未来能实现未打开的跳转列表文件的解析。

使用示例

Test目录中文件的相关信息以及如何使用这些文件的详细说明,请参见'.\Test\Tests.txt'文件。以下是简要概述……

安装工具后,打开命令行终端(例如bash或Powershell),从'./lifer/src'目录输入:

root@kitploit:~
lifer -s ./Test/Test1.lnk

应得到如下输出:

root@kitploit:~
LINK FILE -------------- .\Test\Test1.lnk
{**操作系统(stat)数据**}
  最后访问时间:       2017-04-18 20:28:19 (UTC)
  最后修改时间:       2017-04-18 20:28:19 (UTC)
  最后状态变更:      2017-04-18 20:28:19 (UTC)

{**链接文件嵌入数据**}
  {S_2.1 - ShellLinkHeader}
    属性:             0x00000020   FILE_ATTRIBUTE_ARCHIVE
    创建时间:          2008-09-12 20:27:17 (UTC)
    访问时间:          2008-09-12 20:27:17 (UTC)
    写入时间:          2008-09-12 20:27:17 (UTC)
    目标大小:          0 字节
  {S_2.3 - LinkInfo}
    {S_2.3.1 - LinkInfo - VolumeID}
      驱动器类型:       DRIVE_FIXED
      驱动器序列号:     307A8A81
      卷标:            [空]
      本地基路径:       C:\test\a.txt
  {S_2.4 - StringData}
    {S_2.4 - StringData - RELATIVE_PATH}
      相对路径:        .\a.txt
    {S_2.4 - StringData - WORKING_DIR}
      工作目录:        C:\test
  {S_2.5 - ExtraData}
    {S_2.5.10 - ExtraData - TrackerDataBlock}
      机器ID:          chris-xps
      Droid1:          {94C77840-FA47-46C7-B356-5C2DC6B6D115}
      Droid2:          {7BCD46EC-7F22-11DD-9499-00137216874A}
        UUID序列号:      153
        UUID时间:        2008-09-10 10:23:17 (UTC)
        UUID节点(MAC):  00:13:72:16:87:4A

注意:上面标题为'{操作系统(stat)数据}'的部分的日期会有所不同,因为这些日期取决于你安装和访问该链接文件的系统时间。然而,嵌入数据是相同的。

更完整(包含更精确时间戳)的输出可通过省略'-s'选项获得。

要获取链接文件最详细的信息,可使用'-i'选项,该选项也会打印已知的idlist对象的详细信息。此选项与'-s'选项不兼容。

解析目录(文件夹)中的所有链接文件,只需传递该目录名称:

root@kitploit:~
lifer ./src/Test/WinXP

(为简洁起见,此处未显示输出)。

对于多个链接文件,最有用的输出可以通过将输出作为制表符(或逗号)分隔的列表发送到文件中,然后你可以导入到电子表格中进行分析。实现方式如下:

root@kitploit:~
lifer -o tsv ./src/Test/WinXP > WinXP.tsv

或

root@kitploit:~
lifer -so tsv ./src/Test/WinXP > WinXP.tsv

以生成一个删减了部分冗余和无关数据的文件。

关于逗号分隔输出的警告!!

链接文件中的字符串有时可能包含逗号。由于这会与字段分隔符冲突,字符串中的任何逗号都会被替换为分号(即','替换为';')。这仅适用于'-o csv'选项,而不适用于默认的'-o txt'、'-o tsv'和'-o xml'选项。

从发布版安装

访问发布页面,从最新发布版中选择适合你机器的可执行文件并下载。将可执行文件重命名为'lifer'(Windows系统为'lifer.exe')。确保其具备可执行文件的正确属性,然后将其放在包含要检查的链接文件的文件夹中,或将其位置添加到PATH环境变量中,即可使用。

从源代码安装

首先确保你的机器/设备上已安装git;在命令行终端中,切换到所需的项目根目录并执行命令:

root@kitploit:~
git clone https://github.com/Paul-Tew/lifer.git

将创建一个名为'lifer'的新目录。

Linux安装(及其他*nix平台)

(可能适用于Mac安装,但我没有足够的资金来完全测试……) 由于该工具比较简单,依赖项很少,只需确保安装了'gcc'编译器和相关的'libc'开发库即可。 启动命令行终端,导航到**./lifer/src**目录。 执行命令:

root@kitploit:~
gcc -Wall ./lifer.c ./liblife/liblife.c ./libbin2hex/libbin2hex.c -o lifer

如果没有出现警告或错误,你将在该目录中获得一个名为'lifer'的可执行文件,可以通过以下命令检查:

root@kitploit:~
ls -la

如果一切正常,可以通过测试Microsoft文档中指定的文件(该文件包含在你克隆的git仓库中,位于./Test/目录下)来测试lifer是否工作。执行命令:

root@kitploit:~
./lifer ./Test/Test.lnk

你也可以测试lifer对目录中的一组链接文件是否有效,执行命令:

root@kitploit:~
./lifer ./Test/WinXP/

通过以下命令将工具安装到操作系统中:

root@kitploit:~
sudo install ./lifer /usr/bin/

这将使你能够在系统任何位置使用lifer,而无需指定目录前缀(例如,lifer ./Test/Test.lnk 而不是 ./lifer ./Test/Test.lnk)

Windows安装

lifer的GitHub项目附带了一个Visual Studio 2017项目解决方案,因此创建Windows可执行文件最简单的方法是先安装Visual Studio 2017。可在此处获取免费版本(称为“社区版)这里。 安装Visual Studio后:

  • 左键单击文件->打开->项目/解决方案,浏览到lifer.sln文件以将解决方案加载到Visual Studio中。
  • 在标准工具栏中,将解决方案配置选项设置为你机器和偏好适用的选项(例如,我使用:'x64'和'Debug')
  • 从“生成”菜单生成解决方案,或直接使用组合键:Ctrl+Shift+B
  • 如果没有任何错误,你应该会在项目的相关子文件夹中获得一个可执行文件'lifer.exe'。
  • 此时,我通常打开一个Powershell终端,导航到包含可执行文件的文件夹,对我而言,可以执行命令:
root@kitploit:~
cd "F:\\lifer\src\x64\Debug\"
  • 然后使用以下命令测试可执行文件:
root@kitploit:~
.\lifer.exe ..\..\Test\Test1.lnk

也可以在Windows上不安装Visual Studio而构建lifer,但你仍然需要下载并安装Visual C++构建工具,可在此处获取这里 安装后,可在./src/目录中通过执行以下命令构建lifer:

root@kitploit:~
CL lifer.c .\liblife\liblife.c .\Win\dirent.c .\Win\getopt.c .\libbin2hex\libbin2hex.c

鸣谢

'lifer'最初仅适用于Linux/GNU,在找到解决主要障碍——目录导航和以与GNU相同方式解析命令行选项——的解决方案之前,无法真正移植到Windows。为此,我深深感谢以下两个项目:

  1. dirent Kevlin Henney
  2. getopt Ludvik Jerabek

输出解读

鼓励用户在赋予结果任何意义之前阅读白皮书。在未完全理解输出代表什么之前,不应将该工具的结果归因于任何事项;尤其是涉及法庭确定事实的案件。在这种情况下,用户有责任完全理解上述两份文档,并对Windows及其他操作系统如何创建、移动、删除此类文件有全面的了解。同时,还需要具备关于'lifer'如何解释和呈现数据的工作知识(这需要阅读并理解代码)。

非正式免责声明

我只是一个自学的程序员,因此代码中无疑存在大量错误和“陷阱”。为此,我绝不保证此工具不会损害你的系统。我尽力不造成你的机器故障,但通往地狱的道路是由善意铺成的……

正式免责声明

本材料“按原样”提供,不附带任何明示或暗示的保证,包括但不限于适销性、特定用途适用性或不侵权的暗示保证。某些司法管辖区不允许排除默示保证,因此上述排除可能不适用于你。在任何情况下,我均不对任何一方因使用本材料而导致的任何直接、间接、特殊或其他后果性损害承担责任,包括但不限于任何利润损失、业务中断、程序或其他数据在信息处理系统上的丢失或其他情况,即使我们已明确告知此类损害的可能性。

Paul Tew - 2020年3月

下载工具