比特派官网公告最新版下载|pf文件

作者: 比特派官网公告最新版下载
2024-03-07 20:31:22

PF文件是什么文件,有什么功能,麻烦回答一下,谢谢? - 知乎

PF文件是什么文件,有什么功能,麻烦回答一下,谢谢? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册文件管理文件文件修复PF文件是什么文件,有什么功能,麻烦回答一下,谢谢?关注者2被浏览21,590关注问题​写回答​邀请回答​好问题​添加评论​分享​2 个回答默认排序降而生商​ 关注预读文件,功能在于加快系统运行速度,改善系统运行效率发布于 2021-07-17 00:45​赞同​​添加评论​分享​收藏​喜欢收起​蚁景网络安全科技专注网络安全人才培养​ 关注# 一、简介Prefetch预读取文件,简称pf文件,是从Windows XP开始引入,作用是加速系统和应用程序启动过程。pf文件包含了可执行文件的名称、路径、调用DLL文件的列表、上次执行时间、运行次数等信息。简单来说,就相当于缓存。在Windows 7中可以记录128个条目,Windows 8/10可记录1024个条目。# 二、文件分析pf文件存储在%SystemRoot%\Prefetch文件夹中。Pf文件的名称由“大写字母的应用程序名、-、大写的8位十六进制哈希值、.pf扩展名”组成。当用户首次运行某个应用程序的时候,Windows操作系统的Windows Cache Manager程序会跟踪记录应用程序启动过程中所需的代码和数据(主要是DLL),然后由一个名为NTKRNLPA.exe的核心进程将在内存中跟踪的数据以pf文件的形式保存下来。当用户下一次运行相同程序时候,系统会首先读取pf文件将必要的数据和代码加载到内存中,以加快程序的启动过程。通过WinHex打开一个pf文件观察其组成结构:(这里以Windows 7中的pf文件举例)偏移位置:00H:17 00 00 00:pf文件格式的版本偏移位置:04H:53 43 43 41:签名SCCA偏移位置:08H:11 00 00 00:未知偏移位置:0CH:C6 4D 01 00:pf文件长度偏移位置:10H:43 00 48 00 52 00 4F 00 4D 00 45 00 2E 00 45 00 58 00 45 00 00:应用程序的名称,这里是CHROME.EXE偏移位置:4CH:BA B1 99 D9:pf文件的哈希值,与应用程序名称一起组成了pf文件名偏移位置:80H:D2 38 72 D9 E0 6B D7 01:应用程序最后一次运行的时间偏移位置:98H:0B 00 00 00:应用程序运行次数在不同的系统版本中,pf文件的版本有所不同,在Windows xp/2003中版本是17(0x11),Windows 7是23(0x17),Windows 8 是26(0x1a),Windows 10的版本是30(0x1e)。pf文件信息的格式也因为pf版本不同而有所不同:如在xp系统中pf文件信息中记录应用程序最后一次运行的时间的偏移位置是78H,记录程序运行次数的偏移位置是90H。如果是Windows 10的pf文件则是经过压缩的(Microsoft XPRESS Huffman(LZXPRESS)压缩算法),文件结构信息如下:开头的4D 41 4D 04是MAM签名,然后是EE 65 04 00是压缩pf文件的总长度。# 三、Prefetch取证实战描述:公司的SIEM系统识别到公司某些主机上一个名为Scvhost.exe的可疑文件。我们确认Scvhost.exe是否已经在主机上运行过,运行的时间及如何被删除的。找出可疑文件的最后执行时间和执行次数。提供的附件:通过使用pf解析工具PECmd(https://github.com/EricZimmerman/PECmd)对pf文件进行分析。根据pf文件解析的结果进行分析,可以得出该文件最后执行的时间是2020-02-07 21:26,总共运行的次数是4次。根据程序执行的时间线分析:可能是通过微软Sysinternals的sdelete.exe工具进行删除的。【——全网最全的网络安全学习资料包分享给爱学习的你,关注我,私信回复“领取”获取——】1.网络安全个方向学习路线2.全网最全的CTF入门学习资料3.一线大佬实战经验分享笔记4.网安大厂面试题合集5.红蓝对抗实战技术秘籍6.网络安全基础入门、Linux、web安全、渗透测试方面视频# 参考文章:[Windows Prefetch File Format - Forensics Wiki](https://forensicswiki.xyz/wiki/index.php?title=Windows_Prefetch_File_FormatCompression - Forensics Wiki:https://forensicswiki.xyz/wiki/index.php?title=Compression作者:合天网安实验室 声明:笔者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天网安实验室及原作者无关,本文为合天网安实验室原创,如需转载,请注明出处!发布于 2022-07-05 09:28​赞同 1​​添加评论​分享​收藏​喜欢收起​​

