作 者: weolar
时 间: 2009-06-01,08:59
· write by http://hi.baidu.com/weolar/blog
大家知道,文件系统在操作系统中应该属于比较独立的一块,只需要提供相应接口给上层使用。
Windows的NTFS文件系统也是一样,
在实际编程中,Windows以dispatch routing的形式为上层的io管理器、缓存管理器等提供读写的接口,
甚至文件系统本身的缺页中断也是通过其自身的读写例程来实现换页操作。
所以在设计上,其相对的独立性为我们“山寨”其驱动提供了不少方便。
相信大家也都看过NT4的NTFS源码。
可那份 源码与现在WIN 5.1下的相差甚远(NT4应该写于91年)。
但由于文件系统的独立性,使我想到也许NTFS自身结构的变化也许并不妨碍它的移植。
事实证明也是如此,我将NT4的代码扣出后,只经过少许修改,便能成功运行在XP下,这也许对广大操作系统爱好者能提供不小的便捷吧~
本来以为想移植到xp中会有不少困难,
但实际过程中,我只是修改了很小一部分。
其中包括read 操作的一个死锁bug。这个bug的起因是:
NtfsCommonRead 中如果是pageio的时候,
且是异步read,MS忘记把锁放进完成函数的context里了。即无处释放这个锁。
另外NT4的代码少了NtfsFsdPnp例程。
这个例程在NtCreatePagingFile-》PpPagePathAssign中会调用。
本来我想参照xp的,不过似乎没成功,所以干脆直接返回STATUS_SUCCESS,
貌似也没啥大问题,也能成功换页~
其他方面,NTFS的文件结构啥的,
基本无需修改。所以各位可以尽管鄙视我,毕竟我没做啥大改动,
就拿这么个题目来哗众取宠。不过我觉得比那个啥淫cracker(yingcracker)好点吧,
这娃直接把我的ksbinsword改个标题就说是他的了
至于这个可源码调试的NTFS有啥用,我想不必多说了吧,
比如你想研究怎么强行删除文件,调试一下NtfsDeleteFile就知道了。
有了代码方便很多!想看哪个结构就看哪个结构。或者你还可以改动一下,想隐藏哪个文件就隐藏哪个文件。
附件中的sys不能直接运行,因为入口函数有int 3断点
下面是截图:
可以看出硬链接等NTFS特有的功能也支持的好好的
uneshell.org帐号:u10365n
相关推荐
Windows 10源代码泄露风波(下)
回顾NT内核的历史,一共有三次规模较大的源代码泄露。第一次是2004年2月发生的NT 4.0和Windows 2000泄露,我们将其简称为NT4泄露。第二次是Win...
完整可编译NT4's NTFS源码小规模修改工程
原创】六一献小礼:完整可编译NT4s NTFS小规模修改工程完整附件见http://bbs.pediy.com/showthread.php?t=90393· 大家知道,文件系统在操作系统中应该属于比较独立的一块,只需要提供相应接口给上层使用。Windows的NTFS文件系统也是一样,在实际编程中,Windows以dispatch ro
2. ntfs 文件系统源码分析之工具系列整理
整理一下linux下的 ntfs 工具系列, 我们最终的目的是 通过linux 下拼装成一个可以启动的windows7 的可以 启动的镜像 ntfscat ntfs打印文件 # 打印 boot.ini ntfscat /dev/hda1 boot.ini # 打印 hosts ntfscat /dev/hda1 /winnt/system32/drivers/etc/hosts # 显示 inode 为5 的内容 ntfscat /dev/hda1 -a INDEX_ROOT -i 5 | h
NTFS 文件格式源码
NTFS文件系统源码,可编译替换系统ntfs.sys
ntfs源码(可编译工程)
ntfs的可编译的代码。我基于nt4改造的。相信搞文件系统的会相当有用吧?
工作中使用到的单词(软件开发)
1.エイリアス alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート promote 促进,提升 开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................
nt4-ddk,压缩包,2k环境下安装的编译nt4的
nt4-ddk,压缩包,2k环境下安装的编译nt4的
Windows NT引导过程源代码分析(一)
转载自:https://blog.csdn.net/cosmoslife/article/details/7855425 Windows引导过程 Windows内核中的各个组件和各种机制在起作用以前,必须首先被初始化。此初始化工作是在系统引导时完成的。当用户打开计算机的电源开关时,计算机便开始运行,但操作系统并不立即获得控制权,而是BIOS代码首先获得控制,它执行必要的硬件检测工作,并允...
ntfs文件系统源码包
ntfs源码包,可用于系统移植。
NT4_CMD:从OpenNT提取的NT4_CMD_x86源码及其编译环境
简介 这是一个从中提取的CMD源码及其编译环境(x86),精简掉了不需要的部分 ./nt4/private/windows/cmd路径: ./nt4/private/windows/cmd 编译方法:执行./start_build.bat 生成二进制文件路径: ./nt4/private/windows/cmd/cmd/objxxx/x86/ / ./binn/x86xxx/ / ./nt4/private/windows/cmd/cmd/objxxx/x86/ / ./binn/x86xxx/ / ./nt4/private/windows/cmd/cmd/objxxx/x86/ / ./binn/x86xxx/ / ./nt4/private/windows/cmd/cmd/objxxx/x86/ / ./binn/x86xxx/ 已在WindowsXP(x86)及Windows7(x
NTLDR编译详解
转载自:https://www.cnblogs.com/binsys/archive/2008/10/02/1303014.html 通过上一篇文章的介绍,我们已经有了一个NT4源码编译环境了,而且也已经编译出了一些工具软件,也许你稍许有点兴奋了,但我要说的是,好戏还在后头呢。让我们一起进入激动人心的NTLDR的编译吧,源码面前,了无秘密,尤其是基于源码还可以编译出可执行文件,这意味着你可以边看...
WinNT4:Windows NT4内核源代码-windows source code
WinNT4:Windows NT4内核源代码
ntldr代码分析
首先声明这次的分析是我一点一点跟着NTLDR分析做的,这篇文章讲述的很跳跃,说实话一开始我也没怎么看懂,之后又结合了老师给的文档一点点去对照着看懂的。正如老师要求的那样,是要用我自己的思想把这个ntldr解释出来。 这次的任务是用bochs动态调试ntldr代码部分,并结合windows nt4的源码做分析。 ntldr分为两部分 一个是startup,一个是osloader;我们依次分析。 st...
nt4:Windows NT4源代码-windows source code
nt4 Windows NT4源代码 开拓网络,奉献于网络。 如果您在WRK,Windows 2000的原始中没有搜索到,可以来这里看看。 工程太大,网盘装不下,所以弄到这里了。 微软应该不会追究责任了,因为win7,win8都快过时,不支持了。
TMS320F28377D/F28379D CAN通信避坑指南:从寄存器配置到中断处理的完整流程
本文详细解析了TMS320F28377D/F28379D在CAN通信开发中的关键技术与避坑指南,涵盖时钟配置、寄存器初始化、中断处理等完整流程。针对工业控制和汽车电子应用,提供了实用的优化技巧和错误诊断方法,帮助开发者高效实现稳定可靠的CAN通信。
对暴搜内存的一些理解
最近在写一些东西,发现对内存的搜索是一种比较有效获取信息的方法,于是乎就有了下文: 上图是 反汇编 ntfs.sys 中的分发函数设置的部分,通过上边的操作,程序执行初始化,再看下图,是它在内存布局: 我们发现,方法函数再内存中的布局,是有一定的规律的 都是 C7 46 开头,然后是 4个字节的 XX XX XX XX 的形式,那么,如果我们得到了这个程序在
飞思卡尔16位单片机(二)——CodeWarrior开发环境搭建及新建、调试工程
一、安装CodeWarrior 飞思卡尔16位单片机的开发环境为CodeWarrior5.1,这个软件安装比较简单,软件的安装文件可以从相应的网站上下载。安装CodeWarrior所需要的电脑的硬件资源也比较宽泛,目前一般的电脑都可以满足这个要求,可以支持win10、win7等操作系统。安装过程按照按照软件的提示一步步操作即可。 二、安装USBDM驱动 USBDM是...
NTFS文件系统文件删除对比
实验目的: 掌握NTFS文件系统的文件存储位置查找方法。 掌握NTFS文件系统中MBR、DBR、MFT中重点属性值的含义。 通过对比删除文件、格式化文件和文件粉碎后的MFT状态和文件内容,了解NTFS文件系统的特性。 实验要求: (1)创建一个虚拟磁盘,并在虚拟磁盘中创建不同文件。 (2)记录每个文件的MFT扇区,以及起始文件的起始扇区,文件长度。 (3)将文件正常删除、格式化磁盘,文件粉碎删除。 (4)总结不同的操作下,文件的MFT、文件的内容存储分别是什么状态,有没有什么变化。 实验工具:计算机,win
【小贪】万字长文介绍因果推断和增益模型
本文首先从一个实例出发阐述了因果性不等于相关性,进而引出因果推断和增益模型。然后简单介绍了因果推断的基础内容,并介绍了主要的三类增益模型:元学习、增益直接建模、表示学习,每一类模型都简要介绍了其经典模型。之后介绍了增益模型的评价指标,包括uplift bins、uplift curve和qini曲线。增益模型实际上是一大类模型框架,本质上可以用传统响应模型或其他机器学习模型嵌入增益模型的框架,但是预测结果并不是一个概率,模型评价方式也有变化。训练样本收集增益模型建模强依赖于ab实验,数据要求很高。
病理图像处理个人手札(三)WSI & MIL
1.什么是WSI? WSI全称是Whole Slide Image,也就是全视野数字切片,主要应用在病理学细胞图像领域。WSI 是利用数字扫描仪对传统的病理切片进行扫描,采集具有高分辨率的数字图像,再通过计算机将得到的碎片化图像进行无缝拼接整合,制作可视化数字图像的一项技术。与传统载玻片相比,很好地解决了传统的玻璃切片易损坏、易褪色、易丢片、检索困难的问题。 一言以蔽之,WSI是对传统载玻片进行数字化。 由于是全视野,因此它将包含多尺度的切片在一个文件上面。因此WSI将使用到金字塔模型满足其支持不同分辨率的
NTFS数据恢复源码分析
unit uScanThread;interfaceusesClasses,Windows,SysUtils,uNTFS;type TScanThread = class(TThread) private { Private declarations } FcurDrive : string; diskInfo : TDISK_INFORMATION...
STM32F1的USB接口-自定义HID
设置USB VID:1155 PID :22352。
727



被折叠的 条评论
为什么被折叠?



