<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/jingzu" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/jingzu" type="application/rss+xml"></fs:self_link><lastBuildDate>Fri, 31 Jul 2009 10:37:00 GMT</lastBuildDate><title>jingzu的专栏</title><link>http://blog.csdn.net/jingzu/</link><item><title>收集SQLite中的时间日期函数</title><link>http://blog.csdn.net/jingzu/archive/2009/07/31/4396459.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/4396459.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/4396459.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4396459</trackback:ping><description>&lt;br /&gt;SQLite包含了如下时间/日期函数：&lt;br /&gt;
datetime().......................产生日期和时间&lt;br /&gt;
date()...........................产生日期&lt;br /&gt;
time()...........................产生时间&lt;br /&gt;
strftime().......................对以上三个函数产生的日期和时间进行格式化&lt;br /&gt;&lt;br /&gt;
datetime()的用法是：datetime(日期/时间,修正符,修正符...)&lt;br /&gt;
date()和time()的语法与datetime()相同。&lt;br /&gt;&lt;br /&gt;
在时间/日期函数里可以使用如下格式的字符串作为参数：&lt;br /&gt;
YYYY-MM-DD&lt;br /&gt;
YYYY-MM-DD HH:MM&lt;br /&gt;
YYYY-MM-DD HH:MM:SS&lt;br /&gt;
YYYY-MM-DD HH:MM:SS.SSS&lt;br /&gt;
HH:MM&lt;br /&gt;
HH:MM:SS&lt;br /&gt;
HH:MM:&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/4396459.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/264025328/jingzu/csdn.net/s.gif?r=http://blog.csdn.net/jingzu/archive/2009/07/31/4396459.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025328/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025328/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 31 Jul 2009 18:37:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2009/07/31/4396459.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2009/07/31/4396459.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2009/07/31/4396459.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025328/4032027</fs:itemid></item><item><title>delphi使用回调函数</title><link>http://blog.csdn.net/jingzu/archive/2009/07/31/4396421.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/4396421.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/4396421.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4396421</trackback:ping><description>&lt;br /&gt;回调函数是这样一种机制：调用者在初始化一个对象（这里的对象是泛指，包括oop中的对象、全局函数等）时，将一些参数传递给对象，同时将一个调用者可以访问的函数地址传递给该对象。这个函数就是调用者和被调用者之间的一种通知约定，当约定的事件发生时，被调用者（一般会包含一个工作线程）就会按照回调函数地址调用该函数。&lt;br /&gt;
   这种方式，调用者在一个线程，被调用者在另一个线程。&lt;br /&gt;&lt;br /&gt;
   消息：&lt;br /&gt;&lt;br /&gt;
　　消息也可以看作是某种形式的回调，因为消息也是在初始化时由调用者向被调用者传递一个句柄和一个消息编号，在约定的事件发生时被调用者向调用者发送消息。&lt;br /&gt;
　　这种方式，调用者在主线程中，被调用者在主线程或者工作线程中。&lt;br /&gt;&lt;br /&gt;
   delphi事件模型：&lt;br /&gt;&lt;br /&gt;
　　　在delphi的vcl中有很多可视化组件都是使用事件模型，例如tform的oncreate事件，其原理是：在设计时指定事件函数，在运行时事件触发，则会调用在设计时指定的事件函数。&lt;br /&gt;&lt;br /&gt;
　　在机制上，de&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/4396421.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/264025329/jingzu/csdn.net/s.gif?r=http://blog.csdn.net/jingzu/archive/2009/07/31/4396421.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025329/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025329/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 31 Jul 2009 18:30:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2009/07/31/4396421.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2009/07/31/4396421.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2009/07/31/4396421.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025329/4032027</fs:itemid></item><item><title>高性能网络编程邮件列表</title><link>http://blog.csdn.net/jingzu/archive/2009/07/22/4370443.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/4370443.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/4370443.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4370443</trackback:ping><description>&lt;br /&gt;对于SO_KEEPALIVE做心跳，我也知道，但是平时一般不用，第一是使用SO_KEEPALIVE你无法控制，它会每时每刻都发，但是使用心跳我们自己可以收到数据包的情况下不发，第二使用了SO_KEEPALIVE后，对于判断网络断开时间太长，对于需要及时响应的程序不太适应。
&lt;br /&gt;
  如lizp所说，大家一般都是使用业务层心跳来处理，主要是灵活可控。
