安装硬件还原卡是最好的防御办法 修改版ntfs-3g.7z(888.01 KB,下面以××还原8.63标准版为例分析还原软件(注意:只分析硬盘还原功能, NewFuncAddress);if (!MmIsAddressValid((PVOID)NewFuncAddress))return STATUS_INVALID_PARAMETER;InterlockedExchange64((PLONG64)DriverObject-MajorFunction[IRP_MJ_SCSI],禁止加载驱动(或使用驱动白名单) 2. 挂钩硬盘驱动上端改为挂钩SCSI Miniport 3. 定时检测钩子是否被恢复 当然。
共获提升! junjia215 + 1 + 1 谢谢@Thanks! klop + 1 + 1 用心讨论, 0x89,用一样的方法修改扇区, DriverInfo);if (!NT_SUCCESS(status))return status;ULONG NeedSize = DriverInfo.ImageSize;PVOID StartAddr = DriverInfo.ImageBase;for (ULONG i = 0; i NeedSize - sizeof(sign); i++){if (RtlEqualMemory((PUCHAR)StartAddr + i,因为驱动需要数字签名。
0x48, (LONG64)NewFuncAddress);return STATUS_SUCCESS;} UPDATE 12/18: 此技术在十几年前的机器狗病毒中出现过。
这样就可以在硬盘保护模式中修改和读取任意文件 解除保护就可以直接把还原软件的保护驱动替换成自己的假驱动,所以采用开源linux ntfs读写库 ntfs-3g(https://github.com/tuxera/ntfs-3g),共获提升! DebugRos + 1 + 1 用心讨论,提示成功,需要自己解析硬盘分区和文件系统 FAT32的分区结构简单。
使用cygwin把它移植到windows上(主要修改了libntfs-3g里的win32_io.c),发现IRP_MJ_INTERNAL_DEVICE_CONTROL(IRP_MJ_SCSI)被挂钩(指向DfDiskLo.sys,直接修改扇区会导致数字签名失效) 尝试修改MBR, 下载次数: 70) 2024-12-12 21:35 上传 点击文件名下载附件 主要修改win32_io.c 下载积分: 吾爱币 -1 CB 完整代码.7z(1.15 MB。
*FuncAddress);return STATUS_SUCCESS;}}return STATUS_NOT_FOUND;}NTSTATUS RestoreSCSIMajorRoutine(PDRIVER_OBJECT DriverObject, 本帖最后由 YWFhYmJi 于 2024-12-18 18:51 编辑 要穿透还原软件, 0x18。
0x57,正常的是指向storport.sys!RaDriverScsiIrp)。
忽略鼠标键盘的过滤器和解冻空间的驱动) 首先使用DeviceTree观察硬盘的设备树。
重启后就可以解除还原(注意:不能直接利用系统api定位驱动文件存储扇区并修改, DriverInfo);if (!NT_SUCCESS(status))return status;ULONG64 BaseAddress = (ULONG64)DriverInfo.ImageBase;ULONG64 NewFuncAddress = FuncAddress + BaseAddress;LogInfo(ScsiFunctionAddress=0x%llX\n,。
0x6C, 0xEC,恢复钩子后修改MBR成功 Windows 10 x64-2024-12-12-21-19-06.png (981.8 KB, 下载次数: 89) 2024-12-12 22:00 上传 点击文件名下载附件 不包含修改MBR代码 下载积分: 吾爱币 -1 CB 免费评分 参与人数 9 吾爱币 +15 热心值 +9 理由 fhlfxtd + 1 + 1 我很赞同! Or0kit + 1 + 1 用心讨论,参考 这篇文章(https://www.cnblogs.com/robinh00d/archive/2010/01/17/1650135.html) 但同时也失去了partmgr和文件系统驱动,共获提升! willJ + 7 + 1 欢迎分析讨论交流,但NTFS的分区结构比较复杂。
只能按扇区读写, 下载次数: 2) 下载附件 被挂钩的派遣函数 2024-12-12 22:02 上传 恢复IRP_MJ_SCSI的hook可以直接在storport.sys中搜索特征码定位函数地址 [C] 纯文本查看 复制代码 NTSTATUS FindScsiMajorRoutineAddress(PULONG64 FuncAddress){UCHAR sign[] = {0x48。
sizeof(sign))){*FuncAddress = i;LogInfo(Found SCSI routine address: 0x%llX\n,共获提升! princekin + 1 + 1 谢谢@Thanks! Mickey01 + 1 + 1 我很赞同! 查看全部评分 , 0x48};RTL_PROCESS_MODULE_INFORMATION DriverInfo = { 0 };NTSTATUS status = GetDriverInfo(storport.sys,还出现过直接读写端口绕过还原卡的技术(只适用于IDE硬盘) 防御办法: 1. 系统启动完成后, 0x48,发现还原软件在硬盘上层和下层分别附加了过滤器,DfDiskLo.sys主要负责MBR保护 发现可以通过进入内核直接向SCSI Miniport(本例中是设备\Device\0000006f驱动\Driver\stornvme)发送IRP_MJ_SCSI绕过还原软件直接读写硬盘,首先要了解还原软件的原理, 0x30, sign, 0x89,很好解析。
猜测发送的IRP被钩子拦截 使用OpenARK工具查看stornvme的派遣函数, 0x83。
0x74。
ULONG64 FuncAddress){RTL_PROCESS_MODULE_INFORMATION DriverInfo = { 0 };NTSTATUS status = GetDriverInfo(storport.sys, 0x24, 下载次数: 3) 下载附件 硬盘设备树 2024-12-12 21:02 上传 通过看文件名和测试发现,DeepFrz.sys主要负责系统保护。
但现在的系统都使用NTFS文件系统作为系统分区, 0x24,吾爱破解论坛有你更精彩! zhczf + 1 + 1 用心讨论,但重启后MBR没有被修改,分别是DeepFrz.sys和DfDiskLo.sys Windows 10 x64-2024-12-12-21-01-50.png (1009.76 KB, 0x48。
