jiedengye 发表于 2011-4-1 14:52:47

1)DataSectionObject这个是fileobject和虚拟内存打交道的关键,如果我们是非缓冲非缓存(这个我不是太清楚)打开文件的话,多个文件对象的DataSectionObject是不同的。但是如果我们通过文件映射打开的话fileObject不同但是DataSectionObject相同的,因为对应虚拟内存相同。
2)ImageSectionObject 这个就是可执行文件 结构不清楚
3)SharedCacheMap   fileobject和缓存管理器打交道的关键 结构_SHARED_CACHE_MAP
   nt!_SHARED_CACHE_MAP
   +0x000 NodeTypeCode   : Int2B
   +0x002 NodeByteSize   : Int2B
   +0x004 OpenCount      : Uint4B
   +0x008 FileSize         : _LARGE_INTEGER
   +0x010 BcbList          : _LIST_ENTRY
   +0x018 SectionSize      : _LARGE_INTEGER
   +0x020 ValidDataLength: _LARGE_INTEGER
   +0x028 ValidDataGoal    : _LARGE_INTEGER
   +0x030 InitialVacbs   : Ptr32 _VACB
   +0x040 Vacbs            : Ptr32 Ptr32 _VACB
   +0x044 FileObject       : Ptr32 _FILE_OBJECT
   +0x048 ActiveVacb       : Ptr32 _VACB
   +0x04c NeedToZero       : Ptr32 Void
   +0x050 ActivePage       : Uint4B
   +0x054 NeedToZeroPage   : Uint4B
   +0x058 ActiveVacbSpinLock : Uint4B
   +0x05c VacbActiveCount: Uint4B
   +0x060 DirtyPages       : Uint4B
   +0x064 SharedCacheMapLinks : _LIST_ENTRY
   +0x06c Flags            : Uint4B
   +0x070 Status         : Int4B
   +0x074 Mbcb             : Ptr32 _MBCB
   +0x078 Section          : Ptr32 Void
   +0x07c CreateEvent      : Ptr32 _KEVENT
   +0x080 WaitOnActiveCount : Ptr32 _KEVENT
   +0x084 PagesToWrite   : Uint4B
   +0x088 BeyondLastFlush: Int8B
   +0x090 Callbacks      : Ptr32 _CACHE_MANAGER_CALLBACKS
   +0x094 LazyWriteContext : Ptr32 Void
   +0x098 PrivateList      : _LIST_ENTRY
   +0x0a0 LogHandle      : Ptr32 Void
   +0x0a4 FlushToLsnRoutine : Ptr32   void
   +0x0a8 DirtyPageThreshold : Uint4B
   +0x0ac LazyWritePassCount : Uint4B
   +0x0b0 UninitializeEvent : Ptr32 _CACHE_UNINITIALIZE_EVENT
   +0x0b4 NeedToZeroVacb   : Ptr32 _VACB
   +0x0b8 BcbSpinLock      : Uint4B
   +0x0bc Reserved         : Ptr32 Void
   +0x0c0 Event            : _KEVENT
   +0x0d0 VacbPushLock   : _EX_PUSH_LOCK
   +0x0d8 PrivateCacheMap: _PRIVATE_CACHE_MAP
看见_VACB 很兴奋吧 nt!_VACB
   +0x000 BaseAddress      : Ptr32 Void
   +0x004 SharedCacheMap   : Ptr32 _SHARED_CACHE_MAP
   +0x008 Overlay          : __unnamed
   +0x010 LruList          : _LIST_ENTRY
dd BaseAddress缓存中数据      

ywledoc 发表于 2011-4-1 15:50:14

回复 jiedengye 的帖子

看到VACB很兴奋吧
这话怎么看着不对劲,又不是女人

马大哈 发表于 2011-4-1 18:57:10

回复 ywledoc 的帖子

哈哈哈哈哈哈

玩技术的多少都有些古怪,比如我认识的陈某人{:1_129:}

ywledoc 发表于 2011-4-1 21:00:49

回复 马大哈 的帖子

天琊作者陈辉?

ywledoc 发表于 2011-4-2 00:58:42

回复 jiedengye 的帖子


改_share_map_cache内容试过没?什么效果呢?

马大哈 发表于 2011-4-2 09:51:04

回复 ywledoc 的帖子

没错,这家伙也那一个叫怪....哈哈.

Tesla.Angela 发表于 2016-3-31 21:12:26

https://github.com/xiao70/X70FSD
这里有个开源的LAYERFSD。
页: 1 [2]
查看完整版本: layerfsd