7 zkzqlove

尚未进行身份认证

暂无相关描述

等级
TA的排名 28w+

STL list链表的用法详解

本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂。不失为STL的入门文章,新手不容错过!   0 前言  1 定义一个list  2 使用list的成员函数push_back和push_front插入一个元素到list中  3list的成员函数empty()  4 用for循环来处理list中的元素  5 用STL

2014-08-11 15:56:55

PF_RING实现分析

内核版本:Linux2.6.30.9PF_RING版本:4.1.0最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。一、什么是PF_RINGPF_RING是一个第三方的内核数据包捕获接口,类似于libpcap,它的官方网址是:http://www.ntop.org/PF_RING.html二、为什么需要PF_RING一切为了效率,

2014-07-30 11:29:39

unix下的cc命令

多数UNIX平台都通过CC调用它们的C编译程序.除标准和CC以外,LINUX和FREEBSD还支持gcc. 基本的编译命令有以下几种: -c    编译产生对象文件(*.obj)而不链接成可执行文件,当编译几个独立的模块,而待以后由链接程序把它们链接在一起时,就可以使用这个选项,如:             $cc-chello.c===>hello.o 

2014-07-25 14:27:00

USB协议

USB协议  2011-07-2815:26:08|  分类: USB|举报|字号 订阅一枚举过程:◆用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态。◆主机检测设备。◆集线器使用中断通道将事件报告给主机。◆主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息。◆集线器检测设

2014-07-24 17:38:39

Windows平台下libnet的编译、安装以及使用

这两天开始搞网络课程设计,要用到libnet去构造数据包。又因为是做某个网络游戏的分析,所以得在windows下面做。于是开始倒腾。先从sourceforge上下载了libnet0.10.11版,用于Windows的是个zip包,然后解压出来放桌面上。在几个文件夹里翻翻,看了看readme,发现丫居然要手动编译。还好已经有批处理写好了直接用就行。按照readme里面的说法,我把b

2014-07-07 23:26:12

Struts框架原理分析之我见

struts是早期的成熟MVC前端控制层框架,具有诸多优点,近两天又系统了研究了一下框架的原理,希望能够从原理上研究一下struts框架的实现思路。也就是说如果理解了这些原理的相关应用技术,就可以自己写出一个山寨版的struts了,当然根据水平的不同,写出的框架的健壮性、扩展性、重用性肯定会相差很多的。                    struts的有两个控制器,分别

2014-05-27 09:33:49

寄存器定义

寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。  寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个“8位元寄存器”或“

2014-03-14 14:39:11

KeServiceDescriptorTable 结构及获取

