<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>作品发布</title>
		<link>http://neeao.com/category/neeao/</link>
		<description>信息安全、程序开发、脚本技术</description>
		<copyright>Powered by SaBlog-X. Copyright (C) 2003-2009.</copyright>
		<generator>SaBlog-X Version 2.0 Build 20100301</generator>
		<lastBuildDate>Sat, 31 Jul 2010 07:02:00 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<guid>http://neeao.com/archives/29/</guid>
			<title>谷歌音乐试听歌曲下载工具 20100102版</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>自从谷歌音乐上线以后，再也没到其他地方下载过歌曲，不过这两天帮朋友下载一些歌曲的时候，发现谷歌音乐对某些歌曲并不提供下载服务。</p>
<p>比如：<a href="http://www.google.cn/music/chartlisting?q=ea_songs_cn&amp;cat=song&amp;grouping=ea_music&amp;expanded_groupings=new-release_music,ea_music">欧美热歌</a> 中的第一首：后街男孩的Shape Of My Heart就不提供下载，如图：</p>
<p>[attach=24]</p>
<p>但是它还是提供试听的，本想通过试听地址下载下来，不想google对音乐文件地址进行了简单的加密处理。通过分析html页面还不好找到，经过一番分析后，终于发现了，google隐藏地址的原理，在这里就不啰嗦了，有兴趣的自己研究下。为了方便以后下载，用C#写了个小工具，不敢独享，放出来给需要的朋友用下了。</p>
<p>[attach=25]</p>
<p>使用方法：</p>
<p>0.此软件基于.net2.0开发，因此如果是XP的系统，运行的话，需要安装<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5">Microsoft .NET Framework 2.0 版可再发行组件包</a> 。Windows7的系统，默认支持.net2.0了。</p>
<p>1.点击打开试听地址，输入到试听地址中，然后点击GET，即可获取到歌曲的信息，如果获取不成功则报错,地址栏变红色，成功，则会输出歌曲信息，地址栏变绿色。</p>
<p>2.点击保存地址的按钮选择保存的路径，如果不选则默认保存在程序允许的目录下面。</p>
<p>3.开始下载，等待下载完成，点击重来，重新下载其他歌曲。</p>
<p><a href="/attachments/GoogleMusicDownload.rar">本地下载</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description>
			<link>http://neeao.com/archives/29/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2010-01-02 15:33</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/25/</guid>
			<title>SQL通用防注入程序 20091206版</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>本不打算对这个小东东做更新了，不过还是经常收到一些朋友的咨询，以及在使用中遇到了一些问题，今天又收到朋友来信问关于这个东东的问题，正好今天公司值班也没啥事情，就顺手更新一下了。顺便统一在对以前一些朋友提出的问题做下解答。</p>
<p>主要解决了以下几个问题：</p>
<ol>
    <li><strong>更新搜索引擎跳转引起的误报</strong>。其实这个是由于之前的默认的过滤规则中有%的缘故，如果有的网站统计了访问来源的话，就有可能导致搜索引擎过来的访客报sql注入，无法访问，20091206版中删除了对于%和*的过滤。</li>
    <li><strong>修改数据库访问路径为绝对路径</strong>。原来的是采用虚拟路径访问数据库的，如果有的朋友部署的目录比较奇怪的话，可能会导致找不到sql防注入的数据库，20091206版本不会有这个问题了，可以支持将数据库放之非web目录。</li>
    <li><strong>修改原来的安全页面功能为安全表单</strong>。原来的安全页面功能是为了防止后台添加数据的时候，存在sql注入过滤关键字字符而设置了，本版本修改了安全页面功能为安全表单，将误报白名单细化到了表单。使用方法：如果发现本系统影响了你的网站正常的添加数据，可以将你认为安全的表单添加至安全表单，可通过管理页面查看影响的参数，然后将其添加至后台管理-》参数设置中的安全表单，并启用安全表单即可。</li>
    <li>对后台界面做了优化，实在看不下去以前的后台界面了，太丑了。</li>
</ol>
<p>代码继续托管至Google，访问地址：<a href="http://code.google.com/p/defencesqlinject/" target="_blank">http://code.google.com/p/defencesqlinject/</a></p>
<p>本地下载：<a href="/attachments/sql_20091206.rar">/attachments/sql_20091206.rar</a></p>
<p>如果使用过程中发现问题，请留言或者Email给我。</p>
<p>此为免费程序，可随意使用，不过由于本人已工作，时间有限，恕不提供免费服务，请见谅。</p>]]></description>
			<link>http://neeao.com/archives/25/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-12-06 14:30</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/22/</guid>
			<title>NOD32病毒库自动下载工具20091106版</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>之前的文章发布过一个demo，定制性不是太好，需要安装winrar才能解压缩。今天抽空写了一个无需winrar就可以直接解压缩的版本，顺便编译了一个exe，放上来，需要的朋友可下载下。</p>
<p>一、主要功能有：</p>
<p>1.无需winrar支持即可加压缩，主要是采用winrar官方发布的unrar.dll来实现的。</p>
<p>2.可修改需要下载病毒库的url，这个主要考虑是官方如果修改url的话，就不用修改主程序了，修改下配置文件就行.注意：不同版本的nod32升级病毒库的url不同。</p>
<p>3.可修改要解压缩的目录，可随意存放磁盘的任意目录了，修改下配置文件就OK。</p>
<p>二、文件说明：</p>
<p>主要有三个文件：</p>
<p>1.主程序：NOD32update.exe</p>
<p>2.unrar.dll库文件：unrar.dll.</p>
<p>3.config.xml文件，url为病毒库路径，path为要存放的本地磁盘目录。</p>
<pre><ol class="dp-xml"><li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span>&nbsp;</span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">&quot;gb2312&quot;</span><span class="tag">?&gt;</span><span>&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">root</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">url</span><span class="tag">&gt;</span><span>http://down1.eset.com.cn/eset/offlinev2.rar</span><span class="tag">&lt;/</span><span class="tag-name">url</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">path</span><span class="tag">&gt;</span><span>D:\\offlinev2\\</span><span class="tag">&lt;/</span><span class="tag-name">path</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">root</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li></ol></pre>
<p>三、程序使用方法：</p>
<p>修改下上面的config.xml文件中的path路径与nod32程序本地更新目录一致即可使用，怎么设置见<a href="http://www.eset.com.cn/html/download/offline.shtml">nod32官方。</a></p>
<p>以下为程序运行界面，下载完成并解压缩后会自动退出，方便定时设定后台自动下载。</p>
<p>[attach=23]</p>
<p>四、下载地址：</p>
<p><a href="http://neeao.com//attachments/nod32downloadupdate.rar">http://neeao.com//attachments/nod32downloadupdate.rar</a></p>
<p><span style="color: rgb(255, 0, 0);">声明：本程序仅供个人学习、测试、体验和研究使用，请勿用于任何商业目的，如果你喜欢ESET(NOD32)请购买正版软件或使用360安全中心提供的免费半年激活码！</span></p>]]></description>
			<link>http://neeao.com/archives/22/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-11-06 17:47</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/19/</guid>
			<title>也来弄个NOD32病毒库自动更新代码</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>偶算是nod32的铁杆粉丝了，一直用这个东东，最近nod32封杀了不少国内的发布免费ID的站点，使IP查找起来比较麻烦了，索性就用官方发布的离线升级包弄个更新服务器，自己用。</p>
