
widows系统
文章平均质量分 66
weiyong1999
改变思想、提升能力、不断的自我丰富,此乃人生之一大乐趣。
展开
-
windows服务详解
下面是服务说明(字母顺序为列)Application Layer Gateway Service描述:为 Internet 连接共享和 Windows 防火墙提供第三方协议插件的支持。状态:关闭 手动附注:没启用或者不用系统自带防火墙的话 禁用都行Application Management描述:提供软件安装服务,诸如分派,发行以及删除。状态:关闭 手动附注:转载 2012-07-14 08:52:16 · 917 阅读 · 0 评论 -
c语言Base64算法的实现
百科对base64的简述:Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HT原创 2013-04-05 23:13:53 · 4773 阅读 · 0 评论 -
MFC GDI使用实例源码、逻辑坐标系、设备坐标系及需要注意的事项
GDI类的使用需要注意的是:在创建相关的GDI对象时,如果我们使用的是MFC给定的构造函数去创建对象,那么应用程序结束后系统将自动帮我们清理该资源,但当我们使用create*相关的函数去初始化GDI对象时,我们应该确保只对该对象初始化一次且一次,否则,系统就会报错。而若要再次初始化我们应该确保改对象没有被初始化过,判断对象的m_hObject成员变量是否有值。一个让人头疼的坐标映射:W原创 2013-03-21 13:22:49 · 1077 阅读 · 0 评论 -
MFC 菜单处理及消息截获(利用虚函数的特性实现)
鼠标右键菜单: CMenu menu; menu.LoadMenu(IDR_MENU1); CMenu *popup=menu.GetSubMenu(0); ClientToScreen(&point); popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,point.x,point.y,this); CView原创 2013-03-16 22:29:43 · 1075 阅读 · 0 评论 -
MFC CArchive类的使用和数据序列化以及doc、view、frame指针的相互获取
一、Document/View结构 在MFC中,文档类负责管理数据,提供保存和加载数据的功能。视类负责数据的显示,以及给用户提供对数据的编辑和修改功能。MFC给我们提供Document/View结构,将一个应用程序所需要的“数据处理与显示”的函数空壳都设计好了,这些函数都是虚函数,我们可以在派生类中重写这些函数。有关文件读写的操作在CDocument的Serialize函数原创 2013-03-25 00:21:29 · 1165 阅读 · 0 评论 -
winpcap环境部署问题
Winpcap是windows平台下的一个专业Winpcap是一个强大的网络开发库,可以实现许多功能:获取可用的网络适配器;获取指定适配器信息(比如名称和描述信息);捕获指定网卡的数据封包;发送数据封包;过滤捕获的包以获取特定包等。 1. 到官网www.winpcap.org下载安装winpcap,为应用程序的运行做准备,如wireshark就需要先安装此包;转载 2013-03-10 11:48:08 · 3017 阅读 · 1 评论 -
libpcap使用
libpcap使用libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下著名的tcpdump就是以它为基础的。今天我们利用它来完成一个我们自己的网络嗅探器(sniffer)首先先介绍一下本次实验的环境:Ubuntu 11.04,IP:192.168.1.1,广播地址:192.168.1.255,子网掩码:255.255.255.0可以使用下转载 2013-03-11 00:09:01 · 795 阅读 · 0 评论 -
第一个基于winpcap编程的程序
#includeint main(){ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; if(pcap_findalldevs(&alldevs,errbuf)==-1){ fprintf(stderr,"Error in pcap_findalldevs: %s",errb原创 2013-03-10 12:57:34 · 702 阅读 · 0 评论 -
几种常用数据包结构体
/*以太网帧头格式结构体 14个字节*/typedef struct ether_header{ unsigned char ether_dhost[6]; unsigned char ether_shost[6]; unsigned short ether_type;}ETHERHEADER,*PETHERHEADER;/*以ARP字段结构体 28个字节*/typedef str原创 2013-03-10 21:26:00 · 3116 阅读 · 2 评论 -
基于WINPCAP编写的第二程序
#include#ifndef WIN32 #include #include#else #include#endifvoid ifprint(pcap_if_t *d);int main(){ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE+1]; char sourc原创 2013-03-10 13:56:00 · 609 阅读 · 0 评论 -
基于winpcap编写的第三个程序
#include "pcap.h"void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);main(){ pcap_if_t *alldevs; pcap_if_t *d; int inum; int i=0; pcap_t *adhandle;原创 2013-03-10 15:11:06 · 876 阅读 · 0 评论 -
MFC 文件操作及C、C++、win32 API对文件操作的复习和CFileDialog的使用
C语言的文件系统是带缓冲的文件系统(fflush)。注意以二进制文件和文本文件在读取上的区别(记住:对文件的操作写入方式与读取方式要保持一致)。1、当按照文本方式向文件中写入数据时,一旦遇到“换行”字符(ASCII码为10),则会转换为“回车—换行”(ASCII码分别为13,10)。在读取文件时,一旦遇到回车—换行(ASCII码分别为13,10)的组合,则会转换为换行字符(ASCII码为1原创 2013-03-23 14:05:37 · 1368 阅读 · 0 评论 -
同步函数与异步函数
1. 同步函数与异步函数 什么是同步函数? 什么是异步函数? 它们在线程中执行时会对线程有何影响? 一个线程如何与一个异步执行的函数进行同步?依据微软的MSDN上的解说:(1) 同步函数:当一个函数是同步执行时,那么当该函数被调用时不会立即返回,直到该函数所要做的事情全都做完了才返回。转载 2013-06-19 22:50:00 · 516 阅读 · 0 评论 -
WideCharToMultiByte和MultiByteToWideChar函数的用法
为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和C转载 2013-04-05 15:49:34 · 455 阅读 · 0 评论 -
winpcap数据包分析
使用PCAP_OPENFLAG_PROMISCUOUS必须#define HAVE_REMOTE,否则编译报错。pcap_open(d->name,65535,PCAP_OPENFLAG_PROMISCUOUS,1000,NULL,errorBuf)#define HAVE_REMOTE#include #include "pcap.h"#include #include原创 2013-04-04 02:32:28 · 1107 阅读 · 1 评论 -
ARP协议详解及如何编程实现ARP攻击
一. 关于ARP协议的基础知识1.ARP的工作原理我们都知道以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Address Resolut转载 2013-03-10 19:07:30 · 1036 阅读 · 0 评论 -
MFC类的组织(类之间的关系)与WinMain函数、theAPP、构造函数、以及全局变量(对象)之间的关系
MFC中的类是怎么组织在一起的?一起来看一段代码:#include#includeusing namespace std;class C1{private: int b;public: C1() { cout<<"c1:"<<this<<endl; }};class C2:C1{private: int d;public: C2()原创 2013-03-12 01:08:35 · 790 阅读 · 0 评论 -
线程同步与临界区对象、互斥对象、事件对象
//临界区对象#include #include DWORD WINAPI myfun1(LPVOID lpParameter);DWORD WINAPI myfun2(LPVOID lpParameter);CRITICAL_SECTION m_Sec;int a = 0;int main(){ InitializeCriticalSection(&m_Sec);//初始原创 2013-03-13 15:15:48 · 730 阅读 · 0 评论 -
SDK对消息的处理过程和MFC消息映射及MFC中类产的对象与窗口
1. (SDK消息处理机制)当有产生消息——————>>”操作系统”——————>>”操作系统消息队列”——————>>”由应用程序调用getmessage函数从操作系统消息队列中取得消息”——————>>”应用程序由dispatchmessage路由到操作系统”————>>”操作系统调用窗口过程(窗口过程函数)处理”2. MFC是对消息进行处理的方式是消息映射机制消息映射的实现的原创 2013-03-09 12:39:23 · 789 阅读 · 0 评论 -
内核对象
术语:1、使用计数:记录内核对象被使用的次数,如果计数为0对象已被销毁,相当于CloseHandle()。2、内核对象的安全:内核对象可以用一个安全描述符(SD)保护。谁拥有、谁可以访问、谁可以使用、谁拒绝访问等。3、进程内核对象句柄表:当进程初始化时,系统为它分配一个句柄表。4、跨进程边界共享内核对象:不同进程中运行的线程需要共享内核对象。方法1、使用对象句柄继承-----创原创 2013-03-14 00:02:18 · 544 阅读 · 0 评论 -
DC、HDC和CDC的区别及MFC常见类的作用
DC:设备上下文(设备描述表),是WINDOWS的一种数据类型。HDC:设备上下文句柄(可以理解为指向DC结构的指针),它指向一块描述设备的相关的内容的内存块。CDC:是MFC里面的一个类,且这类封装了几乎所有关于HDC的操作,由于类的内部包含一个m_hWnd的句柄,所以,CDC封装的操作(函数)与SDK平台中与关于HDC的操作都缺少一个指向设备上网的句柄(不是没有,而是这个句柄在被封原创 2013-03-15 11:25:30 · 8086 阅读 · 1 评论 -
MFC使用CDC的文字处理练习代码
程序增加五个成员变量private: int m_width; CString m_strline; CPoint m_pPoint; CBitmap bitmap;//定义成类的成员变量的原因是:增加生命周期。 CString m_String;void CTEXTView::OnDraw(CDC* pDC){ CTEXTDoc* pDoc = GetDocumen原创 2013-03-16 12:54:01 · 1984 阅读 · 0 评论 -
进程间通信(剪切板、匿名管道、命名管道、邮槽)
四种常见通信方式:剪切板 (本地机器上的进程通信)匿名管道 (只有在父子进程之间,且父进程的安全标识必须是可以继承的)命名管道(没有要求,可本地间的、网络间的进程通信)邮槽 (没有要求,可本地间的、网络间的进程通信,不过客户端程序只能发送数据,服务器端只能接受数据)原创 2013-03-14 22:49:55 · 717 阅读 · 0 评论 -
MFC/WINDOW访问(设置)控件内容及句柄的常用的方法和自定义消息方法
一、内容1.GetDlgItem(编辑框ID)->GetWindowText 或直接用GetDlgItemText2.给编辑框关联字符串变量 假如叫m_sEdit 用的时候先UpdateData();m_sEdit的内容就是编辑框里的内容了3. 给编辑框关联控件变量 假如叫m_cEdit 用m_cEdit.GetWindowText 也可以4.SendMessage发WM_GET原创 2013-03-11 20:57:53 · 1854 阅读 · 0 评论 -
动态链接库、HOOK及windows API编程需要注意的地方
extern “C”的作用:C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。1、dll编写(使用默认的C调用约定,也没有用 extern “C”而是用了def文原创 2013-04-02 13:10:06 · 856 阅读 · 0 评论 -
MFC对话框操作及数据结构的巧妙运用
链表的巧妙用法:定义两个CButton类对象,类包含一个指向自己的指针,然后两个对象的指针分别指向对方,这样就行了一个CButton对象的链表。用心去观察你会发现MFC还多处用的数据结构的知识,你也会更加深入的了解它的工作机制。属性表单程序源码下载地址:http://download.youkuaiyun.com/detail/weiyong1999/5163600地址:MFC/WINDOW访问(原创 2013-03-19 20:10:33 · 859 阅读 · 0 评论 -
VC++ APC注入
#include #include #include #include "Winbase.h"typedef HANDLE (WINAPI *_OPENTHREAD)(DWORD,BOOL,DWORD);_OPENTHREAD OpenThread=(_OPENTHREAD)GetProcAddress(GetModuleHandle(("Kernel32.dll")),"OpenTh原创 2013-04-04 21:45:21 · 821 阅读 · 0 评论 -
SOCKET编程c/s模式(阻塞模式下的)
网络字节顺序不同的计算机存放多字节值的顺序不同,有的机器在起始地址存放低位字节(低位先存),有的机器在起始地址存放高位字节(高位先存)。基于Intel的CPU,即我们常用的PC机采用的是低位先存。为保证数据的正确性,在网络协议中需要指定网络字节顺序。TCP/IP协议使用16位整数和32位整数的高位先存格式。客户机/服务器模式在操作过程中采取的是主动请求的方式。 首先服务原创 2013-03-08 23:45:08 · 3101 阅读 · 0 评论