Windows系统 Prefetch目录 *.pf 文件解析 -- 探索程序运行记录、保护隐私_pf文件分析-CSDN博客

>

Windows系统 Prefetch目录 *.pf 文件解析 -- 探索程序运行记录、保护隐私_pf文件分析-CSDN博客

Windows系统 Prefetch目录 *.pf 文件解析 -- 探索程序运行记录、保护隐私

最新推荐文章于 2021-05-02 05:11:13 发布

duke56

最新推荐文章于 2021-05-02 05:11:13 发布

阅读量2.2w

收藏

26

点赞数

7

分类专栏:

C/C++

安全隐私

文章标签:

LastActivityView分析

稳私

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/duke56/article/details/103551416

版权

C/C++

同时被 2 个专栏收录

25 篇文章

3 订阅

订阅专栏

安全隐私

3 篇文章

0 订阅

订阅专栏

一、前言

1、本文说明

如果喜欢打开XX软件看XX视频等,看了多少次,什么时候看的,都会被记录下来,用软件来查看一下,全部的隐私都没有了。

家里的小孩玩的啥游戏,玩了多少次,也都可以看得一清二楚。

查看*.pf格式的软件有:WinPrefetchView、LastActivityView等。

本文带你深入了解pf格式文件所隐藏的内容,并用C/C++编写了个小软件,实现了隐私读取和分析。

顺带讲一下如何清除该隐私.

 2、pf 文件简介

    在Windows XP及其以后的操作系统中,增加了预读取功能(也可以理解为“预先装载”),该功能可以提高系统的性能,加快系统的启动、文件读取的速度,这些预读文件保存在%systemroot%\Prefetch目录中,以*.pf为扩展名,这些*.pf文件包括了载入文件的详细信息和载入顺序。

    每一个应用程序,包括Windows XP的启动过程,都会在PrefetCh目录下留下相应的预读取文件,预读取文件描述了应用程序或启动时各个模块的装载顺序,其命名方式是以应用程序的可执行文件的名字为基础,加上一个“-”和描述执行文件完整路径的十六进制值,再加上文件扩展名.pf,例如QQ.EX-0065A2A1.pf。每当用户启动一个程序,会自动在Prefetch目录中对应的*.pf文件中留下一条记录。不过,Windows XP启动的预读取文件总是同一个名称,即NTOSBOOT-B00DFAAD.PF,其中包含着启动时载入文件的记录。

    当下一次启动系统或运行某个程序时,Windows会参考相应的*.pf文件,将其中记录的所有文件载入内存,而不是象以往一项一项依指令逐个载入文件。另外,Windows会利用启动程序或程序的*.pf文件制订一个最优化的磁盘分配方案,这个方案的相关信息存储在Lyaout.ini文件中。 

二、关闭预加载功能、保护隐私

注册表项位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

EnablePrefetcher键值:

    0代表完全不预读,即为取消预读功能     设置为"1",系统将只预读应用程序;     设置为"2",系统将只预读Windows系统文件;     设置为"3",系统将预读Windows系统文件和应用程序(默认值,有的系统版本默认为1)

修改注册表后,再删除:C:\Windows\Prefetch(C:\为系统盘)下的所有*.pf格式文件

注册表路径太长了,放引用里换行了,单独拿出来:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

 三、pf 文件格式分析

图一、使用WinHex打开的pf文件头部信息

x86系列的CPU都是 Little-Endian 的字节序。所要获取的值得倒着看!

如图一,文件的长度(第一行的C - F位置):04 4C 00 00,其值是:00 00 4C 04。

1、头部信息详解(对图一进行分析)

pf文件头部信息分析

偏移位作用值0x00000000 - 0x0000000B暂定为固定信息(暂时不知道有何用处)0x0000000C - 0x0000000F文件长度0x4C040x00000010 - 0x00000029pf文件名CONHOST.EXE0x00000064 - 0x00000067预加载位置0x38700x0000006C - 0x0000006F预加载大小0x0EB00x00000080 - 0x00000087 最后一次运行时间(FILETIME型)0x01D5B4D9 0x811686FB0x00000098 - 0x0000009B文件运行次数0x22

 2、用C/C++定义的结构体

