<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[trents的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/trents</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; trents]]></copyright><item><title><![CDATA[windows x64驱动测试]]></title><link>https://blog.csdn.net/trents/article/details/40350271</link><guid>https://blog.csdn.net/trents/article/details/40350271</guid><author>trents</author><pubDate>Tue, 21 Oct 2014 20:11:19 +0800</pubDate><description><![CDATA[两种方法：
1、在启动时选择不强制驱动签名。]]></description><category></category></item><item><title><![CDATA[Win2008 R2 EPROCESS结构]]></title><link>https://blog.csdn.net/trents/article/details/40299269</link><guid>https://blog.csdn.net/trents/article/details/40299269</guid><author>trents</author><pubDate>Mon, 20 Oct 2014 13:11:44 +0800</pubDate><description><![CDATA[lkd> dt _eprocess
nt!_EPROCESS
   +0x000 Pcb              : _KPROCESS
   +0x160 ProcessLock      : _EX_PUSH_LOCK
   +0x168 CreateTime       : _LARGE_INTEGER
   +0x170 ExitTime         : _LARGE_IN]]></description><category></category></item><item><title><![CDATA[Win7下运行VC程序UAC权限问题]]></title><link>https://blog.csdn.net/trents/article/details/17713005</link><guid>https://blog.csdn.net/trents/article/details/17713005</guid><author>trents</author><pubDate>Tue, 31 Dec 2013 13:12:10 +0800</pubDate><description><![CDATA[转自：http://hi.baidu.com/empwwb/item/202d8c26bd4fbb889c63d1c4

Win7下运行VC程序UAC权限问题
在Win7运行VC程序往往受到UAC权限不够的问题，以下有几个方法获得管理员权限
1、通过代码提升用户权限，代码如下：
BOOL UpgradeProcessPrivilege(HANDLE hProcess, LPCTSTR l]]></description><category></category></item><item><title><![CDATA[读取系统日志安全日志审核配置]]></title><link>https://blog.csdn.net/trents/article/details/17279197</link><guid>https://blog.csdn.net/trents/article/details/17279197</guid><author>trents</author><pubDate>Thu, 12 Dec 2013 11:01:49 +0800</pubDate><description><![CDATA[1、使用API  LsaQueryInformationPolicy，测试Win2003,2008,Win7都可以，应该和Windows版本无关。

上代码：
LSA_HANDLE CDlgSysInfo::GetPolicyHandle()
{
  LSA_OBJECT_ATTRIBUTES ObjectAttributes;
 // WCHAR SystemName[] = TAR]]></description><category></category></item><item><title><![CDATA[tdifw tdi_event_receive_datagram 问题]]></title><link>https://blog.csdn.net/trents/article/details/16116611</link><guid>https://blog.csdn.net/trents/article/details/16116611</guid><author>trents</author><pubDate>Thu, 14 Nov 2013 14:51:51 +0800</pubDate><description><![CDATA[tdi过滤在tdifw基础上改的，发现在Windows2008上 tdi_event_receive_datagram函数老是蓝屏，用windbg查看dmp信息，定位到：


done:
    // cleanup
    if (ote_addr != NULL)
        KeReleaseSpinLock(&g_ot_hash_guard, irql);
//    i]]></description><category></category></item><item><title><![CDATA[CreateProcessWithLogonW问题]]></title><link>https://blog.csdn.net/trents/article/details/15338243</link><guid>https://blog.csdn.net/trents/article/details/15338243</guid><author>trents</author><pubDate>Mon, 11 Nov 2013 14:46:50 +0800</pubDate><description><![CDATA[在WIndows2003上使用CreateProcessWithLogonW创建进程总是得到错误码5，拒绝访问。查了n多资料都不行。
最后发现原因是App路径携带中文名，改路径就ok了。坑爹的中文路径！]]></description><category></category></item><item><title><![CDATA[TDI Filter 过滤驱动]]></title><link>https://blog.csdn.net/trents/article/details/9222173</link><guid>https://blog.csdn.net/trents/article/details/9222173</guid><author>trents</author><pubDate>Tue, 02 Jul 2013 09:58:29 +0800</pubDate><description><![CDATA[By Fanxiushu  2013, 引用和转载请注明原作者
为了让大家有兴趣阅读下去，
举个正在使用的可能大家都比较熟悉的例子： 360 的安全卫士里，有个流量防火墙的功能，
它可以监视每个进程的流量情况，可以限制上传下载速度，等等。
他的驱动部分的就是一个 TDI Filter 驱动。

TDI Filter ，这是个快被微软淘汰的驱动模式，但是为了兼容，又不得不使用的驱动。]]></description><category></category></item><item><title><![CDATA[如何控制驱动加载顺序]]></title><link>https://blog.csdn.net/trents/article/details/8983258</link><guid>https://blog.csdn.net/trents/article/details/8983258</guid><author>trents</author><pubDate>Tue, 28 May 2013 10:07:48 +0800</pubDate><description><![CDATA[转自：http://support.microsoft.com/kb/115486/zh-cn


有两种方法可以用于控制设备驱动程序的加载顺序。这两种方法都利用了位于 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control 的注册表项。第一种方法是修改 ServiceGroupOrder。第二种方法是根据 GroupOrderList 分配]]></description><category></category></item><item><title><![CDATA[Statistical Formulas For Programmers]]></title><link>https://blog.csdn.net/trents/article/details/8968377</link><guid>https://blog.csdn.net/trents/article/details/8968377</guid><author>trents</author><pubDate>Fri, 24 May 2013 09:36:57 +0800</pubDate><description><![CDATA[http://www.evanmiller.org/statistical-formulas-for-programmers.html#mean]]></description><category></category></item><item><title><![CDATA[DRIVER_CORRUPTED_EXPOOL (c5) 原因分析]]></title><link>https://blog.csdn.net/trents/article/details/8852803</link><guid>https://blog.csdn.net/trents/article/details/8852803</guid><author>trents</author><pubDate>Fri, 26 Apr 2013 09:27:20 +0800</pubDate><description><![CDATA[Windbg信息如下：



DRIVER_CORRUPTED_EXPOOL (c5)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high.  This is
caused by dr]]></description><category></category></item><item><title><![CDATA[一个驱动创建多个设备的问题]]></title><link>https://blog.csdn.net/trents/article/details/8832309</link><guid>https://blog.csdn.net/trents/article/details/8832309</guid><author>trents</author><pubDate>Sun, 21 Apr 2013 22:17:57 +0800</pubDate><description><![CDATA[一个驱动可以创建多个设备，典型的例子就是楚狂人在TDI驱动教程中创建了TCP，UDP，ICMP的三个过滤设备。
实际上为了能和应用层做IO管理，可能还需要创建一个控制设备，这个设备只负责接收应用层下发的策略。

但我觉得这存在问题，特别是在驱动卸载的时候存在问题。如果驱动只对应一个设备，能保证DriverUnload调用时是独占的，即不存在同步问题。但当对应多个设备时，可能在驱动卸载的时候（]]></description><category></category></item><item><title><![CDATA[以指定用户权限运行一个进程]]></title><link>https://blog.csdn.net/trents/article/details/8826358</link><guid>https://blog.csdn.net/trents/article/details/8826358</guid><author>trents</author><pubDate>Fri, 19 Apr 2013 22:39:16 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/panpanloveruth/article/details/5728999



