浮点数精度问题详解float型小数点后八位,double型看名字就知道啦。因为计算机——电子计算机,据说量子计算机或生物计算机可以精确的表示浮点数。——使用0和1两位来辨识数据
c++监视CreateFile这个api的钩子,如何只处理打开的文件是\\\\.\\PHYSICALDRIVE0的程序,其他文件不管
使用C++ CreatFile() 打开C盘失败
CreateFile函数调用的第一个参数有误,应该是一个文件路径而非一个磁盘驱动符
该函数原型如下:
HANDLEWINAPICreateFile(
_In_LPCTSTRlpFileName,
_In_DWORDdwDesiredAccess,
_In_DWORDdwShareMode,
_In_opt_LPSECURITY_ATTRIBUTESlpSecurityAttributes,
_In_DWORDdwCreationDisposition,
_In_DWORDdwFlagsAndAttributes,
_In_opt_HANDLEhTemplateFile
);
lpFileName 应该指向一个设备或者文件的路径,磁盘驱动符不在此列
如果需要打开C盘设备,应该使用"\\\\.\\C:"这种微软规定的格式
DeviceIoControl原型如下:
BOOLDeviceIoControl(
HANDLEhDevice,
DWORDdwIoControlCode,
LPVOIDlpInBuffer,
DWORDnInBufferSize,
LPVOIDlpOutBuffer,
DWORDnOutBufferSize,
LPDWORDlpBytesReturned,
LPOVERLAPPEDlpOverlapped
);
hDevice是上面打开的设备句柄
dwIoControlCode 是控制设备的指令。微软在winioctl.h文件中定义好了很多种操作,不过最终都是通过CTL_CODE宏实现的,这就是一种通信协议。
CTL_CODE原型:
#defineCTL_CODE(DeviceType,Function,Method,Access)(
((DeviceType)<<16)|((Access)<<14)|((Function)<<2)|(Method)
)
该宏包含四个参数,高16位存储设备类型,14~15位访问权限,2~13位操作功能,最后一个是确定缓冲区(DeviceIOControl中缓冲区的定义下面有)是如何与I/O和文件系统数据缓冲区进行数据传递的方式。最常用的就是METHOD_BUFFERED
这个宏经常用来定义IOCTL(I/O控制)和FSCTL(文件系统控制)功能控制代码,所有的IOCTLs必须通过这种方式定义,以确保这些指令能被Microsoft,以及其他的硬件厂商通信接口所识别
lpInBuffer: 设备操控请求数据的缓冲区基址,如果dwIoControlCode 指定了一个不需要输入数据的操作,则该个参数设为NULL
nInBufferSize:lplnBuffer的大小,单位字节
lpOutBuffer:存放输出数据的buffer,如果dwIoControlCode 指定了一个不需要输出数据的操作,那么该参数设为NULL
nOutBufferSize:lpOutBuffer的大小,单位字节
lpBytesReturned:实际输出数据的字节
lpOverlapped:异步操作用的,一般忽略,设置为NULL
具体的命令参数初始化需要查阅对应的命名协议,这里不赘述,可参考msdn
physicaldrive0是什么?
载录的:\x0d\x0a由于"\"是C/C+中转义符, "\\\\.\\"就相当于\\.\\x0d\x0a\x0d\x0a在Windows中 \\.\ 前缀用于标识设备,其中的"."表示本地计算机。\x0d\x0a\x0d\x0a比如\\.\PhysicalDrive0表示本机的物理驱动器0(一般是主硬盘),\x0d\x0a\\.\COM1表示本机的1号串行口\x0d\x0a\\computer01\PhysicalDrive1表示网络中计算机computer01的物理驱动器1,等等。\x0d\x0a\x0d\x0a你可以用CreateFile函数打开\\.\PhysicalDrive0\x0d\x0a然后用ReadFile, WriteFile来直接读写本机硬盘扇区\x0d\x0a用DeviceIoControl来获取硬盘的信息(扇区数,磁头数,柱面数)等。\x0d\x0a\x0d\x0a亦可用CreateFile打开卷,如\\.\C:即是C盘。\x0d\x0a\x0d\x0a若你对windows内核有点了解,事实上\\.\就相当于NT对象目录中的\??\目录\x0d\x0a其中包含了所有提供给Win32程序的设备对象,你可用winobj来查看。
如何编写木马程序?
怎样编写木马程序 您好 建议您不要去学习使用木马病毒,是属于违法犯罪行为。而且,如果您接收了木马病毒,那么该病毒会自动在您的电脑中优先运行。 建议您到腾讯电脑管家官网下载一个电脑管家。 在平时使用电脑的时候,打开电脑管家,可以受到电脑管家16层实时防护的保护和云智能预警系统,可以在木马活动早期侦测并阻断木马的破坏行为,通过云查杀技术秒杀最新流行木马。 如果还有其他疑问和问题,欢迎再次来电脑管家企业平台进行提问,我们将尽全力为您解答疑难 腾讯电脑管家企业平台:zhidao.baidu/c/guanjia/ 如何编写木马程序?? 你想干什么?如果你只想玩玩,建议你学一下vbs脚本或bat脚本,如果vb的问题.大家帮帮忙,小弟谢过了!
用程序退出时生成个批处理 并运行这个批处理 批处理加一段延时代码,等待一段时间,确保程序已完全关闭 执行批处理的删除代码 最后删除批处理自身 以前做过,可以实现 删除自身大总结 程序的自删除早已经不是什么新鲜的话题了,对于各位大虾来说是更是比较容易的事情,但想想自己刚学时遇到的种种错误,我觉得有必要把自己所知道的各种方法总结一下,希望对新手的学习能够有所帮助。 程序的自删除广泛用于反安装程序最后的自删除(环保呀!),当然更多见于木马、病毒首次安装的自动销毁^*^,至于用于何种用途就看你自己啦! 经典自删除 说到程序的自删除就不能不说由 Gary Nebbett 等大虾所写的代码,经典之作呀!代如何用C语言对大容量硬盘进行读写
7月30日 15:18 大容量指多少呢,还是先看看主板的性能,就算刷了bios后,也未必能支持,看看说明刷了后最大能支持多少。目前市场上主流的是160、250、650g相关文章
- 详细阅读
-
我爱编程论坛的网址是什么?详细阅读
谁给我推荐一些关于学习编程的网站论坛-做为初学者的话,给你推荐一个吧!http://www.bccn.net/中国最大的编程论坛(编程中国)!!希望大家一起加油哦。我学Java和CShap的。。祝你学业
-
编程问题,用int midNote(linkNote*p详细阅读
C++编程问题。。。。#includeusingnamespacestd;classMyClass{//这里定义些函数和变量,函数可以是申明,也可以是实现public:MyClass(){ cout
-
c语言中的的问题,请求大佬帮忙详细阅读
c语言编程,请求大佬们的帮忙?你在存储信息的时候,同时要把这个链表的一些信息放进去,这样的话,你下次都取出来,也可以再次把他还原成一个列表,便于你下次的一个查找,希望可以帮到你c
-
java编程设计详细阅读
Java程序设计语言是什么意思?Java是由SunMicrosystems公司于1995年推出的一门面向对象程序设计语言。2010年Oracle公司收购SunMicrosystems,之后由Oracle公司负责Java的维护和
-
西安有没有培训计算机二级的详细阅读
西安的计算机培训学校有哪些?西安的计算机培训学校有:1、西安中育美佳计算机学校:西安中育美佳计算机科技学校是中育美佳科技教育集团由1994年12月6日成立的中育美佳计算机学校
-
可达鸭编程怎么将作品发布?详细阅读
软件设计模式鸭子模拟器假设我们需要设计出各种各样的鸭子,一边游泳戏水, 一边呱呱叫。很明显这时我们需要设计了一个鸭子超类(Superclass),并让各种鸭子继承此超类。 public abs
-
想了解下编程和软件开发应该看什么详细阅读
我想学习编程需要购买那些书籍?书籍整理如下:C++开发1.《C++ Primer》:全面学习C++的必备书籍2.《Thinking in C++》:了解C++背后的一些机bai制3.《深度探索C++对象模型》:深入了
-
学机器人编程对文化课帮助大吗?详细阅读
孩子学习少儿编程,会影响文化课成绩吗?孩子学习少儿编程,从某种程度上会影响文化课成绩,孩子学习少儿编程会从两个方向发展,一个是能更好的促进文化课成绩,通过学习少儿编程,锻炼少
-
stm32编程怎么学详细阅读
初学STM32的入门方法有哪些?我的一些体会:\x0d\x0a\x0d\x0a首先,关于STM32入门,这个可能需要的是指导教程和技术论文。说实话STM32并不难,因为你可以把它当做单片机来用,至少不会