资 源 简 介
翻译:maninwest@Codeforge 作者:Member 10018957 @CodeProject如何在 Windows 中创建看空的备用列表。进程黑_客的制造者了解 Windows 内核的里里外外,他们也幸运地熟练掌握 Windows 内核的设计语言C++。而其他的人则努力通过 C# 执行相似的功能。其中一个功能就是释放来自 windows 备用内存的内存。这就是我们在此要做的。最难的部分是获取内核的优先权限。感谢Nick Lowe:http://processprivileges.codeplex.com/步骤1:设置内核优先权限Microsoft 设计了可以获取包含结构数组的结构的 API。没有适用于此的编组过程的捷径。要么假设数组是 length=1 要么要求数组大小在编译时预先确定。为此,我设计了一个类,它通过 System.IntPtr拥有微软在未管理的内存中需要的确切结构。当前,我不得不采用不安全的步骤,但是我确定,将来会有办法绕过。[return: MarshalAs(UnmanagedType.Bool)]
[SuppressUnmanagedCodeSecurity, DllImport("advapi32.dll", SetLastError = true)] internal static extern bool AdjustTokenPrivileges(AccessTokenHandle accessTokenHandle,
[MarshalAs(UnmanagedType.Bool)] bool disableAllPrivileges, IntPtr NewPriviledges, Int32 bufferLength, ref IntPtr PriorPriviledges, out Int32 returnLength); 将我的类和 Nick Lowe 的优先代码相结合,我们可以设置内核优先权限: