C++
大雄_RE
一个热爱逆向,喜爱学习、分享的猿。
展开
-
winpcap分段的多个TCP包组装HTTP数据
两个要点:同组包识别每组最后一个包识别同组包识别使用ACK实现。数据包之所以被拆分是由于链路层以太网限制,并非传输层或网络层限制。数据到达传输层时还是完整的,被拆分后一并发出,此时使用ACK确认的前一收到包是同一个。第二个问题的解决是抓包发现的,每组内的包TCP标志设置了ACK,每组最后一个包同时设置ACK和PSH。可以以该标志作为一个组包接受结束的标志。不贴代码了,上传了一个工程,VS2015编...原创 2018-02-08 11:45:35 · 1135 阅读 · 0 评论 -
HP-Socket通信框架使用入门
官方下载地址:https://github.com/ldcsaa/HP-Socket简单介绍下官方提供的内容:----DOC:目录下是官方提供的文档,包括Development Guide----Linux:Linux的工程----Windows:Windows的工程,我在Windows开发的详细介绍这个。 ----Bin:编译好的dll和lib ----Demo:官方提供的使...原创 2018-03-27 13:34:20 · 20052 阅读 · 4 评论 -
Socket编程函数
使用前都需加载SOCKET动态库int WSAStartup(WORD wVersionRequested,LPWSADATA lpwsadata)wVersionRequested:版本,MAKEWORD(2.2)创建socketSOCKET socket(int af,int type,int protocol)af:AF_INETtype:原创 2017-03-30 19:14:08 · 303 阅读 · 0 评论 -
C++字符类型
只有两种char和wchar_tWCHAR=wchar_t,CHAR=charTCHAR根据是否定义UNICODE为两种之一char为ANSI字符集(非ascii字符集),英文单字节,中文等两字节wchar_t为unicode字符集,全两字节_L("")转为unicode_T("")根据是否#define UNICODE转为ANSI或unicod原创 2017-03-30 15:24:43 · 1478 阅读 · 0 评论 -
VS下执行命令或程序的方法
systemonly一个参数,弹框,作为DOS命令执行收录进C标准库中,无需专门头文件ShellExecute最后一个参数设SW_HIDE可隐藏窗口非可执行文件自动通过关联程序打开可指定运行时工作路径WinExec只可运行可执行文件最后一个参数SW_HIDE可隐藏主窗口CreateProcess最多可控,StartUpInfo原创 2017-03-29 10:53:24 · 2299 阅读 · 0 评论 -
线程同步方法
事件对象CreateEvent:创建事件对象SetEvent:设置为通知状态ResetEvent:设置为未通知状态WaitForSingleObject:等待事件信号量使用计数可表示可用资源数量,等待线程数量CreateSemaphore:创建一个信号量对象ReleaseSemaphore:用于递增信号量使用计数WaitForSingleObject:等待信号量有信号临界区InitializeCr...原创 2017-03-29 10:47:59 · 281 阅读 · 0 评论 -
win32 磁盘文件的正常读写与异步读写
在Win32系统下文件可以支持平常的同步读写和异步读写(但在Win9X下,Win32系统不支持磁盘文件的异步读写)。本节在后面部分将会介绍文件的异步读写,最后一段内容将向大家讲解一下文件的区域加锁。在Win32系统中支持64位长度的文件,所以在很多文件操作函数中需要两个DWORD参数来表示文件长度,一个DWORD用来表示低32位,另一个用来表示高32位。文件的读写进行在文件被正确打转载 2017-02-20 14:58:31 · 545 阅读 · 0 评论 -
C/C++中产生随机数(rand,srand用法)
我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(种子)为基准以小m多项式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统。1.rand()功能:随机数发生器用法:int rand(void)所在头文件: std转载 2017-02-11 09:29:12 · 426 阅读 · 0 评论 -
string 与char* char[]之间的转换
1、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。注意,与char*不同的是,string不一定以NULL('\0')结束。string长度可以根据length()得到,string可以根据下标访问。所以,转载 2017-02-11 09:17:44 · 212 阅读 · 0 评论 -
VC6自定义资源的添加和使用
添加:1)在工作区窗口的ResourceView选项卡中,用鼠标右键单击任意节点,在弹出的快捷菜单中选择Import命令。(如果没有对应的节点,点击插入->资源,新建一个.rc文件)2)在弹出的Import Resource对话框中选择要添加的资源文件3)单击Import按钮,添加资源,这时会弹出Custom Resource Type对话框,用户需要在该对话框中设置资源类型4原创 2017-02-09 19:38:21 · 2003 阅读 · 0 评论 -
CString与int,char *互转总结
转自:http://blog.csdn.net/flydream0/article/details/85435251 前言今天在网上看论坛,发现大家对CString与Char *互转各说一词,其实我发现提问者所说的情况与回答问题的人完全不是同一情况,这里做一总结.首先大家得清楚一件事,一般在网上提出问题的人大部分使用的都是VC,那么你就应该知道,在VC下编程,工程属性中转载 2017-02-06 08:55:52 · 406 阅读 · 0 评论 -
CString类的完美总结
转自:http://www.2cto.com/kf/201205/130195.htmlCString 类对象的初始化:CString str;CString str1(_T("abc"));CString str2 = _T("defg"); TCHAR szBuf[] = _T("kkk");CString str3(szBuf);CString str转载 2017-02-06 08:43:57 · 243 阅读 · 0 评论 -
VC 中char 与 wchar_t的转换
转自:http://blog.csdn.net/rocklee/article/details/47107735char 转wchar_twchar_t* CharToWchar(char* c){ int len = MultiByteToWideChar(CP_ACP, 0, c, strlen(c), NULL, 0); wchar_t*原创 2017-02-04 20:39:12 · 777 阅读 · 0 评论 -
.h文件与C文件的配合
C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能,C语言模块化程序设计需理解如下概念: (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明; (2) 某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明; (3) 模块内的函数和全局变量需在.c文件开头冠以static关键原创 2017-02-04 20:14:31 · 938 阅读 · 0 评论