文件、目录的调用顺序

这篇博客探讨了文件和目录操作的底层调用顺序,重点在于 DirectFileSystemProvider 中的相关函数实现,揭示了系统如何处理这些操作。

文件、目录的调用顺序

文件、目录的操作最终交给系统完成。


CDirectory_IRtlDirectoryTearoff::OpenExistingDirectory
CDirectory::OpenExistingDirectory
DirectFileSystemProvider::SysCreateFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCreateFile(
unsigned long,
class Windows::Rtl::SystemImplementation::CSilHandle *,
unsigned long,
struct _OBJECT_ATTRIBUTES &,
struct _IO_STATUS_BLOCK *,
union _LARGE_INTEGER *,
unsigned long,
unsigned long,
unsigned long,
unsigned long,
void *,
unsigned long,
void *,
unsigned long *)

这个就是许多函数出现的:
  __guard_check_icall_fptr(*(_DWORD *)(*v12 + 36));
  v14 = (*(int (__thiscall **)(int *, signed int, int *, int, int *, char *, _DWORD, _DWORD, int, signed int, int, _DWORD, _DWORD, int, int *))(v18 + 36))(
          v12,
          v19,
          &v49,
          a4,
          &v23,
          &v46,
          0,
          0,
          a6,
          1,
          a7,
          0,
          0,
          v17,
          &v48);

即 DirectFileSystemProvider 虚函数对象的 +9 位置上函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值