<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<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>Langouster 's   Blog(虾 窝)</title><link>http://www.langouster.com/</link><description>欢迎来到“虾 窝” </description><generator>RainbowSoft Studio Z-Blog 2.0 bate Build</generator><language>zh-CN</language><copyright>Copyright langouster. Some Rights Reserved.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;苏ICP备06046736号 &amp;amp;nbsp;&amp;amp;nbsp;</copyright><pubDate>Thu, 02 Sep 2010 23:00:18 +0800</pubDate><item><title>POOL驱动不能处理异常的解决方法</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/116.html</link><pubDate>Sat, 28 Aug 2010 10:51:35 +0800</pubDate><guid>http://www.langouster.com/HTML/116.html</guid><description><![CDATA[<p>相信越来越多的人都喜欢把驱动代码放到Pool里执行，但由此会产生一个问题，在Pool里的驱动代码是不能出异常的，所有的异常处理都会失效，在有些我们不得不使用异常，如操作Ring3内存，这时我们就必须解决掉这个问题。</p><p>X86和x64在异常处理上稍有一些不同，先来看x86上的异常处理。</p><p>系统捕获到异常后会执行到函数<font face="Verdana">RtlDispatchException，函数<font face="Verdana">RtlDispatchException再调用<font face="Verdana">RtlLookupFunctionEntry，<font face="Verdana">RtlLookupFunctionEntry函数再调用<font face="Verdana">RtlLookupFunctionTable。<font face="Verdana">RtlLookupFunctionTable这个函数的作用是在<font face="Verdana">PsLoadedModuleList链在根据异常的EIP地址</font>找到发生异常的模块。由于Pool里执行的代码不属于任何一个模块，这个函数就会返回失败，异常处理就会失去作用，产生一个蓝屏。</font></font></font></font></font></font></p><p><font face="Verdana"><font face="Verdana"><font face="Verdana"><font face="Verdana"><font face="Verdana"><font face="Verdana">......</font></font></font></font></font></font></p>]]></description><category>驱动开发</category><comments>http://www.langouster.com/HTML/116.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=116</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=116&amp;key=3fb3780a</trackback:ping></item><item><title>ObRegisterCallbacks返回0xC0000022(拒绝访问)解决方案</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/115.html</link><pubDate>Tue, 24 Aug 2010 10:33:39 +0800</pubDate><guid>http://www.langouster.com/HTML/115.html</guid><description><![CDATA[<p><font face="Verdana">ObRegisterCallbacks这个函数是在Vista sp1之后的版本中添加的，可用来监控系统中对进线程句柄的操作，如打开进程、复制线程句柄等。</font></p><p>但是使用这个函数对驱动有特殊的要求，必须使用特殊的签名才行！否则这个函数会返回<font face="Verdana">0xC0000022(拒绝访问)，逆向此函数可以看到以下是有关是否加签名的判断：</font></p><p>...</p>]]></description><category>驱动开发</category><comments>http://www.langouster.com/HTML/115.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=115</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=115&amp;key=707b877e</trackback:ping></item><item><title>VC程序查错之内存访问异常</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/114.html</link><pubDate>Mon, 16 Aug 2010 20:25:57 +0800</pubDate><guid>http://www.langouster.com/HTML/114.html</guid><description><![CDATA[<P>作者:langouster</P><P>先来看下面这张图，相信很多程序员都见过类似。</P><P><IMG title="" alt="" src="http://www.langouster.com/upload/201008162027450557.JPG" onload=ResizeImage(this,520)></P><P><FONT face=Verdana>---------------------------<BR>test1.exe - 应用程序错误<BR>---------------------------<BR>"0x00401002" 指令引用的 "0x00000000" 内存。该内存不能为 "written"。</FONT><FONT face=Verdana><BR>要终止程序，请单击“确定”。<BR>要调试程序，请单击“取消”。<BR>---------------------------<BR>确定&nbsp;&nbsp; 取消&nbsp;&nbsp; <BR>---------------------------</FONT></P>...]]></description><category>Windows程序设计</category><comments>http://www.langouster.com/HTML/114.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=114</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=114&amp;key=46ade40f</trackback:ping></item><item><title>VC程序查错之序言</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/113.html</link><pubDate>Mon, 16 Aug 2010 19:56:22 +0800</pubDate><guid>http://www.langouster.com/HTML/113.html</guid><description><![CDATA[<P>作者:langouster</P><P>一直准备写一个关于C、C++程序调错的专题，这个专题面向的主要人群是程序开发人员，从今天开始争取每周写一点，把我所知的一些小东西和大家分享分享。</P><P>一。工具准备，我常用的工具有:</P><P>VS2005是我用的最多的开发工具，他的强大的调试分析能力注定会成为我们调试程序的首选。</P><P>Windbg是微软出的专门的调试器，功能非常强大，支持应用程序与双机驱动调试，但它的界面实在是太简略。</P><P>IDA是一款强大的二进制反汇编与分析工具，其中的F5插件支持直接把exe文件反编译成C语言。</P>...]]></description><category>Windows程序设计</category><comments>http://www.langouster.com/HTML/113.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=113</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=113&amp;key=fda22a89</trackback:ping></item><item><title>Ring0上调用未导出Zw函数通用函数</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/112.html</link><pubDate>Sun, 18 Jul 2010 21:46:13 +0800</pubDate><guid>http://www.langouster.com/HTML/112.html</guid><description><![CDATA[<p><font face="Verdana">前段时间写的一段无聊代码，可能对大家有点用。用于在驱动里调用一些没有直接导出的Zw函数，如ZwProtectVirtualMemory。在此感谢alpha提供思路。</font></p><p><font face="Verdana">BOOLEAN CallZwFunction(CONST CHAR *FunctionName,PVOID pCallRet,ULONG ArgNum,...)<br />{<br />&nbsp;char *vl;<br />&nbsp;BOOLEAN retval = FALSE;<br />&nbsp;ULONG FunctionIndex;<br />&nbsp;ULONG CallRet;<br />&nbsp;ULONG Argv[20],temp;<br />&nbsp;LONG i;<br />&nbsp;ULONG FunctionAddr;<br />&nbsp;BYTE Sign[]=&quot;\xb8\x44\x00\x00\x00&quot;;<br />&nbsp;BYTE *p;</font></p><p>...</p>]]></description><category>驱动开发</category><comments>http://www.langouster.com/HTML/112.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=112</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=112&amp;key=31d02c77</trackback:ping></item><item><title>VC向网页注入脚本</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/110.html</link><pubDate>Thu, 06 May 2010 21:13:31 +0800</pubDate><guid>http://www.langouster.com/HTML/110.html</guid><description><![CDATA[<P><FONT face=Verdana>IHTMLDocument2 *pDoc2</FONT></P><P>......</P><P><FONT face=Verdana><FONT face=Verdana>IHTMLWindow2 *pWindow;<BR>HRESULT hr=pDoc2-&gt;get_parentWindow(&amp;pWindow);<BR>VARIANT ret;<BR>ret.vt=VT_EMPTY;<BR>CComBSTR func="alert(document.cookie)";<BR>CComBSTR lang="JAVAScript";<BR>hr=pWindow-&gt;execScript(func,lang,&amp;ret);</FONT></FONT></P>...]]></description><category>Windows程序设计</category><comments>http://www.langouster.com/HTML/110.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=110</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=110&amp;key=49f1ba6b</trackback:ping></item><item><title>进程创建过程 关键函数执行顺序</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/109.html</link><pubDate>Wed, 05 May 2010 16:45:36 +0800</pubDate><guid>http://www.langouster.com/HTML/109.html</guid><description><![CDATA[<P>监控下一个进程的创建过程，关键函数的执行先后关系如下：</P><P>XP sp3下:</P><P>1.NtCreateProcessEx</P><P>2.NtCreateThread</P><P>3.CreateProcessNotify，调用创建进程回调函数，在PspCreateThread中调用</P><P>4.CreateThreadNotify，调用创建线程回调函数，在PspCreateThread中调用</P><P>Vista、Win7下:</P><P>1.NtCreateUserProcess-&gt;PspInsertThread</P>...]]></description><category>驱动开发</category><comments>http://www.langouster.com/HTML/109.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=109</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=109&amp;key=539f3ef9</trackback:ping></item><item><title>千岛湖归来</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/108.html</link><pubDate>Mon, 03 May 2010 21:51:40 +0800</pubDate><guid>http://www.langouster.com/HTML/108.html</guid><description><![CDATA[<p>千岛湖二日游回来，多图。</p>]]></description><category>日记</category><comments>http://www.langouster.com/HTML/108.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=108</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=108&amp;key=dad664ba</trackback:ping></item><item><title>双向链表的添加、查找、删除算法</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/105.html</link><pubDate>Sat, 27 Mar 2010 15:35:10 +0800</pubDate><guid>http://www.langouster.com/HTML/105.html</guid><description><![CDATA[<P><FONT face=Verdana>前段时间看一个很早前写的驱动，发现对双向链表的操作还有BUG，删除时会蓝屏，修正了一下，把修正后的代码贴出来，方便日后使用前直接复制，大牛不用看了。</FONT></P><DIV align=left>&nbsp;</DIV><DIV align=left>&nbsp;</DIV><DIV align=left>typedef struct _FILELIST</DIV><DIV align=left>{</DIV><DIV align=left>&nbsp;&nbsp;&nbsp;&nbsp; LIST_ENTRY ListEntry;</DIV>...]]></description><category>驱动开发</category><comments>http://www.langouster.com/HTML/105.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=105</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=105&amp;key=85ab82dc</trackback:ping></item><item><title>利用0day在win7下从user权限提升到system权限演示</title><author>langouster@163.com (langouster)</author><link>http://www.langouster.com/HTML/104.html</link><pubDate>Sat, 20 Mar 2010 23:27:23 +0800</pubDate><guid>http://www.langouster.com/HTML/104.html</guid><description><![CDATA[<p>此演示完成user权限下以system权限运行指定程序,利用的是前几篇文章说的那个系统驱动的溢出漏洞。</p><p>利用成功后可看到Services.exe以system权限运行了C:\Users\test\Desktop\1.exe。</p>]]></description><category>驱动开发</category><comments>http://www.langouster.com/HTML/104.html#comment</comments><wfw:comment>http://www.langouster.com/</wfw:comment><wfw:commentRss>http://www.langouster.com/feed.asp?cmt=104</wfw:commentRss><trackback:ping>http://www.langouster.com/cmd.asp?act=tb&amp;id=104&amp;key=5a2fc872</trackback:ping></item></channel></rss>
