SetHandleCount的妙用

  • A+
所属分类:安全博客
摘要

官方说明:看起来没有什么卵用是不是?实际上,我们可以利用sethandlecount来取对象指针,然后复制内存指针,弥补了一些对指针不友好的语言的缺陷。


这篇文章上次修改于 248 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

官方说明:

SetHandleCount函数设置可用于进程的文件句柄数。此函数在Windows NT和Windows 95下无效,因为这些平台上的应用程序没有明确的文件句柄限制。在Win32s下,默认情况下只有20个文件句柄可用于进程;但是您可以使用SetHandleCount来允许进程最多使用255个文件句柄。  UINT Setndlekunt(  UINT 【UNumber当前】    //所需的文件句柄数 );       参数  【UNumber当前】  指定应用程序所需的文件句柄数。  返回值  在Windows NT和Windows 95下,此函数只返回【UNumber当前】参数中指定的值。  在Win32s下,返回值指定实际可用于应用程序的文件句柄数。它可能少于【UNumber当前】参数指定的数字。  备注  在Windows NT和Windows 95下,应用程序可以打开的最大文件数由可用的非分页内存池的大小决定,因为每个打开的文件句柄都需要非分页内存。

看起来没有什么卵用是不是?

实际上,我们可以利用sethandlecount来取对象指针,然后复制内存指针,弥补了一些对指针不友好的语言的缺陷。

eg : IntPtr ptr = SetHandleCount(object);  usage :   RtlMoveMemory(object2,sethandlecount(object1),4) RtlZeroMemory(object2,4) 

来源:明天 จุ๊บ https://ruo.me/

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: