win32非界面开发
lyclowlevel
这个作者很懒,什么都没留下…
展开
-
DllMain相关注意事项
1、在DllMain的DLL_PROCESS_ATTACH分支中,尽量只调用kernel32.dll中的函数。因为其他系统api可能依赖于其他dll,而那些dll有可能还没有被加载到进程空间中且依赖于当前DllMain所在的dll,这样会导致循环依赖; 其实,在用户进程原创 2011-09-06 22:49:31 · 956 阅读 · 0 评论 -
A Crash Course on the Depths of Win32™ Structured Exception Handling
Of all the facilities provided by Win32®operating systems, perhaps the most widely used but underdocumented is structured exception handli转载 2010-09-25 21:06:00 · 1029 阅读 · 0 评论 -
RFC3629
Network Working Group F. YergeauRequest for Comments: 3629 Alis Technol转载 2010-09-02 20:44:00 · 2375 阅读 · 0 评论 -
反击网络执法官[转]
网络执法官简介我们可以在局域网中任意一台机器上运行网络执法官的主程序NetRobocop.exe,它可以穿透防火墙、实时监控、记录整个局域网用户上线情况,可限制各用户上线时所用的IP、时段,并可将非法用户踢下局域网。该软件适用范围为局域网内部,不能对网关或路由器外的机器进行监视或管理,适合局域网管理员使用在代理服务器端 捆绑IP和MAC地址,解决局域网内盗用IP:转载 2007-08-01 20:31:00 · 2109 阅读 · 0 评论 -
My First DirectShow Application
实际上,所有的code都是来源于.我现在真的是如此高兴,于是我就想到写BLOG了.你想,经过1天的郁闷,最后程序竟然可以运行了,此时的心情可想而知.现在,我来把这获得快乐与成功过程描述出来吧.于几天前,我到www.itepub.net上找到了上面提到的书.可能大家会想,学DirectShow为何不用陆老师的书呢?原因是如此的简单,陆老师的书很喜欢讲每个函数的源代码,但是对于一个象我这样初次原创 2007-03-29 22:18:00 · 754 阅读 · 0 评论 -
什么是UDP连接数?这是一个错误的概念
做了一些实验,UDP连接数的概念终于搞清了,原来是大家乱取名称。360获取的UDP连接数,无非就是通过调用GetExtendedUdpTable获取,而MSDN对这个API的解释根本没有出现连接数字眼。MSDN只是说这个API会获取所有已绑定地址的UDP套接字。还有360忽略对s原创 2010-09-11 16:17:00 · 7750 阅读 · 0 评论 -
你的“重叠IO”是真正异步的吗?
什么是同步IO?什么是异步IO?在windows下,一个IO读操作可以分为两大步:1、从IO设备读取数据,保存在系统的缓冲区;2、从系统缓冲区拷贝到用户的缓冲区。如果一个读操作的两个步骤都不在用户线程中执行,那么这个读操作就是异步的;只要有一个步骤在用户线程中原创 2011-09-21 21:09:07 · 3436 阅读 · 2 评论 -
套接字的属性
以前我总是将是否处于阻塞模式和是否可以进行异步IO操作混淆起来。以前,我认为可以进行异步IO操作的套接字必然不是处于阻塞模式;处于阻塞模式的套接字无法进行异步IO操作。最新比较正规地学习win socket开发,终于分清这两个概念。 其实,是否处于阻塞模式、是否可以进行原创 2011-09-21 22:38:37 · 2975 阅读 · 0 评论 -
套接字的关闭过程
通常我们调用closesocket关闭套接字,套接字的关闭过程,有以下三种情况: 1、取消没有进行的发送操作,系统在后台发起一个关闭过程,向对等方发送FIN报文,并等待对等方的FIN报文。整个关闭过程不会产生任何的事件(WSAEventSelect)和消息(WSAAsy原创 2011-09-23 23:30:39 · 4883 阅读 · 0 评论 -
WSADuplicateSocket、WSASocket失败,错误码为WSAEINVAL(10022)
PS:最近又发现一种无法复用套接字的情况,修改一下。2011/10/11 16:24一、失败的原因:1、MS的解释 http://support.microsoft.com/kb/216603/en-us 2、目标进程和当前进程不在同一个se原创 2011-03-11 18:08:00 · 5347 阅读 · 0 评论 -
转自“看雪论坛”--NtQuerySystemInformation
ProcessExplorer原理分析之句柄处理 by sucsor/RCT1,如何获得各进程的句柄 使用NtQuerySystemInformation函数的SystemHandleInformation=16号功能. 其相关结构定义如下: typedef转载 2010-09-27 20:10:00 · 2561 阅读 · 2 评论 -
WINDOWS系统DLL专业网站
如果您想获取有关系统DLL的详尽信息,可以访问:http://dll.paretologic.com/index.php 该网站是微软合作伙伴,其对每个DLL的描述值得信赖。原创 2010-10-09 14:08:00 · 1265 阅读 · 0 评论 -
在用户态防止全局钩子注入
项目需要,研究了一个礼拜,防止全局钩子注入的功能基本实现。今天偶然在网路上搜索相关主题,发现“看雪论坛”有前辈早就讨论过这个问题,且提出了解决方案,思路与在下不谋而合。不过据我的分析,该前辈的解决方案还有些缺陷。至少应该从以下角度改进:1、当全局钩子的LoadLibraryE原创 2010-10-09 14:23:00 · 2211 阅读 · 0 评论 -
关于复用套接字
可以通过WSADuplicateSocket在进程内共享套接字,但是在什么时候调用closesocket关闭套接字,却没有明确的做法。 之前,我是在进程退出时统一关闭这些套接字。但是,这种做法会在极少数的XP+IE6环境下崩溃(必崩)。至今,原因未明。 由于套接字原创 2011-02-16 01:22:00 · 904 阅读 · 0 评论 -
IE下载流程之臆测篇
1、如何让IE关闭套接字? 返回0,或者返回SOCKET_ERROR并设置合适的错误码。 2、IE如何处理已访问过的URL? 如果当前访问的URL在很短的时间前也被访问过,那么IE会尝试从缓存获取结果。 如果通过返回0让IE关闭套接字的话,IE会认原创 2011-02-15 10:43:00 · 567 阅读 · 0 评论 -
InternetGetCookieEx
AYU说在IE6.0下,这个API会将ucs-2的字符串当成UTF-8处理,从而返回错误的长度。原创 2011-02-11 19:05:00 · 1800 阅读 · 0 评论 -
单一内核、微内核
内核:操作系统的核心代码,且运行于内核模式下。 如果内核的所有模块都在同一进程中,就称为单一内核;如果内核的模块在不同进程中,就称为微内核。 WINDOWS NT系列的OS将一些非传统意义上的内核模块(如GDI)放在内核中,因此WINDOWS不是纯粹意义上的微原创 2011-01-06 14:07:00 · 1443 阅读 · 0 评论 -
WinInet API的一些陷阱
1、虽然MSDN说InternetQueryDataAvailable、InternetReadFile这两个API是同步的,但实际上这两个API也可以异步调用。当调用这两函数时,如果返回FALSE,且GetLastError返回ERROR_IO_PENDING,那么表示这是一个原创 2010-11-30 21:17:00 · 798 阅读 · 0 评论 -
BHO开发中的IE事件响应原理
PS:本文适合于对虚表、模板等语法特性熟悉的朋友。ATL的IDispEventImpl简化了事件响应的编码流程。一般需要3个步骤:1、 继承IDispEventImpl:public IDispEventImplCSayHello, &DIID_DWebBrow原创 2010-10-20 20:45:00 · 4919 阅读 · 0 评论 -
存在真正的“提升进程(线程)权限”程序吗?
据我所知,从用户态角度来说,是不可能的。 网上流传的两个提升权限API :公开的AdjustTokenPrivileges or 未公开的RtlAdjustPrivliege其实只是将进程(线程)Access Token中已经拥有的特权(Previlege)从Disa原创 2010-10-12 17:37:00 · 1876 阅读 · 1 评论 -
[转自“看雪论坛”]RtlAdjustPrivliege (http://bbs.pediy.com/showthread.php?t=76552)
前言:今天逆向一个非常实用的函数RtlAdjustPrivliege这个函数封装在NtDll.dll中(在所有DLL加载之前加载),被微软严格保密,就是说你在MSDN上查不到关于他的任何信息。先来看看这个函数的定义(Winehq给出):引用:转载 2010-10-12 17:26:00 · 8963 阅读 · 0 评论 -
访问权限
在MSDN中搜索ACCESS_MASK可以了解标准权限,对于对象相关的权限说明,可以搜索那些需要权限参数且与对象相关的API,比如OpenProcess,里面就有介绍进程对象相关的权限。原创 2010-10-09 17:00:00 · 486 阅读 · 0 评论 -
单精度浮点数(IEEE754)
单精度浮点数占据4个字节,4个字节的分配如下:(a)第一位为符号位,0表示正,1表示负;(b)第2~9位为阶码,采用移码表示;(c)第10~32位为尾数,采用原码表示。 (1)给定32位串,如何转换成十进制数假设内存中存在32位串:CD CC 08 41。因为INTEL CPU采用little endian存储方式,所以其真实的值为:41 08 CC CD。将其写成二进制形原创 2010-05-22 12:11:00 · 19245 阅读 · 2 评论