NTRing3下使用CreateFile,ReadFile直接读取硬盘实例

使用CreateFile读写文件 微软提供了强大的文件读写操作的编程接口,所以可以通过调用API函数实现文件的读写操作。这里通过CreateFile函数来实现。 要对文件进行读写操作,首先要调用CreateFile函数打开或者创建文件,函数具体格式如下: HANDLE CreateFile( LPCTSTR,lpFileName, //指向文件名 阅读详情

 #include <windows.h>
#include <stdio.h>

const UINT uSectorSize = 512 ;
const UINT uBegSector = 0 ;
const UINT uSectorNum = 1 ;

const UINT uReadSize = uSectorSize * uSectorNum ;

BYTE bBuffer[uReadSize] = {0} ;
const char pDiskPath[] = "////.//PHYSICALDRIVE0" ;

void ShowByteInform ( PBYTE pBuf, UINT uSize )
{
 for ( UINT i = 1 ; i <= uSize; i++ )
 {
  printf ( " %02X", pBuf[i-1] ) ;
  if ( i % 16 == 0 )
   printf ( "/n" ) ;
  else if ( i % 8 == 0 )
   printf ( " " ) ;
 }
}

int main()
{
 HANDLE hDisk ;
 __try {
  
  hDisk = CreateFile ( pDiskPath, GENERIC_READ, /
   FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0 ) ;
  if ( hDisk == INVALID_HANDLE_VALUE )
  {
   MessageBox ( 0, "磁盘打开错误!", 0, 0 ) ;
   return 0;
  }
  
  SetFilePointer ( hDisk, uBegSector * uSectorSize, 0, FILE_BEGIN ) ;
  DWORD dwReadByte ;
  ReadFile ( hDisk, (LPVOID)bBuffer, uReadSize, &dwReadByte, NULL ) ;
  if ( dwReadByte == 0 )
  {
   MessageBox ( 0, "磁盘读取错误!", 0, 0 ) ;
   return 0;
  }
  
  ShowByteInform ( bBuffer, uReadSize ) ;
 }
 __finally {
  CloseHandle ( hDisk ) ;
 }
 return 0;
}

Hook Api,hook ReadFile,hook WriteFile,hook LoadLibrary hook api,hook CreateFile,hook CloseHandle,hook ReadFile,hook WriteFile,hook LoadLibrary 立即下载

相关推荐

易语言APIHOOK CreatefileA实现写到文件、读入文件-易语言

看到一个 开源的HOOK CreatefileA的帖子 里面说 “ 直接APIhook会 出错 只有汇编hook了 ” ,那我写个APIhook的方法。用到了精易模块的APIhook类。

使用createfile window下读写硬盘数据

CreateFile( "\\\\.\\PhysicalDrive1", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0 ); 文件名中的\\.表示window NT中的一个特殊目录。 硬盘的文件名可以用winobj查找到。  打开winobj软件查看GLOBAL目录。   ReadFile()读

lin415804的专栏 2832

易语言 拦截文件读写 APIhook

易语言 拦截文件读写 APIhook 拦截打开文件 拦截文件读入 拦截取文件长度 拦截文件读写位置

ntcreatefile使用_红队战术:在C#中使用syscall之编写代码

前言本文专注于实际编写代码,利用在上一篇文章中学到的内容,实现一个有效的syscall。除了编写代码外,也会介绍如何对“工具”代码进行管理,以及如何为之后与其他工具的集成做准备。在上一篇文章中,我们介绍了一些在C#中使用syscall需要了解的基本概念,其中触及了一些比较深入的主题,例如Windows内部结构及系统调用的概念。还讨论了.NET 框架的工作原理以及如何在C#中利用非托管代码...

weixin_39956110的博客 751

ICT调试技巧:从基础到实战的全面指南

本文提供了一份全面的ICT调试技巧指南,涵盖从基础认知到实战应用的全过程。详细解析了ICT设备硬件结构、程序文件构成,并重点讲解了调试界面的核心参数与高效快捷键。通过跳线、电阻、电容及二极管等常见元器件的实战调试案例,分享了参数设置要点与典型问题解决方案,帮助工程师快速掌握ICT调试核心技能,提升测试效率与准确性。

weixin_29202213的博客 342

数学建模美赛O奖论文研读启示录——从模仿开始

数学建模美赛O奖论文哪些地方比较出彩?我们可以从中学到什么东西?可以从哪些地方进行模仿?我总结了一些O奖论文里我认为比较好的地方,跟大家一起学习交流!

小宇的修炼之路 5429

通过CreateFile来读取磁盘扇区的方法

测试程序包括两个测试方法,以#define SECTOR 开关进行相应的程序段测试,程序在XP + vc6 环境下测试通过,程序如下: #include "stdafx.h"/* -------------------------------------------------------------------------- ** * *    1   读取磁盘扇区* ** ------

孤身我路 1万+

格拉姆角场(GAF)实战:用Python实现时间序列图像化处理

本文深入解析了格拉姆角场(GAF)技术,这是一种将一维时间序列转化为二维图像特征的方法,以便利用卷积神经网络(CNN)等图像模型进行深度分析。文章通过Python实战代码,详细演示了GASF和GADF两种核心转换的实现过程,并探讨了其在时序数据分类任务中的应用,为故障预警、金融模式识别等场景提供了强大的图像驱动分析视角。

weixin_29079671的博客 273

c#NtCreateFile方法smb路径

c#NtCreateFile方法smb路径

如鹿渴慕泉水的专栏 345

服务器卡死排查实战:从现象分类到根因定位的完整手册

服务器卡死是运维中最令人头疼的故障之一,从游戏圈吐槽的“土豆服务器”到生产环境中的Linux系统无响应、rsync复制挂起,本质都是系统或进程失去正常响应能力。其原理通常涉及CPU、内存、磁盘IO或网络资源耗尽,以及内核和驱动异常。掌握系统化的排查方法,能够帮助工程师快速定位根因、缩短故障时间,避免盲目重启。本文从资源、层级、场景等多维度分类,结合top、dmesg、strace等工具,梳理一套从现象确认、指标收集、日志分析到进程定位的实战排查流程,并覆盖常见高频场景与预防治理建议。无论你是运维新手还是老手

weixin_33851177的博客 376

Computers & Security 投稿实战:从零到一详解避坑指南

本文详细解析了向《Computers & Security》投稿的全流程避坑指南,包括ORCID账号注册、文件格式统一、Editorial Manager®系统操作技巧等关键步骤。特别强调了cover letter撰写、Declaration of Interest Statement准备以及PDF生成后的检查要点,帮助研究者高效完成投稿流程。

weixin_29228203的博客 675

notepad hook

0x00前言 昨天花了半天写了个四不像的玩意儿,本来打算以恶意代码的方式去写,但今天不怎么想完 善功能了,所以全局hook和自删除之类的就没有了(其实是debug太麻烦。),结果就是这 个程序很沙雕,你必须先打开记事本再运行它才行。不过获取记事本信息是没什么问题的。 0x01行为 完全是想到什么写什么,所以有些功能完全没发挥作用呢。。 PS:这里所有生成的文件都存放在你的C:/User...

40KO的博客 682

Keras神经网络可视化模块keras.utils.visualize_util的安装配置方法

本文介绍了如何安装和配置keras.utils.visualize_util模块,并提供了一个简单的示例演示如何使用该模块来可视化神经网络的结构。在上述代码中,我们首先定义了一个简单的神经网络模型,该模型具有一个输入层、一个隐藏层和一个输出层,其中隐藏层具有512个神经元,输出层具有10个神经元。运行上述代码后,我们将在当前工作目录下找到一个名为model.png的文件,它显示了神经网络的结构图。这种方式有效地展示了整个过程,让我们能够更好地理解神经网络的结构,方便对其进行改进和调试。

. 892

线程注入、HOOK APIs(附VC6源码)

工作关系,想HOOK并修改一些API,使得不支持某些设备的第三方工具可以正常运行,因此花时间写了这么个工具。比如ReadFile时,某些设备不支持指定的缓存大小(如512KB),可以HOOK ReadFile,把缓存大小修改为更小,可能ReadFile就能正常工作,第三方工具也能正常使用。其实,只是想借工作这个契机,学习远程线程注入和HOOK API。工作上测试的设备和第三方工具运行在64位机

BeanJoy的专栏 9596

Allegro如何导出和导入器件模型Signal_Model操作指导

在用Allegro做PCB设计的时候,通常需要给器件加上Signal_Model,在做等长的时候用到的非常频繁。如下图,需要把R7002的Signal_Model导入到另外一块没有给R7002加好模型的BRD中。Allegro除了可以给器件添加模型,还支持从一块加好模型的BRD导入到另外一块BRD中,如何导出和导入器件模型Signal_Model操作指导。

weixin_54787054的博客 1896

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

网络游戏外挂制作之我所见(4)

以前介绍过的动作式,本地修改式外挂是真正意义上的外挂,而今天本文要介绍的木马式外挂,可能大多像木马吧,是帮助做外挂的人偷取别人游戏的帐号及密码的东东。因为网络上有此类外挂的存在,所以今天不得不说一下(我个人是非常讨厌这类外挂的,请看过本文的朋友不要到处乱用此技术,谢谢合作)。要做此类外挂的程序实现方法很多(比如HOOK,键盘监视等技术),因为HOOK技术对程序员的技术要求比较高并且在实际应用上需要

2456

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C++一行代码实现任意系统函数Hook!

导语|一句话实现系统API的Hook,参数记录以及数据过滤与修改,关注敏感数据本身而不是哪个API的哪个参数可能有敏感的需要处理的信息,写工具的时候想到上述能力可以借助模板实现,赶紧尝试了一下,也做个笔记分享供大家学习。一、AnyCall(一)背景一般来说所有ApiHook库都会需要提供一个与被HookApi相似/相同的Myxxx函数以实现参数访问,这里以BlackB...

QcloudCommunity的博客 1920

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

HOOK 文件保护,隐藏 禁止访问

三个主要的函数:NtQueryDirectoryFile、NtCreateFile、NtOpenFile, 其它函数定义未用,保留。   源码.h头文件PathProtect.h: #pragma once #include "APIHook.h" #include "FileInfoDef.h" //typedef用来声明自定义数据类型 typedef NTSTATUS (WINA

Play up! 程序人生 ZQC 4648

采用个hook技术对writefile函数进行拦截(2)

http://www.cnblogs.com/zhxfl/archive/2011/11/03/2233846.html 这个是笔者之前写过的WriteFile HOOK代码 必须补充对这几个函数的HOOK,才能对WriteFile的所有操作做“比较彻底的拦截”,笔者知道应用层的拦截很容易出现遗漏的,只有编写驱动做文件过滤才会有比较好的效果,不过在实...

weixin_33739646的博客 493

【driver】Windows 内核与驱动

内核空间与内核模块 内核空间 内核空间: 每个进程拥有4GB的独立的内存空间,在低2G是不同的,但是高2G内存空间对于所有的进程来说都是相同的。 内核模块 每个驱动程序每一个都是一个模块,称为”内核模块“,都可以加载到内核中,遵守PE结构。但是本质上讲,任意一个.sys文件与内核文件没有区别。 内核并不是一个孤立的整体,而是由多个模块一起组成的。比如我们逆向的ntoskrnl.exe文件,其实也只是其中的一个模块,我们自己编译的sys文件也是,但是并不是每一个模块都对应着一块驱动,比如安全人员写的驱动

dr0op's blog 1165

Terminal Services Administration

Terminal Services AdministrationThe Terminal Services API enables you to enumerate and manage Terminal Servers, client sessions, and processes. To retrieve the names of all the Terminal Server

CryButNoTear的专栏 1171
上一篇: 上海交通大学硕士生招生院系联系方式
下一篇: 07年上海硕士研究生招生考试报考点情况一览
CryButNoTear
博客等级 码龄21年 6粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值