//以指定用户权限运行一个进程
BOOL CRunAsDlg::RunAsEx(LPWSTR lpCommandLine)
{
    BOOL bRet = FALSE;
    HINSTANCE hInst;//advapi32.dll句柄]]></description><category></category></item><item><title><![CDATA[FilemonRead 蓝屏错误分析]]></title><link>https://blog.csdn.net/trents/article/details/8555409</link><guid>https://blog.csdn.net/trents/article/details/8555409</guid><author>trents</author><pubDate>Wed, 30 Jan 2013 11:18:54 +0800</pubDate><description><![CDATA[分析结果是FilemonRead这个函数里使用栈太大，如果多次陷入导致栈空间不够导致。
mark给自己

堆栈如下：




kd> !analyze -v
*******************************************************************************
*]]></description><category></category></item><item><title><![CDATA[W32内存溢出或者越界调试方法]]></title><link>https://blog.csdn.net/trents/article/details/8542598</link><guid>https://blog.csdn.net/trents/article/details/8542598</guid><author>trents</author><pubDate>Fri, 25 Jan 2013 16:16:24 +0800</pubDate><description><![CDATA[使用 GFlags打开完全页堆块结构
GFlags是windows debug tools 工具包下的一个工具,在Windows 2000的Resource Kit中也可以找得到。用来设置一些调试属性,总体上分为3个级别System, Kernel, 和 Image File。
我们设置好Path环境变量,将其指向Debug tools工具的目录下。
输入如下命令行：
gflags -p]]></description><category></category></item><item><title><![CDATA[Win2008打开远程桌面]]></title><link>https://blog.csdn.net/trents/article/details/8285185</link><guid>https://blog.csdn.net/trents/article/details/8285185</guid><author>trents</author><pubDate>Wed, 12 Dec 2012 09:43:25 +0800</pubDate><description><![CDATA[正常的开启操作： 
在桌面上右点"计算机"->"属性"->在打开的"系统"窗口里点击"远程设置",再切换到"远程"选项板中,将"远程协助"打上对钩，再将"远程桌面"里根据你的需要选择一项目，比方我选择的是"允许运行任意版本远程桌面的计算机连接"。确定就行了。]]></description><category></category></item><item><title><![CDATA[CMD命令下的netstat源码]]></title><link>https://blog.csdn.net/trents/article/details/8129444</link><guid>https://blog.csdn.net/trents/article/details/8129444</guid><author>trents</author><pubDate>Tue, 30 Oct 2012 17:32:38 +0800</pubDate><description><![CDATA[#include "StdAfx.h"
#include 
#include 
#include 
#include 
#include   
 
#pragma comment(lib, "Iphlpapi.lib")
#pragma comment(lib, "WS2_32.lib")

typedef struct
{
    DWORD   dwState;]]></description><category></category></item><item><title><![CDATA[windows7不支持AllocateAndGetTcpExTableFromStack]]></title><link>https://blog.csdn.net/trents/article/details/8129368</link><guid>https://blog.csdn.net/trents/article/details/8129368</guid><author>trents</author><pubDate>Tue, 30 Oct 2012 17:19:25 +0800</pubDate><description><![CDATA[原文链接：http://blog.csdn.net/sysprogram/article/details/6019155


今天发现iphlpapi.dll 在windows7下已经放弃支持AllocateAndGetTcpExTableFromStack,AllocateAndGetUdpExTableFromStack
没用办法只能重新修改程序进行重新编译
只能改用 GetExte]]></description><category></category></item><item><title><![CDATA[filemon hook IRP_MJ_READ 读用户名问题]]></title><link>https://blog.csdn.net/trents/article/details/8106439</link><guid>https://blog.csdn.net/trents/article/details/8106439</guid><author>trents</author><pubDate>Wed, 24 Oct 2012 13:21:51 +0800</pubDate><description><![CDATA[在IRP_MJ_READ的处理函数filemonread中，调用了获得当前用户名方法：
NTSTATUS 
GetUserName( 
    char* a
     )
{
     NTSTATUS status = STATUS_SUCCESS; 
    HANDLE         TokenHandle; 
    ULONG         ReturnLength]]></description><category></category></item><item><title><![CDATA[小卧室设计]]></title><link>https://blog.csdn.net/trents/article/details/8102612</link><guid>https://blog.csdn.net/trents/article/details/8102612</guid><author>trents</author><pubDate>Tue, 23 Oct 2012 13:58:08 +0800</pubDate><description><![CDATA[http://www.tianya.cn/techforum/content/967/1/12552.shtml]]></description><category></category></item><item><title><![CDATA[[Sfilter]在SfCreate()函数一开始得到文件名的方法（含长短名转换）]]></title><link>https://blog.csdn.net/trents/article/details/7895511</link><guid>https://blog.csdn.net/trents/article/details/7895511</guid><author>trents</author><pubDate>Wed, 22 Aug 2012 13:56:21 +0800</pubDate><description><![CDATA[转自：http://bbs3.driverdevelop.com/read.php?tid-110833.html

编译环境：ifs2003
目标系统：windowsXP + sp2
基本是按照楚狂人的教程来的，长短名转换确实挺麻烦，已通过测试。
在驱网看了很多好文章，心底有很多谢意，也许这个东西能对别人有用。
FYI：

//get the name with FILE_OBJ]]></description><category></category></item></channel></rss>