typedef struct pfFILEHEAD

{

unsigned char unknown_1[0x0C];

unsigned int End; //文件长度

wchar_t FileName[0x14]; //文件名

unsigned char unknown_2[0x2C];

unsigned int Start; //预加载位置

unsigned int SizeOff; //大小

unsigned char unknown_3[0x14];

FILETIME Ctime; //最后一次运行时间

unsigned char unknown_4[0x10];

unsigned int RunCount; //运行次数

} FILEHEAD;//定义的头部信息结构体

 3、预加载信息

图二、0x2D28 预加载信息位置

预加载信息是由头部信息里的0x00000064位置记录着的,记录路径用的是宽字符(wchar_t类型)存储的,用记事本等软件打开是乱码。

可用WinHex来打开查看。

找到相应的位置后,可以看到“\DEVICE\HARDDISKVOLUME”开头的路径(Dos驱动路径)

4、其它

pf文件内容本身并不包含指定是那个运行程序的预加载,想要得到是那个程序运行的信息,可以在搜索NT路径时对比文件名。

pf文件命名有一定的规律性,这里不用获取文件名方式,主要是考虑到“离线”分析,文件名是可以改的。

四、C/C++语言编程

打包的工程里包含了转换成NT路径的源代码:https://download.csdn.net/download/duke56/12043965

打包了VC6.0 和 VS2008工程,方便下载打开直接编译。

这里为了文章的简洁,去掉了转换成NT路径的源代码,工程里的程序运行结果请看图三。

#include

#include

#include

typedef struct pfFILEHEAD

{

unsigned char unknown_1[0x0C];

unsigned int End; //文件长度

wchar_t FileName[0x14]; //文件名

unsigned char unknown_2[0x2C];

unsigned int Start; //预加载位置

unsigned int SizeOff; //大小

unsigned char unknown_3[0x14];

FILETIME Ctime; //最后一次运行时间

unsigned char unknown_4[0x10];

unsigned int RunCount; //运行次数

} FILEHEAD;//定义的头部信息结构体

int main(void)

{

char FilePath[] = "C:\\Windows\\Prefetch\\CONHOST.EXE-1F3E9D7E.pf";//要分析的文件,自行修改

FILEHEAD FileInfo;//文件头部结构体

unsigned int len = 0;

unsigned int status = 0;

setlocale(LC_ALL, "chs");

FILE *stream = fopen(FilePath,"r");

if ( !stream )

{

printf("打开pf文件失败:%s\n",FilePath);

return -1;

}

memset(&FileInfo,0,sizeof(FILEHEAD));

status = fread(&FileInfo,sizeof(FILEHEAD),1,stream);//读取头部信息

if ( !status )

{

wprintf(L"读取pf文件头部信息失败\n");

return -2;

}

FILE *SaveFile = fopen("Info.txt","w+");//输出信息保存文件

wprintf(L"文件名称:%s\n",FileInfo.FileName);

wprintf(L"文件长度:%X\n",FileInfo.End);

wprintf(L"加载位置:%X\n",FileInfo.Start);

wprintf(L"加载大小:%X\n",FileInfo.SizeOff);

SYSTEMTIME stUTC, stLocal; // 保存文件的UTC时间和本地时间

FileTimeToSystemTime(&FileInfo.Ctime, &stUTC);

SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);

wprintf(L"修改时间:%u-%u-%u %u:%u:%u:%u 星期:%d\n",

stLocal.wYear,stLocal.wMonth,stLocal.wDay,

stLocal.wHour,stLocal.wMinute,stLocal.wSecond,

stLocal.wMilliseconds,stLocal.wDayOfWeek);

wprintf(L"运行次数:%d\n\n",FileInfo.RunCount);

if ( SaveFile )

{

fwprintf(SaveFile,L"文件名称:%s\n",FileInfo.FileName);

fwprintf(SaveFile,L"文件长度:%X\n",FileInfo.End);

fwprintf(SaveFile,L"加载位置:%X\n",FileInfo.Start);

fwprintf(SaveFile,L"加载大小:%X\n",FileInfo.SizeOff);

fwprintf(SaveFile,L"修改时间:%u-%u-%u %u:%u:%u:%u 星期:%d\n",

stLocal.wYear,stLocal.wMonth,stLocal.wDay,

stLocal.wHour,stLocal.wMinute,stLocal.wSecond,

stLocal.wMilliseconds,stLocal.wDayOfWeek);

fwprintf(SaveFile,L"运行次数:%d\n\n",FileInfo.RunCount);

}