&lt;br /&gt;&lt;br /&gt;在2008-12-09，lizp  写道：
&lt;br /&gt;&lt;br /&gt;UNIX网络编程不推荐使用SO_KEEPALIVE来做心跳检测，还是在业务层以心跳包做检测比较好，也方便控制，楼上给的代码是UNIX下的，WIN下不适用。
&lt;br /&gt;
 我这里收集比较全的
&lt;br /&gt;
 windows下 &lt;br /&gt;
 此处的”非正常断开”指TCP连接不是以优雅的方式断开,如网线故障等物理链路的原因,还有突然主机断电等原因
&lt;br /&gt;
 有两种方法可以检测:1.TCP连接双方定时发握手消息 2.利用TCP协议栈中的KeepAlive探测
&lt;br /&gt;&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/4370443.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/264025330/jingzu/csdn.net/s.gif?r=http://blog.csdn.net/jingzu/archive/2009/07/22/4370443.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025330/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025330/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 22 Jul 2009 22:36:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2009/07/22/4370443.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2009/07/22/4370443.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2009/07/22/4370443.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025330/4032027</fs:itemid></item><item><title>CreateFile 的使用</title><link>http://blog.csdn.net/jingzu/archive/2009/07/21/4365939.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/4365939.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/4365939.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4365939</trackback:ping><description>VC声明&lt;br /&gt;　　HANDLE CreateFile(&lt;br /&gt;
LPCTSTR lpFileName, //指向文件名的指针&lt;br /&gt;
DWORD dwDesiredAccess, //访问模式（写/读）&lt;br /&gt;
DWORD dwShareMode, //共享模式&lt;br /&gt;
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针&lt;br /&gt;
DWORD dwCreationDisposition, //如何创建&lt;br /&gt;
DWORD dwFlagsAndAttributes, //文件属性&lt;br /&gt;
HANDLE hTemplateFile //用于复制文件句柄&lt;br /&gt;
);&lt;br /&gt;
参数列表 &lt;br /&gt;
lpFileName String 要打开的文件的名字 &lt;br /&gt;
dwDesiredAccess Long 如果为 GENERIC_READ 表示允许对设备进行读访问；如果为 GENERIC_WRITE 表示允许对设备进行写访问（可组合使用）；如果为零，表示只允许获取与一&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/4365939.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/264025331/jingzu/csdn.net/s.gif?r=http://blog.csdn.net/jingzu/archive/2009/07/21/4365939.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025331/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025331/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 21 Jul 2009 18:43:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2009/07/21/4365939.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2009/07/21/4365939.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2009/07/21/4365939.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025331/4032027</fs:itemid></item><item><title>解决锁定键盘鼠标</title><link>http://blog.csdn.net/jingzu/archive/2009/03/07/3966249.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/3966249.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/3966249.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3966249</trackback:ping><description>如果你不需要屏蔽Ctrl+Alt+Del组合键,可以使用低级键盘钩子(WH_KEYBOARD_LL)与低级鼠标钩子(WH_MOUSE_LL),这两种消息钩子的好处是不需要放在动态链接库中就可以作全局钩子,将键盘消息与鼠标消息截获.
&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/3966249.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025332/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025332/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sun, 08 Mar 2009 00:29:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2009/03/07/3966249.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2009/03/07/3966249.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2009/03/07/3966249.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025332/4032027</fs:itemid></item><item><title>sqlite3使用</title><link>http://blog.csdn.net/jingzu/archive/2009/03/05/3959462.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/3959462.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/3959462.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3959462</trackback:ping><description>&lt;br /&gt;最近喜欢上Sqlite3,主要喜欢使用容易、速度快，而且可以加密码，而且免费。&lt;br /&gt;经过用BCC编译，使用于DELPHI中，效果很好。&lt;br /&gt;&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/3959462.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025333/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025333/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 05 Mar 2009 21:22:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2009/03/05/3959462.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2009/03/05/3959462.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2009/03/05/3959462.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025333/4032027</fs:itemid></item><item><title>监视远程线程的创建</title><link>http://blog.csdn.net/jingzu/archive/2007/11/27/1904024.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/1904024.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/1904024.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1904024</trackback:ping><description>有时候我们希望能够动态监视系统中任意进程/线程的创建与销毁。为了达

