对SOCKET句柄做的一些实验
2009-3-24 Nie.Meining Debug
我一直怀疑Socket和其它类别的HANDLE不一样。(或者说究竟是不是一个句柄?)
WinSock.h中对SOCKET的定义是: typedef UINT_PTR SOCKET;
而WinNT.h中对HANDLE的定义是: typedef void *HANDLE;
SOCKET不仅定义上同HANDLE不一样,而且打开方式也不一样。Windows的内核对象的句柄在打开时,一般都会要求一个安全描述符参数LPSECURITY_ATTRIBUTES lpEventAttributes,但是Socket不需要。
SOCKET到底是不是句柄,有没有一个对应的内核对象?各种资料上的说法都不一样。我写了个用SOCKET监听端口的程序,在虚拟机里运行,然后用Windbg调试了一下,发现Socket的句柄值对应的是一个File类型的可继承的内核对象:
005c: Object: 86251778 GrantedAccess: 001f01ff (Inherit) Entry: e10950b8
探究为何vbs脚本无法模拟PrintScreen按键
2009-3-7 Nie.Meining Debug
今天群里有个人问为什么vbs脚本无法模拟截取屏幕的按键,我试了一下,果然不行,而模拟其它常规按键(如abcdefg)都是没有问题的。但是微软官方的帮助文档上明确说明了PRINT SCREEN这个键可以用{PRTSC}参数模拟……
我又用C++写了一个模拟PRINT SCREEN键的程序做实验,代码很简单:
#define UNICODE
#define _UNICODE
#include <windows.h>
#include <tchar.h>
int WINAPI _tWinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine, int) {
【转帖】谈对APC的一点理解
2009-3-6 Nie.Meining Coding
最近想做Ring0下执行Ring3代码的东西。查资料找到种通过APC实现的方法,其思想是将要执行的代码注入Ring3下的进程,然后用APC排队。我实现了一下,感觉不太稳定,稍不注意被注入的进程就挂掉了(比蓝屏好多了,呵呵)。我怀疑是KeStackAttachProcess的问题。要注入进程的用户态空间就必然要Attach,但是只要Attach了成功率就很容易变成人品问题……
这里有一篇比较好的讲APC的文章,combojiang大牛那看到的,转过来大家分享:
【转帖】谈对APC的一点理解
异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助。
链接
分类
最新日志
最新评论
- Crytonibnib
找到让钱包变厚的最快方法。 https:... - rtolikolw
<a href=https://hydr... - Crytonibnib
现在,世界各地的任何人都可以获得额外的收... - rtolikolw
<a href=https://hydr... - rtolikolw
<a href=https://hydr... - vehutraopl
<a href=https://godn... - Crytonibnib
财务独立是这个机器人的保证。 https... - butroklij
<a href=https://godn... - spokjotoh
<a href=https://godn... - retujikpo
<a href=https://godn...
存档
- 2017年5月(1)
- 2017年4月(1)
- 2017年3月(1)
- 2015年3月(1)
- 2014年11月(2)
- 2014年10月(2)
- 2014年8月(1)
- 2014年2月(2)
- 2014年1月(6)
- 2013年12月(15)
- 2012年11月(2)
- 2012年6月(1)
- 2012年3月(1)
- 2012年2月(3)
- 2011年12月(1)
- 2011年11月(1)
- 2011年5月(5)
- 2010年12月(1)
- 2010年11月(3)
- 2010年9月(3)
- 2010年8月(2)
- 2010年4月(1)
- 2010年3月(2)
- 2010年1月(1)
- 2009年12月(8)
- 2009年11月(2)
- 2009年10月(1)
- 2009年9月(1)
- 2009年8月(9)
- 2009年3月(3)
- 2008年7月(2)
- 2008年6月(1)
- 2008年5月(1)
- 2008年4月(5)
- 2008年2月(1)
- 2007年12月(2)
- 2007年11月(1)
- 2007年8月(1)
- 2007年7月(1)