- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 管道piep使用ReadFile读取阻塞问题解决
0x01.CreatePipe管 道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另 一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。BOOL WINAPI CreatePi
2017-04-11 14:50:41
14598
原创 C++ 宽字符和短字符转换
0x01.宽窄字符所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较详细的解说.这个是我们需要转化的多字节字符串: char sText
2017-04-06 20:32:03
2006
原创 CreatePipe、CreateProcess函数
0x01.CreatePipe函数管 道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另 一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。先详细介绍一下管道,这里以匿名管道为
2017-04-06 10:12:22
8060
1
原创 atoi, _atoi_l, _wtoi, _wtoi_l
atoi, _atoi_l, _wtoi, _wtoi_l0x01.原型int atoi( const char *str ); int _wtoi( const wchar_t *str ); int _atoi_l( const char *str, _locale_t locale ); int _wtoi_l( c
2017-03-17 11:10:21
11066
原创 WinHTTP中的SSL
WinHTTP中的SSLMicrosoft Windows HTTP服务(WinHTTP)支持安全套接字层(SSL)事务,包括客户端证书。 本主题说明SSL事务中涉及的概念以及如何使用WinHTTP处理它们。0x01.安全链路层SSL是确保安全HTTP事务的成熟标准。 SSL提供了一种机制,可对客户端和服务器之间的所有事务执行高达128位的加密。它使客户端能够通过使用服务器证书来验证服务器是否属于可
2017-03-06 09:25:48
3744
原创 WinHTTP会话概述
WinHTTP会话概述Microsoft Windows HTTP服务(WinHTTP)公开了一组C / C ++函数,使您的应用程序能够访问Web上的HTTP资源。 本主题概述了如何使用这些函数与HTTP服务器交互。0x01.使用WinHTTP API访问Web下图显示了与HTTP服务器交互时通常调用WinHTTP函数的顺序。 阴影框表示生成HINTERNET句柄的函数,而平面框表示使用这些句柄的
2017-03-03 10:49:36
1432
原创 GetLastInputInfo函数
GetLastInputInfo函数检索上次输入事件的时间。原型BOOL WINAPI GetLastInputInfo( _Out_ PLASTINPUTINFO plii);参数plii [out]类型:PLASTINPUTINFO 指向LASTINPUTINFO结构的指针,用于接收最后一个输入事件的时间。返回值类型:BOOL 如果函数成功,返回值为非零。 如果函数失败,返回值为
2017-03-02 08:35:14
3806
原创 GetTempPath和GetTempFileName函数
0x01.GetTempPath函数GetTempPath是程序代码,用于获取为临时文件指定的路径。DWORD WINAPI GetTempPath( _In_ DWORD nBufferLength, //字符串缓冲区的大小由lpBuffer标识,在TCHARs中。 _Out_ LPTSTR lpBuffer //指向字符串缓冲区的指针,它接收指定临时文件路径的以空字符
2017-03-01 10:34:40
16703
原创 CreateFile函数
CreateFile函数说明:创建或打开文件或I / O设备。 最常用的I / O设备如下: 文件,文件流,目录,物理磁盘,卷,控制台缓冲区,磁带驱动器,通信资源,邮槽和管道。 该函数返回一个句柄,该句柄可用于访问各种类型I / O的文件或设备,具体取决于文件或设备以及指定的标志和属性。 要将此操作作为事务操作执行,从而产生可用于事务I / O的句柄,请使用CreateFileTransacte
2017-02-28 16:14:00
1146
原创 CreateToolhelp32Snapshot函数
CreateToolhelp32SnapshotCreateToolhelp32Snapshot可以通过获取进程信息为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程建立一个快照。说到底,可以获取系统中正在运行的进程信息,线程信息,等。原型:HANDLE WINAPI CreateToolhelp32Snapshot( _In_ DWORD dwFlags, //
2017-02-28 15:54:10
15831
1
原创 RegQueryValueEx函数
RegQueryValueEx函数0x01.功能介绍:检索与打开的注册表项相关联的指定值名称的类型和数据。要确保返回的任何字符串值(REG_SZ,REG_MULTI_SZ和REG_EXPAND_SZ)为空终止,请使用RegGetValue函数。原型LONG WINAPI RegQueryValueEx( _In_ HKEY hKey, _In_opt_ LPCT
2017-02-24 10:40:23
4966
原创 RegOpenKeyEx和RegCreateKeyEx函数
0x01.RegOpenKeyEx函数LONG WINAPI RegOpenKeyEx( _In_ HKEY hKey, // 需要打开的主键的名称 _In_opt_ LPCTSTR lpSubKey, //需要打开的子键的名称 _In_ DWORD ulOptions, // 保留,设为0 _In_ REGSAM sa
2017-02-23 21:36:21
4087
原创 _snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l
_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l四个函数功能:将格式化数据存放到字符串中。0x01._snprintf_sint _snprintf_s( char *buffer, //存储的字符串 size_t sizeOfBuffer, //字符串长度 size_t count,
2017-02-23 14:50:22
1765
原创 GetLongPathName和GetShortPathName
引言上一篇文章介绍了 SHGetSpecialFolderPath该api用来获取指定的系统路径。而 GetLongPathName和GetShortPathName函数分别用来将文件全路径字符串转换为不缩写的全路径和缩写的全路径字符串。这两个函数极其重要!!!很多人写程序时不注意这一点——包括我,比如,使用GetModuleFileName获取文件路径,我们一般都将获取到的路径直接拿来用。在99.
2017-02-23 11:06:48
5654
原创 SHGetSpecialFolderPath函数
SHGetSpecialFolderPath 函数0x01.原型和参数BOOL SHGetSpecialFolderPath( HWND hwndOwner, _Out_ LPTSTR lpszPath, _In_ int csidl, _In_ BOOL fCreate);功能:用来获取指定的系统路径Parameters HWND hwndOwne
2017-02-22 17:00:47
1163
原创 GetVersionEx函数
0x01.GetVersionEx函数0x01.原型BOOL WINAPI GetVersionEx( _Inout_ LPOSVERSIONINFO lpVersionInfo);0x02.参数lpVersionInfo [in, out] An `OSVERSIONINFO` or `OSVERSIONINFOEX` structure that receives the oper
2017-02-22 16:01:27
2801
原创 内存清理常用函数
内存清理常用函数0x01.RtlSecureZeroMemoryPVOID RtlSecureZeroMemory( _Out_ PVOID ptr, _In_ SIZE_T cnt);The RtlSecureZeroMemory routine fills a block of memory with zeros in a way that is guaranteed t
2017-02-22 15:29:09
834
原创 FileMapping漫谈
内存映射问题0x01、内存映射:• 在32位的Windows系统中,每一个进程都有权访问他自己的4GB(232=4294967296)平面地址空间,没有段,没有选择符,没有near和far指针,没有near和far函数调用,也没有内存模式。• 每个进程都有独立的4GB逻辑地址空间,32位的Windows系统允许每一个进程独立访问自己的内存,即独立于其它进程,也即它自己的32位逻辑地址空间。操作系统
2017-02-22 11:17:01
1071
原创 StrStrI函数
StrStrI functionFinds the first occurrence of a substring within a string. The comparison is not case-sensitive.查找子字符串的第一个出现在字符串。比较时可以忽略大小写。// Syntax C++PTSTR StrStrI( _In_ PTSTR pszFirst, _In_
2017-02-21 10:38:02
1577
原创 ntohs, ntohl, htons,htonl的比较和详解
ntohs, ntohl, htons,htonl的比较和详解* ntohs = net to host short int 16位* htons = host to net short int 16位* ntohl = net to host long int 32位* htonl = host to net long int 32位0x01、网络字节顺序NBO(Network Byte O
2017-02-21 10:02:15
6936
转载 iOS9使用提示框的正确实现方式(UIAlertView is deprecated)
iOS9使用提示框的正确实现方式(UIAlertView is deprecated)前言在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7 ,iOS9.0的SDK中,已经明确提示不再推荐使用UIAlertView,而只能使用UIAlertController,我们通过代码来演示一下。我通过点击一个按钮,然后弹出提示框,代码示例如下:#i
2016-12-05 15:05:43
6090
原创 ruby语言
Ruby语言学习几个难点学习理解ruby语言是比较简单的一门语言,因为它的一切设计原则是面向对象的,所以,使用起来特别方便。当然,主要是由于它具有与Python、swift等等相似的语法特点,使得他使用起来十分方便。下面归纳几个常遇到的问题。1.关于变量的可读可写。 attr_reader : name 表示name只读 attr_write : name 表示name只写
2016-11-16 08:53:17
729
原创 ruby语言学习
RUBY语言学习几个难点学习理解ruby语言是比较简单的一门语言,因为它的一切设计原则是面向对象的,所以,使用起来特别方便。当然,主要是由于它具有与Python、swift等等相似的语法特点,使得他使用起来十分方便。下面归纳几个本人日常遇到的问题。1.关于变量的可读可写。attr_reader : name表示name只读attr_wri
2016-11-14 16:04:04
366
转载 加速iOS开发的28个第三方库
加速iOS开发的28个第三方库 浏览: 1发布日期: 2016-10-13 分类: ios1: AFNetworking - 网络请求AFNetworking is a delightful networking library for iOS and Mac OS X类似库有 Alamofire2: AsyncDisplayKit - 异
2016-10-16 20:19:21
497
转载 IOS开发 手机联系人获取与使用ABAddressBookRef
IOS提供了直接获取手机联系人信息的API,我们需要导入该包addressbook.framework;此包并没有包含在corefoundation.framework里;而我们通常使用的是Foundation库,这辆个库的区别就是CoreFoundation库是一个C框架,但是这两个库里的内容是可以简单的进行转换的,比如:CFString cstr = (CFString)@"N
2016-08-10 11:47:05
338
原创 IOS开发 手机联系人获取与使用ABAddressBookRef
IOS提供了直接获取手机联系人信息的API,我们需要导入该包addressbook.framework;此包并没有包含在corefoundation.framework里;而我们通常使用的是Foundation库,这辆个库的区别就是CoreFoundation库是一个C框架,但是这两个库里的内容是可以简单的进行转换的,比如:CFString cstr = (CFString)@"N
2016-08-10 11:43:51
980
转载 crc-8校验C程序
CRC Series, Part 3: CRC Implementation Code in C/C++Wed, 2016-05-04 13:05 - Michael Barrby Michael BarrCRCs are among the best checksums available to detect and/or correct er
2016-05-10 11:40:00
3209
linux下yum安装程序
2017-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人