wchar_t * SearchPath = (wchar_t *)malloc( FileInfo.SizeOff );//申请保存检索文件驱动信息

memset(SearchPath,0,FileInfo.SizeOff);

fseek(stream,FileInfo.Start,SEEK_SET);//移动文件指针到信息位置

fread(SearchPath,FileInfo.SizeOff,1,stream);//读取信息内容

unsigned int index = 0;//检索路径位置

unsigned Offset = 0;

for ( int count = 0; Offset < FileInfo.SizeOff && (SearchPath + index)[0] == L'\\'; ++count ) //'

{

len = wcslen(SearchPath + index);

Offset += len * sizeof(wchar_t);

wprintf(L"索引位置:%d\n",count);

wprintf(L"Dos驱动路径:%s\n",SearchPath + index);

wprintf(L"=========================================\n");

if ( SaveFile )

{

fwprintf(SaveFile,L"索引位置:%d\n",count);

fwprintf(SaveFile,L"Dos驱动路径:%s\n",SearchPath + index);

fwprintf(SaveFile,L"=========================================\n");

}

index += wcslen(SearchPath + index) + 1;//获得下一个路径位置

}

free(SearchPath);

fclose(stream);

fclose(SaveFile);

return 0;

}

图三、完整程序运行截图

passwd:0x01D5B4D9 0x811686FB

(包括中间的空格,直接从0x复制到FB)

关注博主即可阅读全文

优惠劵

duke56

关注

关注

7

点赞

26

收藏

觉得还不错?

一键收藏

知道了

1

评论

Windows系统 Prefetch目录 *.pf 文件解析 -- 探索程序运行记录、保护隐私

一、前言1、本文说明如果喜欢打开XX软件看XX视频等,看了多少次,什么时候看的,都会被记录下来,用软件来查看一下,全部的隐私都没有了。家里的小孩玩的啥游戏,玩了多少次,也都可以看得一清二楚。查看*.pf格式的软件有:WinPrefetchView、LastActivityView等。本文带你深入了解pf格式文件所隐藏的内容,并用C/C++编写了个小软件,实现了隐私读取和分析。...

复制链接

扫一扫

专栏目录

WindowsPrefetch目录

04-28

WindowsPrefetch目录

Windows7中Prefetch预读文件技术详解

weixin_33670786的博客

12-12

1240

 大家都知道,Windows系统有种预读文件的缓存机制,让过去打开过的程序、服务再次打开时更快捷。WindowsXP中采用了这个Prefetch技术,每次在电脑里面存入.pf文件,它包含了应用程序加载的文件的信息。在预取文件中的信息用于优化下次运行这些应用程序的载入时间。

  Vista和Windows7下的Superfetch是在WinXP预取(Prefetch)基础上进...

1 条评论

您还未登录,请先

登录

后发表或查看评论

XX公司软件开发管理制度

01-02

XX公司软件开发管理制度,很适合软件企业用于开发软件建立文档。

pf_pageparser:PHP中的简单Regex HTML页面解析器

04-30

pf_pageparser

这是我编写HTML解析器,因为我刮了很多网站以查找结构化的重复数据。 这个解析器使我可以轻松清理HTML,将其拆分成块并在每个块中找到正确的数据。它不使用DOM解析器,因此它也可以用于部分或无效HTML

安装

您可以通过composer安装该软件包:

composer require pforret/pf_pageparser

用法

$ pp = New PfPageparser ([ "cacheTtl" => 300 ]);

$ pp -> load_from_url ( "http://www.example.com/products" )