到此目的我翻阅了 DDK 手册，发现其提供的 PsSetCreateProcessNotifyRoutine(),

PsSetCreateThreadNotifyRoutine(),等函数可以实现此功能。这两个函数可以

通过向系统注册一个 CALLBALCK 函数来监视进程/线程等操作。函数原形如下：&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/1904024.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025334/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025334/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 27 Nov 2007 21:32:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2007/11/27/1904024.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2007/11/27/1904024.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2007/11/27/1904024.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025334/4032027</fs:itemid></item><item><title>侦测隐藏进程</title><link>http://blog.csdn.net/jingzu/archive/2007/11/27/1904012.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/1904012.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/1904012.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1904012</trackback:ping><description>许多用户都有过用Windows自带的任务管理器查看所有进程的经验，并且很多人都认为在任务管理器中隐藏进程是不可能的。而实际上，进程隐

藏是再简单不过的事情了。有许多可用的方法和参考源码可以达到进程隐藏的目的。令我惊奇的是只有很少一部分的木马使用了这种技术。估&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/1904012.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025335/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025335/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 27 Nov 2007 21:02:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2007/11/27/1904012.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2007/11/27/1904012.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2007/11/27/1904012.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025335/4032027</fs:itemid></item><item><title>内核级HOOK的几种实现与应用</title><link>http://blog.csdn.net/jingzu/archive/2007/11/27/1904007.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/1904007.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/1904007.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1904007</trackback:ping><description>实现内核级 HOOK 对于拦截、分析、跟踪系统内核起着致关重要的作用。实现的方法不同意味着应用侧重点的不同。如想要拦截 NATIVE API 那么可能常用的就是 HOOK SERVICE TABLE 的方法。如果要分析一些系统调用，那么可能想到用 HOOK INT 2E 中断来实现。如果想要拦截或跟踪其他内核 DRIVER 的调用，那么就要用到HOOK PE 的方法来实现。这里我们更注重的是实现，原理方面已有不少高手在网上发表过文章。大家可以结合起来读。下面以我写的几个实例程序来讲解一下各种方法的实现。错误之处还望各位指正。

&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/1904007.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025336/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025336/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 27 Nov 2007 20:58:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2007/11/27/1904007.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2007/11/27/1904007.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2007/11/27/1904007.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025336/4032027</fs:itemid></item><item><title>ring0检测隐藏进程</title><link>http://blog.csdn.net/jingzu/archive/2007/11/27/1904003.aspx</link><wfw:comment>http://blog.csdn.net/jingzu/comments/1904003.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jingzu/comments/commentRss/1904003.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1904003</trackback:ping><description>/网上得到一篇好文章 Ring0下搜索内存枚举隐藏进程 ，但是拿里面的代码来使用的时候发现并没有太多效果
//于是修改之，终于实现了最初的目标
//由于直接搜索内存,跟系统调度没什么关系,所以能够枚举到各种方法隐藏的进程 包括断链、抹PspCidTable... 
//甚至能枚举到已经&quot;死掉&quot;的进程,本程序通过进程的ExitTime来判断进程是不是已经结束
//除非能够把EProcess结构修改掉，但这个实现难度可能比较大，不知有没有哪位大侠试过（PID我修改过），欢迎讨论
//
//作者:堕落天才
//时间:2007年5月10日
//参考: uty  Ring0下搜索内存枚举隐藏进程 http://www.cnxhacker.net/Article/show/3412.html
//下面代码在XP SP2测试通过&lt;img src =&quot;http://blog.csdn.net/jingzu/aggbug/1904003.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/jingzu/264025337/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/jingzu/264025337/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 27 Nov 2007 20:54:00 +0800</pubDate><author>jingzu</author><comments>http://blog.csdn.net/jingzu/archive/2007/11/27/1904003.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/jingzu/archive/2007/11/27/1904003.aspx</guid><dc:creator>jingzu</dc:creator><fs:srclink>http://blog.csdn.net/jingzu/archive/2007/11/27/1904003.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jingzu/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/jingzu/~5903583/264025337/4032027</fs:itemid></item></channel></rss>