自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (5)
  • 收藏
  • 关注

原创 ReactOS-Freeldr内存管理

Freeldr内存管理模块的代码大多在freeldr/freeldr/mm文件夹中。我们从初始化部分开始看起。 freeldr/freeldr/mm/Meminit.c BOOLEAN MmInitializeMemoryManager(VOID) { // 获得内存总页数 TotalPagesInLookup

2011-06-19 12:20:00 880 1

原创 ReactOS-Freeldr注册表HIVE文件格式2

上一节读了HIVE文件读入内存时的初始化操作。现在来看看实际对内存中的HIVE文件的操作。首先是从空闲CELL中分配一个指定大小的CELL。HvAllocateCell就是做这件事情的。这个函数有四个参数:1. RegistryHive HHIVE结构指针2. Size 需要分配的CELL大小(不包括HCELL结构的大小)3. Storage 分配的CELL是Stabl

2011-06-14 22:02:00 982

原创 ReactOS-Freeldr注册表HIVE文件格式

ReactOS的注册表信息存储在ReactOS/System32/CONFIG/SYSTEM文件中。注册表文件使用的一种特殊的格式——HIVE。HIVE文件主要由BASE_BLOCK/BIN/CELL三部分组成的。BASE_BLOCK是文件头,大小为4KB,里面存储了整个文件的一些全局信息。BIN是以4KB对其的一段空间,里面管理了若干个CELL。CELL是一段用户自定义大小的空间,注册表的键

2011-06-14 15:35:00 1272

原创 ReactOS-Freeldr注册表

body, td { font-family: tahoma; font-size: 10pt; } 这里介绍的注册表是Freeldr实现的一个简易版本,和Windows系统提供的还是有一些差异的。注册表在磁盘中是以HIVE文件形式存在的,格式比较复杂,放到后面。这一节说的是注册表的内存结构。 Freeldr中注册表操作的代码

2011-06-13 10:52:00 758

原创 ReactOS-Freeldr镜像加载3

 上一次篇我们留下了WinLdrpScanImportAddressTable函数。当WinLdrScanImportDescriptorTable调用这个函数时,当前需要处理的DLL已经加载到内存而且已经初始化完毕。现在我们需要调用WinLdrpScanImportAddressTable来填写模块本身的IAT。这个函数有三个参数,WinLdrBlock是Freeldr的LOADER_P

2011-06-09 11:24:00 910

原创 ReactOS-Freeldr镜像加载2

 先来介绍几个重要的结构。Freeldr虽然是个引导程序,严格来讲不属于操作系统的一部分,但它也有一些类似Windows系统中的数据结构。LOADER_PARAMETER_BLOCK这个可以看作Freeldr的PEB,结构也和PEB非常相似。/include/reactos/arc/arc.htypedef struct _LOADER_PARAMETER_BLOCK{  

2011-06-08 13:32:00 1324

原创 ReactOS-Freeldr镜像加载

 Freeldr中镜像加载相关的操作在Freeldr/Freeldr/windows/Peloader.c文件中。首先来看看如何加载一个PE镜像。这个操作在WinLdrLoadImage函数中。这个函数的三个参数分别为镜像的Arc路径FileName, 镜像所处内存的内存属性MemoryType, 加载后镜像的基地址由ImageBasePA返回。BOOLEANWinLdrL

2011-06-08 11:42:00 677

原创 ReactOS-Freeldr磁盘及文件管理2

 ArcOpen的大体流程我们看过了。大致分为这几步1. 函数会尝试找到文件所在分区的设备句柄,如果还没有对应的句柄。那么使用DEVICE.FuncTable中的Open函数打开设备,并为这个设备分配句柄。2. 打开设备后条用XxxMount识别分区格式,识别成功返回另外的FuncTable,存储到设备的FileData.FileFuncTable域。3. 为文件分配一个句柄,在对

2011-06-08 11:38:00 542

原创 ReactOS-Freeldr磁盘及文件管理

 Freeldr提供了对fat12、fat32、fatx、ntfs等文件系统的只读功能。这部分代码主要集中在boot/freeldr/freeldr/fs/fs.c文件中。首先计算机加电后会把mbr读取到物理内存的0x7c00位置,mbr搜索活动分区并加载活动分区根目录下的Freeldr.sys文件。加载后跳入Freeldr入口start。Freeldr进行32为初始化后跳入主初始化函数B

2011-06-08 11:36:00 973

ThreadMast逆向代码

ThreadMast逆向代码。只是感兴趣~~和大家学习一下~~

2009-11-12

OLEView查看器

vc6自带的OLE文件格式查看器。 vs2008里面貌似去掉了,这里放出来供大家下载

2009-09-15

VirtualKD-2.0

用VmWare + WinDBG进行内核调试的时候由于VmWare实现问题,速度非常慢,一个命令经常要等几分钟。 VMKD解决了这个问题,但它暂时只支持VmWare的免费版,没法用在WordStation上,而且安装过程比较繁琐。 VirtualKD仿照VMKD的思路实现了加速,而且经过改进后已经支持VmWare WorkStation和VirtualBox。安装也变得简单了不少。可以将调试通信的速度提升至10倍左右。

2009-08-22

KmdManager 1.4 + 源代码

KmdManager加载驱动很方便的小工具。 作用类似于InstDrv

2009-08-20

vcredist2008

vs2008的vc分发库。 装上这个就可以跑vs2008的vc程序啦~~

2009-08-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除