-> trim ( "

" )

-> split_chunks ( '' )

-> filter_chunks ( 'product_id' )

preload-webpack-plugin:请改用https:github.comvuejspreload-webpack-plugin

02-18

preload-webpack-plugin

弃用:该项目的分支可以代替使用。

一个Webpack插件,用于使用自动连接异步(和其他类型)JavaScript块。 这有助于延迟加载。

注意:这是的扩展插件,该插件可简化HTML文件的创建以服务于Webpack捆绑包。

介绍

是一个Web标准,旨在提高性能和资源的精细加载。 这是一个声明式获取,可以告诉浏览器开始获取源,因为开发人员知道很快就会需要该资源。 如果您以前没有使用过该功能,则建议阅读。

在简单的Web应用程序中,直接指定要预加载的脚本的静态路径-特别是在其名称或位置不太可能更改的情况下。 在更复杂的应用程序中,可以使用动态名称将JavaScript拆分为“块”(代表路线或组件)。 这些名称可以包括散列,数字和随每个构建而变化的其他属性。

例如, chunk.31132ae6680

pf文件

qlexcel的专栏

07-20

2017

预读取文件

在Windows XP及其以后的操作系统中,增加了预读取功能(也可以理解为“预先

装载”),该功能可以提高系统的性能,加快系统的启动、文件读取的速度。

预读取文件保存在%systemroot%\Prefetch目录中,以*.pf为扩展名

这些*.pf文件包括了载入文件的详细信息和载入顺序

为提高Windows 和程序的启动速度,即让系统不自动产生.PF文件

pf_ring

02-02

1762

感谢独孤九贱   http://linux.chinaunix.net/bbs/thread-1149919-1-1.html   PF_RING实现分析版权所有,转载请注明出处独孤九贱内核版本:Linux 2.6.30.9PF_RING版本:4.1.0最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。一、什么是PF

Superfetch与Readyboost完全解析

网络 人生 学习 进步

06-23

4174

  长期以来,闪盘、SD卡等外部存储设备所扮演的角色,一直仅仅是使用方便的移动存储元件而已,而内存大户Windows Vista推出后,这类设备已经可以为加速系统和程序的启动速度,缓解Windows Vista的内存荒起到一定的作用! 原来,在Windows Vista里,微软使用了一项名为Superfetch的新技术。为了配合这项技术,微软还启用了Readyboost技术,Readyboost最

PF使用率过高的解析以及处理方法

xiaokuchadeaimei的专栏

06-01

1781


PF是页面文件(PageFile)的缩写,也就是Windows的虚拟内存,当物理内存不够用的时候,Windows会将不需要马上用到的数据从内存搬到硬盘上的页面文件暂存

        PF占用高的原因有两方面:

        一、内存太小,内存里面实在放不下太多数据,例如128M内存跑XP

        二、有大量常驻内存程序(STR Programs)以及自动加载的服务,很多人一开机,什么QQ、MSN、BT、eMule

linux 中prefetch文件夹,Prefetch是什么 Prefetch文件夹功能介绍

weixin_35399360的博客

05-02

1377

Prefetch是什么 Prefetch文件夹功能介绍发布时间:2012-09-08 12:20:51 作者:佚名 我要评论Prefetch是预读取文件夹,用来存放系统已访问过的文件的预读信息,扩展名为PF。之所以自动创建Prefetch文件夹,是为了加快系统启动的进程。XP的预读取数据应该定期删除,而在Vista中最好的方法还是不去管它Prefetch简介这是预读取文件夹,用来存放系统...

Python库 | windowsprefetch-3.0.1.tar.gz

04-19

资源分类:Python库 所属语言:Python 资源全名:windowsprefetch-3.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

vue-router-prefetch:在视口中可见时预取链接

02-06

yarn add vue-router-prefetch 用法 您需要在vue-router之后使用此插件: import Vue from 'vue' import Router from 'vue-router' import RouterPrefetch from 'vue-router-prefetch' Vue . use ( Router ) Vue . ...

dns-prefetch是什么 前端优化:DNS预解析提升页面速度

09-28

在网页体验中我们常会遇到这种情况,即在调用百度联盟、谷歌联盟以及当前网页所在域名外的域名文件时会遇到请求延时非常严重的情况。那么有没有方法去解决这种请求严重延时的现象呢

rails_parse_head:解析head元素(https:developer.mozilla.orgen-USdocsWebHTMLElementhead)

02-03

在以下位置了解有关head元素的更多信息: 安装将此行添加到您的应用程序的Gemfile中: gem 'rails_parse_head' 然后执行: $ bundle或自己安装为: $ gem install rails_parse_head用法解析URL rph = ...

_CRT_SECURE_NO_WARNINGS错误提示,解决办法

热门推荐

任逍遊 --- [专用空间]

09-01

15万+

#include

int main(void)

{

char str[256] = {0};

scanf("%255s",str);

printf("Hello World!\n");

printf("%s\n",str);

return 0;

}

一个简单的C的Hello World,如果用高版本的VS来编译,会提示

...

Windows系统下GCC配置, MinGW-W64 GCC安装与配置,Dev-C++、CodeBlocks

任逍遊 --- [专用空间]

09-02

3万+

在Windows系统下,除微软的VS外,大多使用GCC作为编译,现在的GCC并不是只能在Linux系统上才能使用的编译器,早已移值到了Windows系统下了。

由于VS的庞大,很多人员只是学习一下C/C++语言,庞大的VS功能大多是用不到的,这时在Windows系统下GCC就是一个不错的选择。(需要学习Windows下应用程序开发的建议还是使用VS做为开发工具)

现在的GCC其实是一个套...

C语言main函数返回值详解

任逍遊 --- [专用空间]

08-30

2万+

前言:本文程序代码均在Windows + mingw64环境下编译完成(gcc)

C语言的main函数有两个标准写法

// C99加入两种 main 标准写法

int main(void) // 标准一写法

// 和

int main(int argc,char *argv[]) // 标准二写法

int main(int argc,char **argv) // ...

C/C++编写Windows窗口应用程序(Win32程序),非黑漆漆的控制台窗口

任逍遊 --- [专用空间]

12-05

2万+

Windows应用程序是基于消息驱动的,任何线程只要注册窗口类都会有一个消息队列用于接收用户输入的消息和系统消息。

一、 窗口的创建流程

创建一个完整的窗口需要经过下面四个操作步骤:

设计一个窗口类(填写Win32程序必要信息)

注册窗口类

创建窗口

显示及更新窗口

二、相关函数及术语

1、WinMain函数

// Windows程序的入口函数...

dns-prefetch

最新发布

05-31

`dns-prefetch` 是一个 HTML meta 标签的属性,用于告诉浏览器在加载页面时预先解析某个域名的 DNS 信息,可以加快浏览器在用户点击链接时的响应速度。

当浏览器遇到 `dns-prefetch` 标签时,会立即开始解析指定域名的 DNS 信息,并将其缓存到浏览器中,当用户点击链接时,浏览器会使用缓存的 DNS 信息来快速地解析域名,从而加快访问速度。

`dns-prefetch` 属性的语法如下:

```

```

其中,`` 标签用于启用 DNS 预解析功能,`` 标签用于指定需要预解析的域名,`href` 属性指定了需要预解析的域名,需要注意的是,`href` 属性的值必须包含协议(`http://` 或 `https://`)。

DNS 预解析可以提高网站的性能,特别是对于那些使用大量外部资源或包含大量外部链接的网站来说,更为重要。但需要注意的是,过多的 DNS 预解析可能会增加浏览器的负担,因此需要谨慎使用。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

duke56

CSDN认证博客专家

CSDN认证企业博客

码龄14年

暂无认证

47

原创

1万+

周排名

192万+

总排名

114万+

访问

等级

5682

积分

3274

粉丝

228

获赞

76

评论

710

收藏

私信

关注

热门文章

_CRT_SECURE_NO_WARNINGS错误提示,解决办法

152611

更改Edge浏览器缓存位置

43942

Windows系统下GCC配置, MinGW-W64 GCC安装与配置,Dev-C++、CodeBlocks

31168

Windows沙盒缓存文件、Windows沙盒虚拟磁盘文件、Windows Sandbox缓存文件、Windows沙盒垃圾清理

29864

C语言main函数返回值详解

28854

分类专栏

环境配置

6篇

Linux

7篇

安全隐私

3篇

Windows API

10篇

VS Code

2篇

C/C++

25篇

MFC

SQlite

3篇

ASM

2篇

网络

4篇

应用

14篇

GitHub

3篇

其它

10篇

最新评论

C/C++编写Windows窗口应用程序(Win32程序),非黑漆漆的控制台窗口

2301_76520538:

博主,可以发出来学习一下吗

C/C++ 判断当前操作系统语言、获取当前操作系统使用语言 GetSystemDefaultLangID

轻描月影:

复制过来直接报错了, error: 'lid' was not declared in this scope

switch ( lid )

_CRT_SECURE_NO_WARNINGS错误提示,解决办法

2301_76756147:

大佬,请问为什么放在命令行啊?

我的第一个MASM32程序(MASM32环境配置)

oliveira-time:

my1st.asm(5) : fatal error A1000:cannot open file : windows.inc

输入ml /c /coff my1st.asm报错

Cygwin安装GCC、G++、Python、git、vim教程

知命不惧,日日自新:

在解决依赖关系的界面出了问题怎么办

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

路由器Padavan固件安装贴吧云签到

Kali Linux 2020.1 解决中文乱码

修改Transmission登陆密码

2020年14篇

2019年21篇

2016年1篇

2015年4篇

2013年1篇

2012年3篇

2011年3篇

2010年3篇

目录

目录

分类专栏

环境配置

6篇

Linux

7篇

安全隐私

3篇

Windows API

10篇

VS Code

2篇

C/C++

25篇

MFC

SQlite

3篇

ASM

2篇

网络

4篇

应用

14篇

GitHub

3篇

其它

10篇

目录

评论 1

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

Windows 取证之Prefetch预读文件 - 掘金

Windows 取证之Prefetch预读文件 - 掘金

首页 首页

沸点

课程

直播

活动

竞赛

商城

APP

插件 搜索历史

清空

创作者中心

写文章 发沸点 写笔记 写代码 草稿箱 创作灵感

查看更多

会员

登录

注册

Windows 取证之Prefetch预读文件

合天网安实验室

2021-08-13

1,406

一、概述

Prefetch预读取文件,简称pf文件,是从Windows XP开始引入,作用是加速系统和应用程序启动过程。因为在系统启动时,大量文件需要读入内存进行处理,这个过程包括在不同时间加载相同文件的不同片段。这样在多次打开和访问文件的时候会浪费大量的时间。预读取文件就是为了解决这个问题的。

pf文件包含了可执行文件的名称、路径、调用DLL文件的列表、上次执行时间、运行次数等信息。简单来说,就相当于缓存。在Windows 7中可以记录128个条目,Windows 8/10可记录1024个条目。

二、pf文件分析

pf文件存储在%SystemRoot%\Prefetch文件夹中。

Pf文件的名称由“大写字母的应用程序名、-、大写的8位十六进制哈希值、.pf扩展名”组成。

当用户首次运行某个应用程序的时候,Windows操作系统的Windows Cache Manager程序会跟踪记录应用程序启动过程中所需的代码和数据(主要是DLL),然后由一个名为NTKRNLPA.exe的核心进程将在内存中跟踪的数据以pf文件的形式保存下来。当用户下一次运行相同程序时候,系统会首先读取pf文件将必要的数据和代码加载到内存中,以加快程序的启动过程。

通过WinHex打开一个pf文件观察其组成结构:(这里以Windows 7中的pf文件举例)

偏移位置:00H:17 00 00 00:pf文件格式的版本

偏移位置:04H:53 43 43 41:签名SCCA

偏移位置:08H:11 00 00 00:未知

偏移位置:0CH:C6 4D 01 00:pf文件长度

偏移位置:10H:43 00 48 00 52 00 4F 00 4D 00 45 00 2E 00 45 00 58 00 45 00 00:应用程序的名称,这里是CHROME.EXE

偏移位置:4CH:BA B1 99 D9:pf文件的哈希值,与应用程序名称一起组成了pf文件名

偏移位置:80H:D2 38 72 D9 E0 6B D7 01:应用程序最后一次运行的时间

偏移位置:98H:0B 00 00 00:应用程序运行次数

在不同的系统版本中,pf文件的版本有所不同,在Windows xp/2003中版本是17(0x11),Windows 7是23(0x17),Windows 8 是26(0x1a),Windows 10的版本是30(0x1e)。

pf文件信息的格式也因为pf版本不同而有所不同:如在xp系统中pf文件信息中记录应用程序最后一次运行的时间的偏移位置是78H,记录程序运行次数的偏移位置是90H。

如果是Windows 10的pf文件则是经过压缩的(Microsoft XPRESS Huffman(LZXPRESS)压缩算法),文件结构信息如下:

开头的4D 41 4D 04是MAM签名,然后是EE 65 04 00是压缩pf文件的总长度。

三、Prefetch取证实践

题目来源:Cynet应急响应挑战赛

题目描述:GOT公司的IT安全主管Aria注意到一些可疑的SIEM警报,SIEM系统识别到公司某些主机上一个名为Scvhost.exe的可疑文件。但当她准备去检查时,文件已被删除。Aria怀疑Scvhost.exe是恶意文件(可能是某种恶意软件)。GOT的管理层希望尽快确认Scvhost.exe是否已经在主机上运行过,运行的时间及如何被删除的。

找出可疑文件的最后执行时间和执行次数。

下载题目提供的附件:

通过使用pf解析工具PECmd(github.com/EricZimmerm…

根据pf文件解析的结果进行分析,可以得出该文件最后执行的时间是2020-02-07 21:26,总共运行的次数是4次。

根据程序执行的时间线分析:

可能是通过微软Sysinternals的sdelete.exe工具进行删除的。

参考资料:

[Windows Prefetch File Format - Forensics Wiki](forensicswiki.xyz/wiki/index.…

Compression - Forensics Wiki:forensicswiki.xyz/wiki/index.…

合天网安实验室

网络安全在线学习平台

319

文章

152k

阅读

201

粉丝 目录 收起

一、概述

二、pf文件分析

三、Prefetch取证实践

参考资料:

友情链接:

重生后在偏执薄爷的怀里肆意撒娇

重生西游之我是一棵树免费阅读

黑暗都市之超级赏金猎人在线观看

重生后被纨绔老公惯坏了小说

第一丫环 小说全文阅读

学爸黄渤台词

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

知道宝贝找不到问题了>_

该问题可能已经失效。返回首页

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

京ICP证030173号-1   京网文【2023】1034-029号     ©2024Baidu  使用百度前必读 | 知道协议 

pf文件_百度百科

_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心收藏查看我的收藏0有用+10pf文件播报讨论上传视频计算机系统文件本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!pf文件又称预读取文件,是一种计算机系统文件,所属系统是Windows XP。中文名pf文件别    名预读取文件所属系统Windows XP预读取文件在Windows XP及其以后的操作系统中,增加了预读取功能(也可以理解为“预先装载”),该功能可以提高系统的性能,加快系统的启动、文件读取的速度。预读取文件保存在%systemroot%\Prefetch目录中,以*.pf为扩展名这些*.pf文件包括了载入文件的详细信息和载入顺序为提高Windows 和程序的启动速度,即让系统不自动产生.PF文件,需要禁用 Windows XP Prefetcher 组件。具体操作是,修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters修改EnablePrefetcher 值为 0 (默认为1),重启后生效。建议不修改,即为3预读文件重要性网上有很多 XP 系统优化教程 建议将 EnablePrefetcher 修改为 1 ,其实根据测试反而拖慢了系统,对于现在的电脑的性能来讲,将其值改为 3 是最佳选择。正如前面所说 该功能可以提高系统的性能,加快系统的启动、文件读取的速度 ,若关闭了会导致开机后载入程序(黑屏时间很长、打开程序慢)很慢影响用户体验,而有些优化软件会关闭 系统预读,修改 EnablePrefetcher 值 也没法修复,下面就提供一段修复系统预读的批处理:@echo offcolor 9fecho.echo.echo 系统预读功能修复程序echo.echo 正在配置相关服务,请稍候……sc config Schedule start= AUTO>nulsc start Schedule>nulRundll32.exe advapi32.dll,ProcessIdleTasksclsecho.echo.echo 系统预读功能修复成功!任意键退出……pause>nul新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

Just a moment...

a moment...Enable JavaScript and cookies to conti

怎么查看C:\Windows\Prefetch下的.pf文件??? - 知乎

怎么查看C:\Windows\Prefetch下的.pf文件??? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册操作系统计算机科学Windows 开发C / C++编译器怎么查看C:\Windows\Prefetch下的.pf文件???[图片] 如图所示,用Qt Creator执行一个项目生成的所有.pf文件; 问题:如何打开上述pf文件查看详细信息 ? 我在网上已经查找过相关回答,…显示全部 ​关注者2被浏览1,068关注问题​写回答​邀请回答​好问题​添加评论​分享​1 个回答默认排序沉醉东风​ 关注知乎没人知道这个问题的答案吗?百度也查不到。看样子这个问题很难啊。发布于 2021-11-15 01:15​赞同​​添加评论​分享​收藏​喜欢收起​​

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

知道宝贝找不到问题了>_

该问题可能已经失效。返回首页

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

京ICP证030173号-1   京网文【2023】1034-029号     ©2024Baidu  使用百度前必读 | 知道协议