作 者: ProgmBoy
by:ProgrammeBoy http://hi.baidu.com/programmeboy
环境:首先新建一个512M的文件.然后用filedisk使用这个文件创建一个volume。然后格式化为ntfs格式。我是按每簇512字节格式化的。
目标:在根目录下添加一个名为777.txt的空文件
工具:filedisk、 Runtime's DiskExplorer for NTFS、winhex
1,先找到$mft,保存重要数据
(根据bootsector中数据找)例如我的bootsector如下图所示
这里我们用到的有偏移为B、D、30处这里说明下,显示结果都是10进制的,我们计算下$mft的偏移就是(349525)d *( 512)d* 1= (178956800)d 化成16进制就是(AAAAA00)x。注意这里(数字)d是指10进制的数
而(数字)x是指16进制的数.下同
我们来到这个地方
如下图:
2,找到并设置$mft的bitmap
先根据$mft中的bitmap属性(B0)找到run再根据run找到其数据区。
选中的那个就是B0属性。这里我们用到的就是紫色那个run,根据run我们知道其数据在55554簇处,即偏移(55554)x*(512)d(我的这个盘一个簇就一个扇区) = (AAAA800)x
我们来到这里:
看紫色部分。$mft中的bitmap属性数据中的每一位代表这个mft号的使用情况。比如上面第一二字节16位分别代表$MFT、$MftMirr、$LogFile、$volume、…..$Extend下面的一字节就是系统预留的8个mft号
.再接下来就是0F,化成2进制是00001111,这里得说明一下在bitmap中高位代表低的mft号。
例如:
字节序: 1F
二进制: 0 0 0 1 1 1 1 1
所代表的mft序号: 8 7 6 5 4 3 2 1 (也就是说第12345正在使用78为空闲)
我们就可以找到空闲位写入我们的MFT了就向上图紫色所示第17位为空闲的,但是这是系统预留的我们不能用。接着往下找29位为空闲。那么我们就可以在第29个MFT中写入我们的MFT。我们设置第29位后bitmap数据由FF FF 00 0F 变成了 FF FF FF 1F
3, 创建新的MFT,写入磁盘
我们来到第29号mft处就是: (AAAA800)x (第一个mft的偏移) + (29 – 1) *(1024)d (每个FILERECORD的大小) = (AAB1A00)x
接下来我们就来手动填充这个MFT,这里我添加了3个最基本的属性, 10, 30, 80。
这样不好看,这样
额,比直接看数据好多了。。。。。
上面那几个带颜色的时必须填对的…还有那个USA你得在这个MFT的每个扇区的末尾都得设置.例如我这里的是01 00 (看上面偏移AAB1A30处),那么我们就得在这个MFT的两个扇区的末尾都设置成这个.如图:
第一个扇区
第二个扇区:
就是这样了…
唉,..我这里得atributeID忘加了…日志记录也没加。不过对于我们的目标来说无所谓
4,添加index_entry
Mft添加完了我们得到再到索引中添加….
我们先到第五个MFT也就是root中找到其A0属性,找到索引根
其run就是上图紫色部分.我们来到其数据处
上面紫色是index_entry的总长度,我们在添加index_entry后也要修改这个值。
我添加的index_entry如下图所示:
注意最后这个表示末尾的这一行必须得有呀…别的按照结构体格式直接加就行了。
5,就是在$Bitmap中设置这个扇区为正在使用(注意这个不是$mft中的那个bitmap属性)
$mft中的bitmap表示哪个mft号在使用
$Bitmap是表示整个盘中每个扇区的使用情况
这里我们得算下我们的mft在哪个扇区? (AAAB1A00)x / (512)d = (5558D)x
再算下是第几个字节 (558D)x / 8 = AAB1
我们去第AAB1字节去设置去,$bitmap的数据区在1000BE00(就是在mft中找到$bitmap的FILERECORD然后再找到run就能找到数据区了)
我们的MFT的扇区是(AAB1)x + (1000BE00)x = (100168B1)x
已经使用了….
基本就是这样了…
我不会刷新缓存,但是重启很麻烦.。这里就体现出用filedisk的方便之处了.首先卸载磁盘,然后重新创建这个磁盘.缓存就会自动刷新了。新建的文件也就会显示出来了。
要想加data的话在其FILERECORD得80中加就行了。。
切记。这个程序只对上面说的环境有效。不可在真实磁盘中做实验呀。。。用filedisk创建个虚拟磁盘玩玩还是可以的。。。
下面是添加文件的程序的源代码和doc文件。。本来想写成cmd形式的了,还没写完。。。
相关推荐
Cadence IC5141保姆级教程:Bandgap电路四大仿真(稳定性/噪声/启动/PSRR)完整流程与调参心得
本文提供Cadence IC5141中Bandgap电路的四大仿真(稳定性仿真、噪声仿真、启动仿真、PSRR仿真)的完整流程与调参心得。从原理图检查到ADE L配置,详细解析各仿真步骤的关键参数设置与优化策略,帮助工程师高效完成电路设计与性能调优。
NTFS文件系统解析(三)
正如上图所示,绿色部分代表IndexEntry的头部,紧接着的红色部分和黄色部分就是去除了标准属性头之后的0x30属性,而最后的紫色部分则存储着子节点的VCN号。为了便于管理,NTFS文件系统为所有的属性定义了统一的头部结构,可以称之为属性头。对于NTFS文件系统而言,无论文件内容本身,抑或真实的文件属性,都被称之为属性。索引根节点通常由标准属性头,索引根属性头,索引属性头和索引属性组成。而由于每种属性的长度不一,因此又额外定义了常驻属性和非常驻属性。属性,这种情况下,文件的基本属性与。
CloudSat卫星数据高效下载与自动化处理指南
本文详细介绍了CloudSat卫星数据的高效下载与自动化处理方法,包括交互式图形界面和wget批量下载技巧,以及使用Python脚本实现自动化处理和数据质量控制。内容涵盖从数据准备到实战应用的完整流程,特别适合气象研究和气候建模领域的工作者提升工作效率。
Windows下NTFS文件系统创建与结构概览及DBR字节分析(基于Windows)
本文以图的方式简单明了地示例了一个NTFS文件系统的总体结构是如何的,同时以文字总结配合图示的形式总结DBR重点字节的作用
PyTorch ModelNet点云数据集加载实战:从下载到Dataset类完整实现
在三维视觉与点云处理领域,数据集是算法研发的基石。ModelNet作为三维物体分类的基准数据集,其地位类似于图像领域的MNIST,是入门和评估模型性能的通用标准。理解其数据格式与加载原理,是进行点云分类、分割等任务的关键前置步骤。通过PyTorch的Dataset类,开发者可以构建高效的数据管道,将原始点云文件转换为神经网络可直接处理的张量格式,这一过程涉及数据采样、归一化、特征组装等核心操作,直接影响模型的训练效率和最终性能。本文聚焦于ModelNet10/40数据集,详细解析其目录结构,并提供一套稳健的
1.30 Cubemx_STM32H743 SD_Card纳入文件管理系统
Cubemx_STM32H743 SD_Card纳入文件管理系统1、简介2、CubeMX配置 1、简介 和前面文章原理其实一样的。 1.29 Cubemx_STM32F429\H743 nandflash、spifalsh纳入文件管理系统 现在一并将SD卡、NandFlash、SPIFlash一并作为文件管理。 下面直接介绍SDcard,其他参考前面文章。 2、CubeMX配置 ...
如何在NTFS文件系统中创建文件的Link
大部分朋友可能知道UNIX提供了创建文件的Link的功能,而用过Windows的NTFS文件系统所支持的Link功能的朋友可能就没有那么多了(注意我说的不是Shortcut)。今天正好由于工作原因研究了一下相关内容,整理一下分享出来。本文简单介绍如何在Windows系统中使用NTFS文件系统所提供的功能创建Link。NTFS支持两种Link,Junction Point和Hard Link。J
生成式引擎优化(GEO)全景指南:技术架构、实施策略与未来趋势
生成式引擎优化(GEO)全景指南摘要 GEO(生成式引擎优化)是针对AI生成内容(如ChatGPT、文心一言等)的优化策略,通过结构化数据、权威建设与语义优化提升企业内容在AI答案中的引用优先级,实现“无点击曝光”。其核心价值在于从流量竞争转向信任构建,突破传统SEO局限。技术架构依托RAG(检索增强生成)、向量数据库及反馈学习机制,动态优化内容生成与引用逻辑。实施策略包括:部署结构化数据(如JSON-LD)、维护动态知识图谱、适配多模态内容(3D/VR)、联合权威机构发布白皮书。行业案例显示,美妆、智能家
android ntfs u盘,NTFS让U盘短命?想多了
夭寿了,苹果终于开始动手了,将在今年把使用了20多年的HFS+文件系统更新为APFS(Apple File System苹果文件系统),从而实现支持SSD高效运作和对用户数据更为有效的保护。反观微软,各种版本的Windows造成的多格式共存,及什么情况使用何种格式也是争议不断,愁!现在大家能见到的基本也就是NTFS、FAT32和exFAT这三种。FAT32就不多说了,老玩家们对它的感觉是爱恨交加,...
Cesium WebGL性能调优实战:从卡顿根源到流畅渲染
本文深入探讨Cesium WebGL性能调优的实战技巧,从硬件配置、框架适配到3D Tiles加载策略,全面解决卡顿问题。通过强制启用独立显卡、优化浏览器设置、避免Vue内存陷阱等实用方法,显著提升3D地图应用的流畅度。文章还分享了高级调试工具和实战避坑经验,帮助开发者实现高效渲染。
【调优】OpenClaw从零开始高阶调优之skill篇
本文详细解析了OpenClaw技能系统的核心机制。首先介绍了技能的分层加载逻辑,按照优先级从高到低依次为:工作区专属技能、全局共享技能、出厂自带技能和自定义路径技能。通过流程图展示了从扫描到注册的完整加载流程,并解释了同名技能覆盖规则。随后深入剖析了SKILL.md文件结构,包含YAML元数据定义技能属性和Markdown正文说明使用方法,以公众号写作技能为例展示了具体配置。文章还提供了技能优先级切换的实用技巧,帮助用户灵活管理不同版本的技能。
Everything研究之读取NTFS下的USN日志文件(1)
转自:http://univasity.iteye.com/blog/805234 http://univasity.iteye.com/blog/805235 我在第一次使用 Everything 时,对其速度确实感到惊讶,后来了解到是通过操作 USN 实现的,并且有一定的局限性(只有 NTFS 下才能使用)。 近来清闲无事(失业了),搞些自己的小项目玩玩。其
redhawk:avgTW maxTW minTW minWC的区别
分析dynamic ir drop报告时会遇到这几个值,avgTW maxTW minTW minWC,如下图。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?
Ubuntu挂载Windows NTFS盘
为了学习linux我装了双系统,因为我还不想放弃windows的软件兼容性,但是出现了不能读取其他盘的内容,这个问题在我刚刚开始接触linux的时候就已经出现过,那时傻傻的我不知所错,竟然重装系统,把windows给革掉了,但是现在想玩玩windowsphone的开发,所以装了双系统。 Error mounting /dev/sda6 at /media/xxx/xx: Command-li
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
CentOS6.3中挂载NTFS移动硬盘的经历
鄙人当年用PC硬盘做了一个移动硬盘(其实并不方便移动,只是外边包装了一个壳子,可以用USB口访问而已),移动硬盘上存放了一些学习资料。某日想把一部分学习资料拿到公司去学习,可公司的本本不允许带回家,家里的本本又被我装了个CentOS玩玩,就想着能不能先把资料拷到CentOS上,再通过其他方式比如U盘什么的拷到公司去。 奈何CentOS并不认识俺当年做的移动硬盘,因为文件系...
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
安卓怎么挂载ntfs硬盘_利用树莓派和闲置硬盘,搭建起家中的个人网盘
因为给个人笔记本电脑升级,替换下来了一块2.5寸的1T机械硬盘,想着闲置也是闲置,不如用来搞一个nas玩玩,可以存放一些个人文件和电影大片,共享给家中的所有人,接下来就跟随我的脚步,一起来看看如何实现吧1.前期准备树莓派(刷好官方系统,具体教程请见百度)闲置硬盘(可以是2.5寸,也可以是3.5寸,但前提是已经买好了硬盘壳子,能够支持USB连接)路由器2.路由器MAC地址绑定先说一下这一步是干嘛,众...
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
u盘最大单个文件支持多少g_新买的移动硬盘和U盘该格式化成哪种文件格式?
我有一台MacBook Air经常随身携带,方便随时处理工作上的事情;一台组装的台式电脑,闲暇之余用来玩玩游戏看看电影;办公室还有一台Dell的台式机,这是公司配置的办公用品。不可避免的,我经常需要在几台电脑间共享文件,于是乎,我又有了移动硬盘和U盘。或许,你也是如此。不管你是喜欢Windows还是Mac,你都会碰到这样一个问题:新买的闪存设备(U盘、固盘),到底要用什么文件格式来格式化?FAT3...
有关Windows XP用户权限有意思的一些发现
前几天系统被侄女给弄得一“身”病毒,刚好自己又想装个XP玩玩,觉得漂亮,所以就重装了一下系统。然后又担心被破坏,所以就用到了XP的多用户管理。给侄女新建了一个受限制的用户,这样应该就保险了罢,我想。可下班回来,发现她郁闷着呢,原来她的QQ登陆不了,我说怎么可能,她说还骗你不成,那企鹅晃啊晃的晃了一整天都上不去呢。 不对啊,怎么会这样呢?我觉得有点蹊跷,就研究起来
ESXI6.7在nvme的分区上新建存储
新机器(HP Desktop Pro G6 Microtower PC)上想弄个esxi玩玩,看了下CPU是i5 10500, 6核心12线程,满足ESXI的要求。但只有个nvme的磁盘,里面还有正版win10 home版本,于是用diskgenius调整分区,分出了137G的空闲空间,没有格式化,想着以后可能还会用win10。 直接安装esxi6.7不成功,考虑到应该是不认识nvme磁盘,网上找了个打包好nvme,realtek网上的安装包,用rufus刻录到U盘后安装成功! 不想自己折腾的可以来此下载
Linux 7.1内核更新:FRED执行模型、486退役与NTFS重写
操作系统内核的每次版本升级,都不仅是功能叠加,更是一次底层架构的取舍。在x86处理器发展历程中,中断与异常事件的处理机制始终是性能与复杂度博弈的核心,从早期的IDT到Intel提出的FRED新执行模型,硬件与内核正在协同简化事件交付路径。同时,随着硬件迭代,老旧处理器的兼容代码逐渐成为负担,486的正式退役标志着内核最低硬件基线的抬升,为源码精简和现代特性腾出空间。在存储领域,Windows NTFS文件系统在Linux上的支持方案长期多轨并行,内核态ntfs3驱动的成熟让旧有驱动和FUSE方案逐步收敛。理
linux文件系统及其目录结构、虚拟文件系统
本文为学习笔记,整合课程内容以及部分文章,参考的原文链接如下: 目录文件系统初步认知学术定义文件系统种类什么是分区简单理解windows和linux文件系统的区别文件系统目录结构/etc目录下可以设置开机启动程序切换为root超级用户虚拟文件系统(Virtual File System)(VFS)是什么?有什么作用?EG1:`cp`指令的实现EG2:从系统编程,从上层到底层来看 师承陈立臣 文件系统初步认知 学术定义 文件系统是操作系统用于管理存储设备的文件和数据结构,即在存储设备上组织文件的方法。 文件系
在U盘上安装debian linux
台式机最后还是挂了。虽然还没彻底挂,启动起来已经颇为麻烦,而且升级到3.0内核后把显示器都给搞熄灭了。跑起来必须用笔记本上的xmanager才能远程玩玩。 于是决定在笔记本上弄个真正的linux。毕竟笔记本内存不是很大,虚拟机上搞,速度不爽。于是想在U盘上装一个。准备了
linux文件系统、文件系统结构、虚拟文件系统
文件系统概述 学术定义 文件系统种类 什么是分区 简单理解windows和linux文件系统的区别 文件系统结构 /etc目录下可以设置开机启动程序 切换为root超级用户 /proc目录举例 绝对路径与相对路径 虚拟文件系统(Virtual File System)(VFS) 是什么? 有什么作用? EG1:cp指令的实现 EG2:从系统编程,从上层到底层来看...
1650



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



