05 2014 档案

摘要:NtReadVirtualMemory函数位于ntdll中,作用就是把用户态的函数调用翻译成相应的系统调用,进入内核态。内核中一般有一个相同名字的处理函数,接收到该类型的系统调用后做实际的工作。NTSTATUS STDCALLNtReadVirtualMemory(IN HANDLE Process... 阅读全文
posted @ 2014-05-18 02:22 胡炜 阅读(2247) 评论(0) 推荐(0)
摘要:ReadProcessMemory函数用于读取其他进程的数据。BOOLSTDCALLReadProcessMemory ( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOf... 阅读全文
posted @ 2014-05-18 02:21 胡炜 阅读(623) 评论(0) 推荐(0)
摘要:1)内存间复制(非重叠)应用:比如将需要显示的内容,从缓冲区复制到内存先看等VOID RtlCopyMemory(IN VOID UNALLGNED* Destination,IN CONST VOID UNALLGNED *Source,IN SIZE_T Length);//表示要复制的内存长度... 阅读全文
posted @ 2014-05-17 23:14 胡炜 阅读(371) 评论(0) 推荐(0)
摘要:typedef enum _POOL_TYPE { NonPagedPool, NonPagedPoolExecute= NonPagedPool, PagedPool, NonPagedPoolMustSucceed= NonPagedPool + 2, DontUseThisType... 阅读全文
posted @ 2014-05-17 22:25 胡炜 阅读(960) 评论(0) 推荐(0)
摘要:格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。示例:int i = 1;printf("%p",&i);... 阅读全文
posted @ 2014-05-17 22:13 胡炜 阅读(236) 评论(0) 推荐(0)
摘要:1 一般格式printf(格式控制,输出表列)例如:printf("i=%d,ch=%c\n",i,ch);说明:(1) “格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。②普通字符,即需要原... 阅读全文
posted @ 2014-05-17 22:11 胡炜 阅读(426) 评论(0) 推荐(0)
摘要:PVOID p = ExAllocatePool(Pool_Type, Size);PVOID p = ExAllocatePoolWithTag(Pool_Type, Size, Tag); 调用ExAllocatePool是从内核模式堆中分配内存的标准方式。另一个函数ExAllocatePoo... 阅读全文
posted @ 2014-05-17 22:06 胡炜 阅读(2151) 评论(0) 推荐(0)
摘要:fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功返回 0。函数原型size_tfread (void*buffer,size_tsize,size_tcount,FILE*stream) ;参 数buffer... 阅读全文
posted @ 2014-05-13 12:13 胡炜 阅读(586) 评论(0) 推荐(0)
摘要:功能:检测流上的文件结束符。如果文件结束,则返回非0值,否则返回0,文件结束符只能被clearerr()清除。正确的应该是feof返回0表示文件没有结束,返回1,表示结束。feof实际观察的是上次读操作的内容,也就是上次读操作fread返回的值,如果读操作的返回值表明读取的不是空,那feof就返回0... 阅读全文
posted @ 2014-05-13 12:11 胡炜 阅读(419) 评论(0) 推荐(0)
摘要:语言的运算符可分为以下几类:1 算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(–)共七种。2.关系运算符用于比较运算。包括大于(>)、小于(=)、小于等于(>)六种。5.赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+... 阅读全文
posted @ 2014-05-13 12:04 胡炜 阅读(712) 评论(0) 推荐(0)
摘要:格式:int fgetc(FILE *stream);这个函数的返回值,是返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。位于stdio.h中。从流中读取字符,即从stream所指定的文件中取得下一个字符。这里需要注意,在每取完一个字符时stream会自动向下移动一个字节。这样编程时... 阅读全文
posted @ 2014-05-13 12:01 胡炜 阅读(262) 评论(0) 推荐(0)
摘要:功能:向文件读入写入一个数据块。用法:fwrite(const void *buffer,size_t size,size_t count,FILE *stream);(1)buffer:是一个指针,对fwrite 来说,是要输出数据的地址。(2)size:要写入内容的单字节数;(3)count:要... 阅读全文
posted @ 2014-05-13 11:24 胡炜 阅读(981) 评论(0) 推荐(0)
摘要:格式:文件指针名=fopen(文件名,使用文件方式)参数:文件名 意义"C://TC//qwe.txt" 文件C:/TC/qwe.txt"qwe.txt" 和程序在同一目录下的qwe.txt文件使用方式 意 义“rt” 只读打开一个文本文件,只允许读数据“wt” 只写打开或建... 阅读全文
posted @ 2014-05-13 11:18 胡炜 阅读(467) 评论(0) 推荐(0)
摘要:1、register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。例如下面的内存块拷贝代码, /* Procedure for the assignment of structures, */ /* if the C compiler ... 阅读全文
posted @ 2014-05-13 11:13 胡炜 阅读(474) 评论(0) 推荐(0)
摘要:1. 安装VS2010,WDK7.60(GRMWDK_EN_7600_1)2. 新建VC 控制台项目(选择为空项目)3. 新建项目配置“driver” ,点击下拉按钮-点击(配置管理器)输入名称(driver)点击确定就可以了,其他的不要动哦!完成后的效果!点击确定按钮之后呈现出来的画面鼠标右击新建... 阅读全文
posted @ 2014-05-12 22:41 胡炜 阅读(319) 评论(0) 推荐(0)