<p>官方离线升级包下载地址是：http://www.eset.com.cn/html/download/offline.shtml</p>
<p>用VC写了段代码，自动下载更新包并解压至指定目录，然后指定更新目录为那个目录就好了，建一个计划任务，每天更新一次就实现自动更新了。</p>
<p>以下是简单的代码：</p>
<pre><ol class="dp-cpp"><li class="alt"><span><span class="comment">//&nbsp;download.cpp&nbsp;:&nbsp;定义控制台应用程序的入口点。</span><span>&nbsp;</span></span></li><li><span><span class="comment">//code&nbsp;By:Neeao</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="comment">//http://Neeao.com</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="preprocessor">#include&nbsp;&quot;stdafx.h&quot;</span><span>&nbsp;</span></span></li><li><span><span class="preprocessor">#include&nbsp;&lt;windows.h&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="preprocessor">#include&nbsp;&lt;urlmon.h&gt;</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="preprocessor">#pragma&nbsp;comment(lib,&nbsp;&quot;urlmon.lib&quot;)</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="datatypes">int</span><span>&nbsp;_tmain(</span><span class="datatypes">int</span><span>&nbsp;argc,&nbsp;_TCHAR*&nbsp;argv[])&nbsp;</span></span></li><li><span>{&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="datatypes">HRESULT</span><span>&nbsp;hr=URLDownloadToFile(NULL,</span><span class="string">&quot;http://down1.eset.com.cn/eset/offlinev2.rar&quot;</span><span>,</span><span class="string">&quot;d:\\offlinev2.rar&quot;</span><span>,0,NULL);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;SHELLEXECUTEINFO&nbsp;ShExecInfo&nbsp;=&nbsp;{0};&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.cbSize&nbsp;=&nbsp;<span class="keyword">sizeof</span><span>(SHELLEXECUTEINFO);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.fMask&nbsp;=&nbsp;SEE_MASK_NOCLOSEPROCESS;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.hwnd&nbsp;=&nbsp;NULL;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.lpVerb&nbsp;=&nbsp;NULL;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.lpFile&nbsp;=&nbsp;<span class="string">&quot;C:\\Program&nbsp;Files\\WinRAR\\RAR.exe&quot;</span><span>;&nbsp;</span><span class="comment">//调用rar</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.lpParameters&nbsp;=&nbsp;<span class="string">&quot;e&nbsp;d:\\offlinev2.rar&nbsp;-o+&nbsp;D:\\offlinev2\\&quot;</span><span>;&nbsp;</span><span class="comment">//执行的命令</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.lpDirectory&nbsp;=&nbsp;NULL;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.nShow&nbsp;=&nbsp;SW_SHOW;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ShExecInfo.hInstApp&nbsp;=&nbsp;NULL;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;ShellExecuteEx(&amp;ShExecInfo);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;WaitForSingleObject(ShExecInfo.hProcess,INFINITE);<span class="comment">//等解压缩完毕继续往下执行</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;0;&nbsp;</span></span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
			<link>http://neeao.com/archives/19/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-10-16 18:34</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/17/</guid>
			<title>PHP eval gzinflate base64_decode str_rot13加密解密</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>昨天遇到了一个文件用eval(gzinflate(str_rot13(base64_decode(一串解密的，原以为替换eval为echo看下好了，谁知道，还有N层，一怒之下写了这个脚本，直接转换之。顺便弄个了在线版的，省得需要的朋友直接找我了。</p>
<p>以下为源码：</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;</span></span></li><li><span><span class="comment">/**********************************************************************</span>&nbsp;</span></li><li class="alt"><span><span class="comment">*PHP&nbsp;eval&nbsp;gzinflate&nbsp;base64_decode&nbsp;str_rot13加密解密脚本&nbsp;By:Neeao</span>&nbsp;</span></li><li><span><span class="comment">*目前只写了针对四种组合的,其他组合的可参考注释自行修改：</span>&nbsp;</span></li><li class="alt"><span><span class="comment">*1.eval(gzinflate(str_rot13(base64_decode(</span>&nbsp;</span></li><li><span><span class="comment">*2.eval(gzinflate(base64_decode(</span>&nbsp;</span></li><li class="alt"><span><span class="comment">*3.gzinflate(base64_decode(base64_decode(str_rot13(</span>&nbsp;</span></li><li><span><span class="comment">*4.eval(gzinflate(base64_decode(str_rot13(</span>&nbsp;</span></li><li class="alt"><span><span class="comment">*Http://Neeao.com</span>&nbsp;</span></li><li><span><span class="comment">*2009-09-28</span>&nbsp;</span></li><li class="alt"><span><span class="comment">***********************************************************************/</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="vars">$filename</span><span>=</span><span class="string">'code.php'</span><span>;</span><span class="comment">//要解密的文件</span><span>&nbsp;</span></span></li><li><span><span class="vars">$handle</span><span>&nbsp;=&nbsp;</span><span class="func">fopen</span><span>(</span><span class="vars">$filename</span><span>,&nbsp;</span><span class="string">&quot;r&quot;</span><span>);&nbsp;</span></span></li><li class="alt"><span><span class="vars">$contents</span><span>&nbsp;=&nbsp;</span><span class="func">fread</span><span>(</span><span class="vars">$handle</span><span>,&nbsp;</span><span class="func">filesize</span><span>&nbsp;(</span><span class="vars">$filename</span><span>));&nbsp;</span></span></li><li><span><span class="vars">$contents_arr</span><span>=</span><span class="func">explode</span><span>(</span><span class="string">'NeeaoNeeao'</span><span>,htmlspecialchars(decode(</span><span class="vars">$contents</span><span>)));&nbsp;</span></span></li><li class="alt"><span><span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;此代码被加密了&quot;</span><span>.</span><span class="vars">$contents_arr</span><span>[0].</span><span class="string">&quot;层,内容如下：&lt;br&gt;\n&quot;</span><span>;&nbsp;</span></span></li><li><span><span class="func">echo</span><span>&nbsp;</span><span class="vars">$contents_arr</span><span>[1];&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="comment">/*</span>&nbsp;</span></li><li class="alt"><span><span class="comment">解密主函数</span>&nbsp;</span></li><li><span><span class="comment">$Str，要解密的文件内容</span>&nbsp;</span></li><li class="alt"><span><span class="comment">*/</span><span>&nbsp;</span></span></li><li><span><span class="keyword">function</span><span>&nbsp;decode(</span><span class="vars">$str</span><span>,</span><span class="vars">$i</span><span>=0)&nbsp;</span></span></li><li class="alt"><span>{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="string">&quot;&quot;</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//eval(gzinflate(str_rot13(base64_decode(</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//先正则查找是否相关组合加密的，base64编码后的正则是：[A-Za-z0-9\/\+=]</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(preg_match(</span><span class="string">&quot;/(eval\(gzinflate\(str_rot13\(base64_decode\(')([A-Za-z0-9\/\+=]*)'/&quot;</span><span>,</span><span class="vars">$str</span><span>,</span><span class="vars">$x</span><span>))&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//替换掉没用的字符，获取加密后的密文</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;eval(gzinflate(str_rot13(base64_decode('&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$x</span><span>[0]);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;'&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//变量i是用来判断加密层数的，初始值为0，解密一次，层数加一</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$i</span><span>++;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//采用相关组合解密</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=gzinflate(</span><span class="func">str_rot13</span><span>(</span><span class="func">base64_decode</span><span>(</span><span class="vars">$content</span><span>)));&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//递归判断下是不是已经结束了，没结束继续重复解密</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=decode(</span><span class="vars">$content</span><span>,</span><span class="vars">$i</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//eval(gzinflate(base64_decode(</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">elseif</span><span>(preg_match(</span><span class="string">&quot;/eval\(gzinflate\(base64_decode\('[A-Za-z0-9\/\+=]*'/&quot;</span><span>,</span><span class="vars">$str</span><span>,</span><span class="vars">$y</span><span>))&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;eval(gzinflate(base64_decode('&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$y</span><span>[0]);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;'&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$i</span><span>++;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=gzinflate(</span><span class="func">base64_decode</span><span>(</span><span class="vars">$content</span><span>));&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=decode(</span><span class="vars">$content</span><span>,</span><span class="vars">$i</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//gzinflate(base64_decode(base64_decode(str_rot13(</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">elseif</span><span>(preg_match(</span><span class="string">&quot;/eval\(gzinflate\(base64_decode\(base64_decode\(str_rot13\('[A-Za-z0-9\/\+=]*'/&quot;</span><span>,</span><span class="vars">$str</span><span>,</span><span class="vars">$z</span><span>))&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;eval(gzinflate(base64_decode(base64_decode(str_rot13('&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$z</span><span>[0]);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;'&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$i</span><span>++;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=gzinflate(</span><span class="func">base64_decode</span><span>(</span><span class="func">base64_decode</span><span>(</span><span class="func">str_rot13</span><span>((</span><span class="vars">$content</span><span>)))));&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=decode(</span><span class="vars">$content</span><span>,</span><span class="vars">$i</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//eval(gzinflate(base64_decode(str_rot13(</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">elseif</span><span>(preg_match(</span><span class="string">&quot;/eval\(gzinflate\(base64_decode\(str_rot13\('[A-Za-z0-9\/\+=]*'/&quot;</span><span>,</span><span class="vars">$str</span><span>,</span><span class="vars">$m</span><span>))&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;eval(gzinflate(base64_decode(str_rot13('&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$m</span><span>[0]);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;'&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$i</span><span>++;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=gzinflate(</span><span class="func">base64_decode</span><span>(</span><span class="func">str_rot13</span><span>((</span><span class="vars">$content</span><span>))));&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=decode(</span><span class="vars">$content</span><span>,</span><span class="vars">$i</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="vars">$i</span><span>.</span><span class="string">&quot;NeeaoNeeao&quot;</span><span>.</span><span class="vars">$str</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="vars">$content</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>}&nbsp;</span></li><li class="alt"><span>?&gt;&nbsp;</span></li></ol></pre>
<p>在线版地址：<a href="http://neeao.com/tools/decode/index_eval.php">http://neeao.com/tools/decode/index_eval.php</a></p>]]></description>
			<link>http://neeao.com/archives/17/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-09-28 12:18</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/16/</guid>
			<title>一个PHP webshell检查shell脚本</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>昨天晚上电脑里翻东西翻出来的，2008/7/17写的。</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>#!/bin/sh&nbsp;</span></span></li><li><span>#************************************************************&nbsp;</span></li><li class="alt"><span>#WebShell&nbsp;Check&nbsp;Shell&nbsp;for&nbsp;PHP&nbsp;</span></li><li><span>#By:Neeao&nbsp;</span></li><li class="alt"><span>#2008/7/17&nbsp;v1.0&nbsp;beta&nbsp;&nbsp;</span></li><li><span>#************************************************************&nbsp;</span></li><li class="alt"><span><span class="attribute">HOSTIP</span><span>=`ifconfig&nbsp;eth0&nbsp;|grep&nbsp;'inet&nbsp;addr'|awk&nbsp;'{print&nbsp;$2;}'|cut&nbsp;-d:&nbsp;-f2`&nbsp;</span></span></li><li><span>#<span class="attribute">STR</span><span>=`expr&nbsp;index&nbsp;$HOSTIP&nbsp;&quot;192.168&quot;`&nbsp;</span></span></li><li class="alt"><span>#if&nbsp;[&nbsp;${STR}&nbsp;-eq&nbsp;1&nbsp;]&nbsp;&nbsp;</span></li><li><span>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;</span></li><li class="alt"><span>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">HOSTIP</span><span>=`ifconfig&nbsp;eth1&nbsp;|grep&nbsp;'inet&nbsp;addr'|awk&nbsp;'{print&nbsp;$2;}'|cut&nbsp;-d:&nbsp;-f2`&nbsp;</span></span></li><li><span>#fi&nbsp;</span></li><li class="alt"><span>echo&nbsp;$HOSTIP&nbsp;</span></li><li><span><span class="attribute">LogFile</span><span>=/tmp/$HOSTIP.log&nbsp;</span></span></li><li class="alt"><span>rm&nbsp;-rf&nbsp;$LogFile&nbsp;</span></li><li><span>date&nbsp;+%Y-%m-%d/%H:%M&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;</span></span></li><li><span>echo&nbsp;&quot;&nbsp;---------------------------------------------------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;&quot;|Executive&nbsp;Order&nbsp;function:exec(\|system(\|passthru(\|shell_exec(\|popen(\|proc_open(\|pcntl_exec(&nbsp;&nbsp;|&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;</span></span></li><li><span>echo&nbsp;&quot;&nbsp;---------------------------------------------------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>grep&nbsp;-in&nbsp;'exec(\|system(\|passthru(\|shell_exec(\|popen(\|proc_open(\|pcntl_exec('&nbsp;-R&nbsp;*&nbsp;|&nbsp;grep&nbsp;-iv&nbsp;'_exec'&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>echo&nbsp;&quot;&nbsp;-------------------------------------------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;&quot;|Deformation&nbsp;of&nbsp;the&nbsp;back&nbsp;door&nbsp;coding:eval(\|base64_decode(\|gzinflate(\|gzuncompress(\|chr(&nbsp;|&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>echo&nbsp;&quot;&nbsp;--------------------------------------------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>grep&nbsp;-in&nbsp;&quot;eval(\|base64_decode(\|gzinflate(\|gzuncompress(\|chr(&quot;&nbsp;-R&nbsp;*&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>echo&nbsp;&quot;&nbsp;-----------------------------------------------------------------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;&quot;|File&nbsp;operations&nbsp;function:dl(\|fopen(\|readfile(\|file(\|file_get_contents(\|opendir(\|chdir(\|fwrite(\|unlink(\|glob(|&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;&nbsp;</span></span></li><li><span>echo&nbsp;&quot;&nbsp;-----------------------------------------------------------------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>grep&nbsp;-in&nbsp;&quot;dl(\|fopen(\|readfile(\|file(\|file_get_contents(\|opendir(\|chdir(\|fwrite(\|unlink(\|glob(&quot;&nbsp;-R&nbsp;*&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>echo&nbsp;&quot;----------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;&quot;|Files&nbsp;inculde&nbsp;bug:include|require|&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>echo&nbsp;&quot;----------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>grep&nbsp;-in&nbsp;&quot;include.*\$.\|require.*\$.&quot;&nbsp;-R&nbsp;*&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>echo&nbsp;&quot;---------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;&quot;|Risk&nbsp;code&nbsp;Keyword:SQLyog\|phpAdsNew\|huansuan\|fckeditor|&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>echo&nbsp;&quot;--------------------------------------------------------&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>echo&nbsp;-e&nbsp;&quot;\n&quot;&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li><span>grep&nbsp;-in&nbsp;&quot;SQLyog\|phpAdsNew\|huansuan\|fckeditor&quot;&nbsp;-R&nbsp;*&nbsp;<span class="tag">&gt;</span><span class="tag">&gt;</span><span>&nbsp;$LogFile&nbsp;</span></span></li><li class="alt"><span>cd&nbsp;/tmp&nbsp;</span></li><li><span>tar&nbsp;-zcvf&nbsp;$HOSTIP.tar.gz&nbsp;$HOSTIP.log&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
			<link>http://neeao.com/archives/16/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-09-26 11:07</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/11/</guid>
			<title>微盾PHP脚本加密专家解密算法</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>今天工作中某合作商拿过来代码让检查安全，一看代码加密了，比较汗，类似下面代码：</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;</span><span class="comment">//&nbsp;This&nbsp;file&nbsp;is&nbsp;protected&nbsp;by&nbsp;copyright&nbsp;law&nbsp;&amp;&nbsp;provided&nbsp;under&nbsp;license.&nbsp;Copyright(C)&nbsp;2005-2009&nbsp;www.vidun.com,&nbsp;All&nbsp;rights&nbsp;reserved.</span><span>&nbsp;</span></span></li><li><span><span class="vars">$OOO0O0O00</span><span>=</span><span class="keyword">__FILE__</span><span>;</span><span class="vars">$OOO000000</span><span>=urldecode(</span><span class="string">'%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72'</span><span>);</span><span class="vars">$OO00O0000</span><span>=28;</span><span class="vars">$OOO0000O0</span><span>=</span><span class="vars">$OOO000000</span><span>{4}.</span><span class="vars">$OOO000000</span><span>{9}.</span><span class="vars">$OOO000000</span><span>{3}.</span><span class="vars">$OOO000000</span><span>{5};</span><span class="vars">$OOO0000O0</span><span>.=</span><span class="vars">$OOO000000</span><span>{2}.</span><span class="vars">$OOO000000</span><span>{10}.</span><span class="vars">$OOO000000</span><span>{13}.</span><span class="vars">$OOO000000</span><span>{16};</span><span class="vars">$OOO0000O0</span><span>.=</span><span class="vars">$OOO0000O0</span><span>{3}.</span><span class="vars">$OOO000000</span><span>{11}.</span><span class="vars">$OOO000000</span><span>{12}.</span><span class="vars">$OOO0000O0</span><span>{7}.</span><span class="vars">$OOO000000</span><span>{5};</span><span class="vars">$O0O0000O0</span><span>=</span><span class="string">'OOO0000O0'</span><span>;</span><span class="func">eval</span><span>(($</span><span class="vars">$O0O0000O0</span><span>(</span><span class="string">'JE9PME9PMDAwMD0kT09PMDAwMDAwezE3fS4kT09PMDAwMDAwezEyfS4kT09PMDAwMDAwezE4fS4kT09PMDAwMDAwezV9LiRPT08wMDAwMDB7MTl9O2lmKCEwKSRPMDAwTzBPMDA9JE9PME9PMDAwMCgkT09PME8wTzAwLCdyYicpOyRPTzBPTzAwME89JE9PTzAwMDAwMHsxN30uJE9PTzAwMDAwMHsyMH0uJE9PTzAwMDAwMHs1fS4kT09PMDAwMDAwezl9LiRPT08wMDAwMDB7MTZ9OyRPTzBPTzAwTzA9JE9PTzAwMDAwMHsxNH0uJE9PTzAwMDAwMHswfS4kT09PMDAwMDAwezIwfS4kT09PMDAwMDAwezB9LiRPT08wMDAwMDB7MjB9OyRPTzBPTzAwME8oJE8wMDBPME8wMCwxMjU5KTskT08wME8wME8wPSgkT09PMDAwME8wKCRPTzBPTzAwTzAoJE9PME9PMDAwTygkTzAwME8wTzAwLDM4MCksJ0VudGVyeW91d2toUkhZS05XT1VUQWFCYkNjRGRGZkdnSWlKakxsTW1QcFFxU3NWdlh4WnowMTIzNDU2Nzg5Ky89JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs='</span><span>)));</span><span class="keyword">return</span><span>;?&gt;&nbsp;</span></span></li><li class="alt"><span>kr9NHenNHenNHe1zfukgFMaXdoyjcUImb19oUAxyb18mRtwmwJ4LT09NHr8XTzEXRJwmwJXPkr9NTzEXHenNHtILT08XT08XHr8XhtONTznNTzEXHr8Pkr8XHenNHr8XHtXLT08XHr8XHeEXhUXmOB50cbk5d3a3D2iUUylRTlfNaaOnCAkJW2YrcrcMO2fkDApQToxYdanXAbyTF1c2BuiDGjExHjH0YTC3KeLqRz0mRtfnWLYrOAcuUrlhU0xYTL9WAakTayaBa1icBMyJC2OlcMfPDBpqdo1Vd3nxFmY0fbc3Gul6HerZHzW1YjF4KUSvkZLphUL7cMYSd3YlhtONHeEXTznNHeEpK2a2CBXPkr9NHenNHenNHtL7eWplC2ivwunPFolVcM8PhTSYtI==&nbsp;</span></li></ol></pre>
<p>很明显，是使用了某种PHP代码混淆工具混淆了下，Google一把，原来是使用的微盾PHP脚本加密专家加密的，网上搜了下，没找到免费的解密工具，于是乎，自己就研究了下，写了个解密算法，share下，给遇到同样问题的朋友一个方便。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另外需要说明的是，我测试，本地解密出来的代码可以阅读的，由于代码混淆过，可能还原出来的有些地方和原代码有出入，有需要可自行修改之。</p>
<p>更新：</p>
<p>2009-09-16</p>
<p>添加了自动获取要截取的字符串长度，更通用了。</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;</span></span></li><li><span><span class="comment">/***********************************</span>&nbsp;</span></li><li class="alt"><span><span class="comment">*威盾PHP加密专家解密算法&nbsp;By：Neeao</span>&nbsp;</span></li><li><span><span class="comment">*http://Neeao.com</span>&nbsp;</span></li><li class="alt"><span><span class="comment">*2009-09-10</span>&nbsp;</span></li><li><span><span class="comment">***********************************/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="vars">$filename</span><span>=</span><span class="string">&quot;play-js.php&quot;</span><span>;</span><span class="comment">//要解密的文件</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="vars">$lines</span><span>&nbsp;=&nbsp;file(</span><span class="vars">$filename</span><span>);</span><span class="comment">//0,1,2行</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="comment">//第一次base64解密</span><span>&nbsp;</span></span></li><li><span><span class="vars">$content</span><span>=</span><span class="string">&quot;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">if</span><span>(preg_match(</span><span class="string">&quot;/O0O0000O0\('.*'\)/&quot;</span><span>,</span><span class="vars">$lines</span><span>[1],</span><span class="vars">$y</span><span>))&nbsp;</span></span></li><li><span>{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;O0O0000O0('&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$y</span><span>[0]);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;')&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$content</span><span>=</span><span class="func">base64_decode</span><span>(</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li><span>}&nbsp;</span></li><li class="alt"><span><span class="comment">//第一次base64解密后的内容中查找密钥</span><span>&nbsp;</span></span></li><li><span><span class="vars">$decode_key</span><span>=</span><span class="string">&quot;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">if</span><span>(preg_match(</span><span class="string">&quot;/\),'.*',/&quot;</span><span>,</span><span class="vars">$content</span><span>,</span><span class="vars">$k</span><span>))&nbsp;</span></span></li><li><span>{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$decode_key</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;),'&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$k</span><span>[0]);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$decode_key</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;',&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$decode_key</span><span>);&nbsp;</span></span></li><li class="alt"><span>}&nbsp;</span></li><li><span><span class="comment">//查找要截取字符串长度</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="vars">$str_length</span><span>=</span><span class="string">&quot;&quot;</span><span>;&nbsp;</span></span></li><li><span><span class="keyword">if</span><span>(preg_match(</span><span class="string">&quot;/,\d*\),/&quot;</span><span>,</span><span class="vars">$content</span><span>,</span><span class="vars">$k</span><span>))&nbsp;</span></span></li><li class="alt"><span>{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$str_length</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;),&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$k</span><span>[0]);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$str_length</span><span>=</span><span class="func">str_replace</span><span>(</span><span class="string">&quot;,&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>,</span><span class="vars">$str_length</span><span>);&nbsp;</span></span></li><li><span>}&nbsp;</span></li><li class="alt"><span><span class="comment">//截取文件加密后的密文</span><span>&nbsp;</span></span></li><li><span><span class="vars">$Secret</span><span>=</span><span class="func">substr</span><span>(</span><span class="vars">$lines</span><span>[2],</span><span class="vars">$str_length</span><span>);&nbsp;</span></span></li><li class="alt"><span><span class="comment">//echo&nbsp;$Secret;</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="comment">//直接还原密文输出</span><span>&nbsp;</span></span></li><li><span><span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;?php\n&quot;</span><span>.</span><span class="func">base64_decode</span><span>(</span><span class="func">strtr</span><span>(</span><span class="vars">$Secret</span><span>,</span><span class="vars">$decode_key</span><span>,</span><span class="string">'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'</span><span>)).</span><span class="string">&quot;?&gt;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span>?&gt;&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
			<link>http://neeao.com/archives/11/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-09-10 13:54</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/10/</guid>
			<title>命令行驱动加载小工具</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>这两天在捣鼓开发驱动，调试过程要加载驱动，网上找了几个使用着都不符合自己的习惯，于是乎自己网上找了代码，修改了下，改了一个命令行版的。</p>
<p>使用方法：</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>C:\wdk</span><span class="tag">&gt;</span><span>Driver.exe&nbsp;</span></span></li><li><span>命令行驱动加载工具&nbsp;By:Neeao&nbsp;</span></li><li class="alt"><span>Http://Neeao.com&nbsp;</span></li><li><span>使用方法:&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Driver.exe&nbsp;-start&nbsp;安装的驱动名&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Driver.exe&nbsp;-stop&nbsp;安装的驱动名&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Driver.exe&nbsp;-unload&nbsp;安装的驱动名&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Driver.exe&nbsp;-load&nbsp;安装的驱动名&nbsp;驱动路径&nbsp;</span></li></ol></pre>
<p>卸载功能使用的时候，无需停止驱动后再卸载，可直接卸载，如果停止驱动后再卸载的话，会爆出一个1062的错误，无需理会，一样可以卸载成功的。</p>
<p><a href="/attachments/Driver.rar">下载</a></p>]]></description>
			<link>http://neeao.com/archives/10/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-09-02 16:17</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/8/</guid>
			<title>某进程资源占有率查看器</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>一直想找这么个工具，可以查看指定进程的CPU占有率、内存占有率、IO情况等。Sysinternals Process Explorer有这个功能，不过是图表显示的，有时候看着不方便，于是自己写了这个小工具，来实时查看某进程的CPU占有率等。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 程序说明：</p>
<p>&nbsp;&nbsp;&nbsp; 1.开发环境：Windows xp sp2+VC7.1</p>
<p>&nbsp;&nbsp;&nbsp; 2.使用方法：</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>E:\VC7.1\process\Release</span><span class="tag">&gt;</span><span>process.exe&nbsp;</span></span></li><li><span>-------------------------------&nbsp;</span></li><li class="alt"><span>某进程资源占有率查看器&nbsp;By:Neeao&nbsp;</span></li><li><span>http://neeao.com&nbsp;</span></li><li class="alt"><span>使用方法：&nbsp;</span></li><li><span>process.exe&nbsp;进程ID&nbsp;</span></li><li class="alt"><span>-------------------------------&nbsp;</span></li></ol></pre>
<p>[attach=20]</p>
<p><a href="/attachments/process.rar">下载</a></p>]]></description>
			<link>http://neeao.com/archives/8/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-08-27 13:57</pubDate>
		</item>
		<item>
			<guid>http://neeao.com/archives/5/</guid>
			<title>PHP webshell检查工具 python版</title>
			<author>Neeao</author>
			<description><![CDATA[Neeao's Blog ( http://neeao.com/ ) : <p>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Web安全应急响应中，不免要检查下服务器上是否被上传了webshell，手工检查比较慢，就写了个脚本来检查了。Windows平台下已经有了lake2写的雷克图的了，一般的检查也够用了，写了个Linux下面的，用python写的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.使用方法：find.py 目录名称</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. 主要是采用python正则表达式来匹配的，可以在keywords中添加自己定义的正则，格式：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="background-color: rgb(192, 192, 192);"> [&quot;eval\(\$\_POST&quot;,&quot;发现PHP一句话木马！&quot;]</span>&nbsp; #前面为正则，后面为对这个正则的描述，会在日志中显示。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.修改下文件后缀和关键字的正则表达式就可以成为其他语言的webshell检查工具了，^_^。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.开发环境是windows xp+ActivePython 2.6.2.2，家里电脑没有Linux环境，懒得装虚拟机了，明天到公司Linux虚拟机测试下。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5.目前只是一个框架，随后慢慢完善。</p>
<pre><ol class="dp-py"><li class="alt"><span><span class="comment">#coding:gbk</span><span>&nbsp;</span></span></li><li><span><span class="keyword">import</span><span>&nbsp;os,sys&nbsp;</span></span></li><li class="alt"><span><span class="keyword">import</span><span>&nbsp;re&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span>findtype=[<span class="string">'.php'</span><span>，</span><span class="string">'.inc'</span><span>]&nbsp;</span><span class="comment">#要检查的文件后缀类型</span><span>&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="comment">#要检查的关键字正则表达式和日志中的描述，是一个二维数组。</span><span>&nbsp;</span></span></li><li><span>keywords=[&nbsp;[<span class="string">&quot;eval\(\$\_POST&quot;</span><span>,</span><span class="string">&quot;发现PHP一句话木马！&quot;</span><span>],\&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class="string">&quot;(system|shell_exec|exec|popen)&quot;</span><span>,</span><span class="string">&quot;发现PHP命令执行函数!&quot;</span><span>]\&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>writelog&nbsp;=&nbsp;open(<span class="string">'log.txt'</span><span>,&nbsp;</span><span class="string">'w+'</span><span>)&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="keyword">def</span><span>&nbsp;checkfile(filename):&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;fp=open(filename)&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;content&nbsp;=&nbsp;fp.read()&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;keyword&nbsp;</span><span class="keyword">in</span><span>&nbsp;keywords:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;re.search(keyword[</span><span class="number">0</span><span>],content,re.I):&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log=<span class="string">&quot;%s:%s&quot;</span><span>&nbsp;%&nbsp;(filename,keyword[</span><span class="number">1</span><span>])&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">#print&nbsp;log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;&gt;&gt;writelog,log&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;fp.close()&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="keyword">def</span><span>&nbsp;checkdir(dirname):&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">try</span><span>:&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls=os.listdir(dirname)&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">except</span><span>:&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">'access&nbsp;deny'</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>:&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;l&nbsp;</span><span class="keyword">in</span><span>&nbsp;ls:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp=os.path.join(dirname,l)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(os.path.isdir(temp)):&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;checkdir(temp)&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ext&nbsp;=&nbsp;temp[temp.rindex(<span class="string">'.'</span><span>):]&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;ext&nbsp;</span><span class="keyword">in</span><span>&nbsp;findtype:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;checkfile(temp)&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="keyword">if</span><span>&nbsp;__name__==</span><span class="string">&quot;__main__&quot;</span><span>:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;PHP&nbsp;webshell&nbsp;check&nbsp;for&nbsp;Python！&quot;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;By:Neeao&quot;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;http://Neeao.com&quot;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;len(sys.argv)&nbsp;&lt;&nbsp;</span><span class="number">2</span><span>:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;%s&nbsp;C:\\&quot;</span><span>&nbsp;%&nbsp;sys.argv[</span><span class="number">0</span><span>]&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;Check&nbsp;start!&quot;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirs=sys.argv[<span class="number">1</span><span>:]&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">#print&nbsp;dirs[0]</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;os.path.exists(dirs[</span><span class="number">0</span><span>]):&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;checkdir(dirs[<span class="number">0</span><span>])&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>:&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;Dir:'%s'&nbsp;not&nbsp;exists!&quot;</span><span>&nbsp;%&nbsp;dirs[</span><span class="number">0</span><span>]&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;Check&nbsp;finsh!&quot;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span>writelog.close()&nbsp;</span></li></ol></pre>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [attach=2]</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p>]]></description>
			<link>http://neeao.com/archives/5/</link>
			<category domain="http://neeao.com/category/neeao/">作品发布</category>
			<pubDate>2009-08-23 20:25</pubDate>
		</item>
	</channel>
</rss>
