﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-自由天空</title><link>http://www.cppblog.com/Tinpont/</link><description>什么思想决定什么样行为，什么样行为决定什么样的习惯；什么样的习惯决定什么样性格，而什么性格决定什么样的命运。</description><language>zh-cn</language><lastBuildDate>Sat, 04 Apr 2026 05:03:46 GMT</lastBuildDate><pubDate>Sat, 04 Apr 2026 05:03:46 GMT</pubDate><ttl>60</ttl><item><title>ring0级暴力搜索内存检测系统隐藏进程(或Rootkit)</title><link>http://www.cppblog.com/Tinpont/archive/2010/12/17/SearchMemoryUnderRing0.html</link><dc:creator>Tinpont</dc:creator><author>Tinpont</author><pubDate>Fri, 17 Dec 2010 06:48:00 GMT</pubDate><guid>http://www.cppblog.com/Tinpont/archive/2010/12/17/SearchMemoryUnderRing0.html</guid><wfw:comment>http://www.cppblog.com/Tinpont/comments/136738.html</wfw:comment><comments>http://www.cppblog.com/Tinpont/archive/2010/12/17/SearchMemoryUnderRing0.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/Tinpont/comments/commentRss/136738.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tinpont/services/trackbacks/136738.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近期末答辩不知道写什么好，就写一个安全软件吧。软件使用驱动和C++编写，大概多数安全软件都是这样吧。<br>时间关系，就不说那么多了，直接入正题吧。<br><br>在此先感谢“伊丽_杀_白”、“堕落天才”、“antirootkit”等提供的优秀文章，我只是在他们基础之上修改了一下。<br><br>伊丽_杀_白    暴力搜索内存空间检测隐藏进程：http://bbs.xdnice.com/thread-377796-1-1.html<br><br>堕落天才        ring0检测隐藏进程：http://bbs.pediy.com/showthread.php?t=44243<br><br>antirootkit        枚举隐藏进程for ring0(搜索内存大法)：http://hi.baidu.com/antirootkit/blog/item/d2314b5c94772040fbf2c00b.html <br><br>下面看代码吧，没时间了，等下十点还要上课，有不明白的可以留言。我会解答的。 &nbsp;&nbsp;<a href='http://www.cppblog.com/Tinpont/archive/2010/12/17/SearchMemoryUnderRing0.html'>阅读全文</a><img src ="http://www.cppblog.com/Tinpont/aggbug/136738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tinpont/" target="_blank">Tinpont</a> 2010-12-17 14:48 <a href="http://www.cppblog.com/Tinpont/archive/2010/12/17/SearchMemoryUnderRing0.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】使用Custom Draw优雅的实现ListCtrl的重绘</title><link>http://www.cppblog.com/Tinpont/archive/2010/12/03/CustomDrawListCtrl.html</link><dc:creator>Tinpont</dc:creator><author>Tinpont</author><pubDate>Fri, 03 Dec 2010 07:45:00 GMT</pubDate><guid>http://www.cppblog.com/Tinpont/archive/2010/12/03/CustomDrawListCtrl.html</guid><wfw:comment>http://www.cppblog.com/Tinpont/comments/135355.html</wfw:comment><comments>http://www.cppblog.com/Tinpont/archive/2010/12/03/CustomDrawListCtrl.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tinpont/comments/commentRss/135355.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tinpont/services/trackbacks/135355.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Common control 4.7版本介绍了一个新的特性叫做Custom Draw，这个名字显得模糊不清，让人有点摸不着头脑，而且MSDN里也只给出了一些如风的解释和例子，没有谁告诉你你想知道的，和究竟这个特性有什么好处。<br> <br>Custom draw可以被想象成一个轻量级的，容易使用的重绘方法（重绘方法还有几种，例如Owner Draw等）。这种容易来自于我们只需要处理一个消息（NM_CUSTOMDRAW），就可以让Windows为你干活了，你就不用被逼去处理＂重绘过程＂中所有的脏活了。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Tinpont/archive/2010/12/03/CustomDrawListCtrl.html'>阅读全文</a><img src ="http://www.cppblog.com/Tinpont/aggbug/135355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tinpont/" target="_blank">Tinpont</a> 2010-12-03 15:45 <a href="http://www.cppblog.com/Tinpont/archive/2010/12/03/CustomDrawListCtrl.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用自绘控件详细步骤</title><link>http://www.cppblog.com/Tinpont/archive/2010/12/03/CListCtrlWithCustomDraw.html</link><dc:creator>Tinpont</dc:creator><author>Tinpont</author><pubDate>Thu, 02 Dec 2010 17:24:00 GMT</pubDate><guid>http://www.cppblog.com/Tinpont/archive/2010/12/03/CListCtrlWithCustomDraw.html</guid><wfw:comment>http://www.cppblog.com/Tinpont/comments/135320.html</wfw:comment><comments>http://www.cppblog.com/Tinpont/archive/2010/12/03/CListCtrlWithCustomDraw.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tinpont/comments/commentRss/135320.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tinpont/services/trackbacks/135320.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文的焦点更多地偏重于控件绘制技术而非高级的绘制技术，我们将演练一个简单的示例，其中列表视图控件是一个自定义的绘制，因此项的文本将在创建拼接外观的交替单元中显示为不同的颜色。<br><br>创建一个基于 Visual C++ 2005 对话框的项目，名为 ListCtrlColor。 <br><br>从 Class View 中选择 Project 菜单选项，并单击 Add Class 调用 Add Class 对话框。 <br><br>从分类列表中选择 MFC，然后从模板列表中选择 MFC Class。 <br><br>单击 Add 按钮，调用 MFC Class Wizard 对话框。 <br><br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Tinpont/archive/2010/12/03/CListCtrlWithCustomDraw.html'>阅读全文</a><img src ="http://www.cppblog.com/Tinpont/aggbug/135320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tinpont/" target="_blank">Tinpont</a> 2010-12-03 01:24 <a href="http://www.cppblog.com/Tinpont/archive/2010/12/03/CListCtrlWithCustomDraw.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++ 字符串截取相关函数讲解</title><link>http://www.cppblog.com/Tinpont/archive/2010/06/13/117780.html</link><dc:creator>Tinpont</dc:creator><author>Tinpont</author><pubDate>Sun, 13 Jun 2010 03:54:00 GMT</pubDate><guid>http://www.cppblog.com/Tinpont/archive/2010/06/13/117780.html</guid><wfw:comment>http://www.cppblog.com/Tinpont/comments/117780.html</wfw:comment><comments>http://www.cppblog.com/Tinpont/archive/2010/06/13/117780.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/Tinpont/comments/commentRss/117780.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tinpont/services/trackbacks/117780.html</trackback:ping><description><![CDATA[<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008080">&nbsp;1</span>&nbsp;<span style="COLOR: #000000">CString&nbsp;res;<br></span><span style="COLOR: #008080">&nbsp;2</span>&nbsp;<span style="COLOR: #000000">CString&nbsp;str&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">abcdefghijklmn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">&nbsp;3</span>&nbsp;<span style="COLOR: #000000">res&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;str.Mid(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">);&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">从第3位字母开始，共取3个字符</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;4</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">ASSERT(res&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">cde</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br></span><span style="COLOR: #008080">&nbsp;5</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;6</span>&nbsp;<span style="COLOR: #000000">res&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;str.Left(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">);&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">从左边数起，共取3个字符</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;7</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">ASSERT(res&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">abc</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br></span><span style="COLOR: #008080">&nbsp;8</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span>&nbsp;<span style="COLOR: #000000">res&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;str.Right(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">);&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">从右边数起，共取3个字符</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">10</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">ASSERT(res&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">lmn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br></span><span style="COLOR: #008080">11</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">12</span>&nbsp;<span style="COLOR: #000000">res&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;str.SpanIncluding(_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">edcba</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">遇到参数里没有的字符即停下，返回停下之前的字符串</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">13</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">ASSERT(res&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">abcde</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br></span><span style="COLOR: #008080">14</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">15</span>&nbsp;<span style="COLOR: #000000">res&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;str.SpanExcluding(_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">fgb</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">遇到参数里面有的字符即停下，返回停下之前的字符串</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">16</span>&nbsp;<span style="COLOR: #008000"></span><span style="COLOR: #000000">ASSERT(res&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br></span><span style="COLOR: #008080">17</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">18</span>&nbsp;<span style="COLOR: #000000"></span></div>
<img src ="http://www.cppblog.com/Tinpont/aggbug/117780.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tinpont/" target="_blank">Tinpont</a> 2010-06-13 11:54 <a href="http://www.cppblog.com/Tinpont/archive/2010/06/13/117780.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> “新”博客开张了</title><link>http://www.cppblog.com/Tinpont/archive/2010/06/13/117777.html</link><dc:creator>Tinpont</dc:creator><author>Tinpont</author><pubDate>Sun, 13 Jun 2010 03:35:00 GMT</pubDate><guid>http://www.cppblog.com/Tinpont/archive/2010/06/13/117777.html</guid><wfw:comment>http://www.cppblog.com/Tinpont/comments/117777.html</wfw:comment><comments>http://www.cppblog.com/Tinpont/archive/2010/06/13/117777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tinpont/comments/commentRss/117777.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tinpont/services/trackbacks/117777.html</trackback:ping><description><![CDATA[
<p>其实以前都开过很多博客的啦，不过都不是很理想，所以为什么我的新字要加双引号。</p>
<p><br></p>
<p>还是麻烦大家移一移玉步，来我这个简陋的小窝，分享我成长的历程。</p><img src ="http://www.cppblog.com/Tinpont/aggbug/117777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tinpont/" target="_blank">Tinpont</a> 2010-06-13 11:35 <a href="http://www.cppblog.com/Tinpont/archive/2010/06/13/117777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>