KeServiceDescriptorTable结构 KeServiceDescriptorTable:是由内核(Ntoskrnl.exe)导出的一个表,这个表是访问SSDT的关键,具体结构是  typedefstructServiceDescriptorTable{  PVOIDServiceTableBase;  PVOIDServiceCounterTabl

2014-03-14 14:29:44

VC读写注册表实现程序自启动的实现源代码

VC读写注册表实现程序自启动的实现源代码本页内容为:VC读写注册表实现程序自启动的实现源代码,该文章本站转载自网络,如有侵权请告之,我们将会及时将其删除,其正文内容如下://写入注册表,开机自启动 HKEYhKey; //找到系统的启动项 LPCTSTRlpRun="Software\\Microsoft\\Windows\\CurrentVersion\\Ru

2014-03-08 17:14:25

RTLCOPYMEMORY与RTLMOVEMEMORY

RtlCopyMemory和RtlMoveMemory都是内存复制。其区别是,RtlCopyMemory非重叠复制,而RtlMoveMemory是重叠复制,具体解释如下:   ABCD分别代表三段内存的起始地址和终止地址。如果需要将A到C段的内存复制到B到D段内存上,这是B到C段的内存就是重叠部分。RtlCopyMemory函数的内部实现方法是依靠memcpy函数实现的。根据C99

2014-03-06 14:03:26

CTL_CODE定义中Method的说明

CTL_CODE定义中有一个Method域,该域的功能意义是定义用于与在驱动程序中获取应用程序数据缓冲区的地址方式。如果你看了我前边的文章,你可以看到在DeviceIoControl的使用说明中对DeviceIoControl参数进行描述中关于lpInBuffer和lpOutBuffer的描述。简单的说,Method域就是定义了lpInBuffer和lpOutBuffer缓冲区在驱动程

2014-03-06 11:29:00

驱动程序的初始化与清除

驱动程序的DriverUnload例程主要负责删除设备与取消符号连接,同时也可释放在DriverEntry中所分配的资源。当数据包捕获驱动程序卸载时,操作系统调用NPF_Unload函数。调用IoDeleteSymbolicLink函数删除符号连接,调用IoDeleteDevice函数删除设备对象,并调用NdisDeregisterProtocol函数从NDIS中取消注册,并释放各相关资源。 

2014-03-05 10:30:02

Windows内核函数(1) - 字符串处理函数

.ASCII字符串和宽字符串打印一个ASCII字符串:CHAR*string=“Hello”;KdPrint((“%s\n”,string));        //s为小写 打印一个宽字符字符串WCHAR*string=L”Hello”;KdPrint((“%S\n”,string));         //s为大写 

2014-03-05 10:22:22

VC编程实现动态截获并显示窗口DC

我在网上看到很多屏幕截取的文章,相信大家也看过不少。人类每一次的进步总是建立在别人的基础之上,我今天要做得是如何将一个窗口动态地显示在另外一个窗口上。  方法很简单,核心算法是要完成对一个窗口DC显示到另外一个窗口的DC,为了方便代码的重用,我特地把它放到一个自己编写的函数: BOOLCShow_WindowDCView::Show_WindowDC(CWnd*pW

2014-02-28 15:00:06

实现进程监视清除多余进程

创建多进程处理程序的时候,需要对多进程进行监视,例如QQ启动多了,内存很卡,就得清除一些多余进程。详细请见代码分析,实现进程监视与清除多余进程#include"stdafx.h"    #include"GetAllInfo.h"    #include"GetAllInfoDlg.h"              

2014-02-28 14:57:21

VC编程实现内核方法实现进程保护

《WindowsRootkit开发初步》这篇文章大致讲地是Rootkit实现进程隐藏,当时我受益匪浅。后来看到这期另外一篇文章名为《木马编程DIY之线程守护》这篇文章,提到了一个双进程实现进程守护的方法。不过他的引言里提到了Icesword的一种HOOK系统底层函数的方法,但是没有细讲。然后我查询很多资料加上自己的研究,试验成功了这个方法。代码原理和Rootkit文章的原理类似,不过我稍加改进更

2014-02-28 14:43:51

VC判断系统和进程是64位还是32位

//判断操作系统是64位还是32位//返回TRUE位64位,返回FALSE位32位///////////////////////////////////////////////////////////////////////////////////////方法一:BOOLIsWow64() {    typedefBOOL(WINAPI*LPFN_

2014-02-27 10:43:15

strcpy和memcpy的区别

strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char*strcpy(char*dest,constchar*src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。

2014-02-27 09:32:44

获取硬盘的详细信息

用到的常量及数据结构有以下一些://IOCTL控制码//#define DFP_SEND_DRIVE_COMMAND  0x0007c084#define DFP_SEND_DRIVE_COMMAND  CTL_CODE(IOCTL_DISK_BASE,0x0021,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACC

2014-02-26 17:34:09

DeviceIOControl实战

实战DeviceIoControl之一:通过API访问设备驱动程序Q 在NT/2000/XP中,我想用VC编写应用程序访问硬件设备,如获取磁盘参数、读写绝对扇区数据、测试光驱实际速度等,该从哪里入手呢?A 在NT/2000/XP中,应用程序可以通过API函数DeviceIoControl来实现对设备的访问—获取信息,发送命令,交换数据等。利用该接口函数向指定的设备驱动发送正确

2014-02-24 14:00:27

查看更多

勋章 我的勋章
    暂无奖章