<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Herozyf's Blog]]></title> 
<link>http://www.lovecns.com/index.php</link> 
<description><![CDATA[网络探索者的窝]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Herozyf's Blog]]></copyright>
<item>
<link>http://www.lovecns.com/post/708/</link>
<title><![CDATA[Symbian系统短信锁死漏洞攻击与解决，手机也黑客]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[安全防护]]></category>
<pubDate>Sat, 03 Jan 2009 10:39:46 +0000</pubDate> 
<guid>http://www.lovecns.com/post/708/</guid> 
<description>
<![CDATA[ 
	诺基亚s60短信漏洞是利用了symbian特定版本”短信处理引擎“的一个设计错误而产生的”buffer overflow“，或称”溢出式“攻击，从而达到&quot;DOS&quot; (Deny of Service)的攻击效果。<br/><br/>这个攻击的实际工作原理是：当受害手机收到危害短信后，手机的短信处理模块会试图解析，但是因为模块设计中的缺陷，当遇到这条短信后，手机的短信处理模块会出错，但是这个模块仍然会不停的重试，从而最终导致短信处理模块陷于这个错误，无法继续接受后续其他的正常短信。<br/><br/>危害：<br/>受害手机收到攻击短信后，收不到以后的所有短信，并且看不到攻击短信本身（攻击于无形，受害者压根不知情。由于查短信话单只能查发送的而查不到接收的，所以隐蔽性很高）.使用其他任意手机给中招手机发送短信，将无法送达（发送延缓） ，重新启动中招手机，问题依旧。<br/><br/>受影响的手机：&nbsp;&nbsp; <br/>采用 Symbain Series 60 的手机，覆盖了 诺基亚、三星、索尼等品牌<br/><br/>代表机型：<br/>S60 3rd Edition, Feature Pack 1 (S60 3.1):<br/>Nokia E90 Communicator<br/>Nokia E71<br/>Nokia E66<br/><span style="font-size: 14px;"><span style="color: #FF0000;">Nokia E51_（俺用地，汗）</span></span> <br/>Nokia N95 8GB<br/>Nokia N95<br/>Nokia N82<br/>Nokia N81 8GB<br/>Nokia N81<br/>Nokia N76<br/><br/>Nokia 6290<br/>Nokia 6124 classic<br/>Nokia 6121 classic<br/>Nokia 6120 classic<br/>Nokia 6110 Navigator<br/>Nokia 5700 XpressMusic<br/><br/>S60 3rd Edition, initial release (S60 3.0):<br/>Nokia E70<br/>Nokia E65<br/>Nokia E62<br/>Nokia E61i<br/>Nokia E61<br/>Nokia E60<br/>Nokia E50<br/>Nokia N93i<br/>Nokia N93<br/>Nokia N92<br/>Nokia N91 8GB<br/>Nokia N91&nbsp;&nbsp;<br/>Nokia N80<br/>Nokia N77<br/>Nokia N73<br/>Nokia N71<br/>Nokia 5500<br/>Nokia 3250<br/><br/>S60 2nd Edition, Feature Pack 3 (S60 2.8):<br/>Nokia N90<br/>Nokia N72<br/>Nokia N70<br/><br/>S60 2nd Edition, Feature Pack 2 (S60 2.6):<br/>Nokia 6682<br/>Nokia 6681<br/>Nokia 6680<br/>Nokia 6630<br/><br/>攻击方法（只供研究测试）：<br/>以email格式（诺基亚手机发送短信时可选此选项，未提供该选项的可能需要自行更改相应标志位，值为0x32） 发送123456789@123456789.1234567890123&nbsp;&nbsp;即可。 <br/><br/>HappyNewYearANDHappySpringFestival@hello.hi 也行，只要满足xxx@yyy.zzz格式，不少于32个字符，并且以空格结尾就行。<br/><br/>注：对于S60 3.1版本，攻击短信需要发送11次才生效。<br/><br/>通过国外研究者的报告以及我们自己的验证，发现： <br/>1.S60 2.8/3.1系统的诺基亚手机，在收到十余条该短信时会出现“内存不足，请先删除一些短信”类似提示，并且无法收到新短信。 <br/>2.其他上述提及系统的诺基亚手机，收到一条该短信后便无法收到新短信，且无任何提示。 <br/>鉴于该漏洞的严重危害性，提醒所有使用上述机型的机友： <br/>1.S60 3.1系统的手机，进入短信息收件箱时，出现“内存不足，请删除一些短信”等提示时，很可能已经中招。 <br/>2.其他上述提及但非3.1系统的手机，长时间收不到短信息。<br/><br/><br/>解决方案：<br/>检测是否中招：自己给自己发送短信是否收到，或者发送hfcx给10086查余额。<br/><br/>中招的话按*#7370#格式化。格式化会丢失现有内存信息，包括电话本和短信等，记得先备份。<br/><br/>提供个漏洞扫描与专杀工具，安装后请重新启动手机杀毒。<br/><a href="attachment.php?fid=18">点击这里下载文件</a><br/><br/><br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%2589%258B%25E6%259C%25BA/" rel="tag">手机</a> , <a href="http://www.lovecns.com/tags/%25E5%25AE%2589%25E5%2585%25A8/" rel="tag">安全</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/707/</link>
<title><![CDATA[2009元旦快乐]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[心情日记]]></category>
<pubDate>Thu, 01 Jan 2009 00:48:34 +0000</pubDate> 
<guid>http://www.lovecns.com/post/707/</guid> 
<description>
<![CDATA[ 
	时光飞逝，岁月荏苒，转眼已告别了2008，迎来了崭新的2009年！<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;日历又要翻开新的一页<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;春姑娘又向我们款款走来<br/> <a href="http://www.lovecns.com/attachment.php?fid=17" class="highslide" onclick="return hs.expand(this)"><img src="http://www.lovecns.com/attachment.php?fid=17" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新的一年开始了，梳理“行装”，展望未来，心里却有着一种莫名的感动、温暖。在2008年一篇篇的文章里，一行行的文字中，那些个充满温情的画卷，那些个让人追忆的时光，那些个让人感动的留言，那些……<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;曾经活跃在2008年的人和事，蒙太奇般的在脑海中闪烁。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;闲暇给朋友们发了短信，收到了不少祝福，包涵着诸多含义。因为时代科技的进步，天涯不在遥远，感觉朋友离的很近很近。我崇尚的朋友之间的感觉是若即若离，好象接近，又好象不接近，其实主要的是没有忘记！现在大家都很忙，或者说疲于奔命，仔细想想朋友的聚会少了，大团圆的日子几乎不可能了。于是朋友间更需要理解了，误解是难免的，其实也是对朋友的考验。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;朋友有远近，当然也有三六九等。人生七十古来稀，大家能见面结识，其实也是修来得缘分呢，还是珍惜吧。郑板桥的“吃亏是福”很是欣赏，自己也早过了不惑之年，对得失已经不大看中了，基本放下了一半。……<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新年没有睡懒觉，起来写了点滴文字。目的是祝福我的朋友们和亲人们，牛年交好运，健康随身，事业顺心，家庭顺义，财运旺旺旺！！！<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后博主Herozyf祝福支持偶的新老朋友——新年快乐，万事如意，合家团圆，恭喜发财！<br/><br/><br/><br/><br/><br/><br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%2597%25A5%25E8%25AE%25B0/" rel="tag">日记</a> , <a href="http://www.lovecns.com/tags/%25E7%2594%259F%25E6%25B4%25BB/" rel="tag">生活</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/705/</link>
<title><![CDATA[山寨英语,很好很强大！]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[经典网文]]></category>
<pubDate>Sat, 27 Dec 2008 16:35:13 +0000</pubDate> 
<guid>http://www.lovecns.com/post/705/</guid> 
<description>
<![CDATA[ 
	01．we two who and who？<br/>　　咱俩谁跟谁啊？<br/><br/>02．how are you ? how old are you?<br/>　　怎么是你，怎么老是你？（我认为此最为经典）<br/><br/>03．you don`t bird me,I don`t bird you.<br/>　　你不鸟我，我也不鸟你。<br/><br/>04．you have seed I will give you some color to see see, brothers ！ Together up ！<br/>　　你有种，我要给你点颜色瞧瞧，兄弟们，一起上！<br/><br/>05．hello everybody!if you have something to say,then say!if you have nothing to say,go home!!<br/>　　有事起奏，无事退朝。<br/><br/>06．you me you me.<br/>　　彼此彼此。<br/><br/>07．You Give Me Stop!!<br/>　　你给我站住！<br/><br/>08．know is know noknow is noknow...<br/>　　知之为知之，不知为不知...<br/><br/>09．WATCH SISTER!<br/>　　表妹!<br/><br/>10．dragon born dragon,chicken born chicken,mouse&#039;son can make hole!!<br/>　　龙生龙，凤生凤，老鼠的儿子会打洞！<br/><br/>11．American Chinese not enough.<br/>　　美中不足。（小王子认为此也颇有些想象力。嘿嘿！）<br/><br/>12．one car come one car go ,two car pengpeng,people die.<br/>　　车祸现场描述。<br/><br/>13．heart flower angry open.<br/>　　心花怒放。<br/><br/>14．go past no mistake past.<br/>　　走过路过，不要错过。<br/><br/>15．小明：I am sorry!<br/>　　老外：I am sorry too!<br/>　　小明：I am sorry three!<br/>　　老外：What are you sorry for?<br/>　　小明：I am sorry five！<br/><br/>16．If you want money,I have no, if you want life,I have one!<br/>　　要钱没有，要命一条。<br/><br/>17．I call Li old big. Toyear 25.<br/>　　我叫李老大，今年25。<br/><br/>18．you have two down son。<br/>　　你有两下子。<br/><br/>19．as far as you go to die!!!<br/>　　有多远，死多远！！！<br/><br/>20．I give you face you don`t wanna face,you lose you face ,I turn my　face.<br/>　　给你脸你不要脸，你丢脸，我翻脸。<br/><br/>21. no three no four!<br/>　　不三不四！<br/><br/>22. seven up eight down!<br/>　　七上八下！<br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%2590%259E%25E7%25AC%2591/" rel="tag">搞笑</a> , <a href="http://www.lovecns.com/tags/%25E7%2594%259F%25E6%25B4%25BB/" rel="tag">生活</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/702/</link>
<title><![CDATA[QQ去广告+本地会员+显示IP外挂原理 ]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[代码诱惑]]></category>
<pubDate>Sat, 13 Dec 2008 12:07:43 +0000</pubDate> 
<guid>http://www.lovecns.com/post/702/</guid> 
<description>
<![CDATA[ 
	采用自动代码分析,支持QQ2007和QQ2008的全部版本,目前尚未支持采用全新架构的QQ2009<br/>下载 v81003+ IP数据库 81005<br/><br/>[本文针对QQ2007而写]<br/><br/>主要技术原理:<br/><br/>做IPQQ,那么这几个必备工具是不可缺的:OllyDbg,PEExplorer,DASM32,MFCSpy2<br/>QQ是基于接口调用架构的,这为窥探其内部提供了方便之门<br/><br/>0)&nbsp;&nbsp;&nbsp;&nbsp;经过分析,获知QQ获取IP信息是通过接口调用实现的,其步骤为<br/>IQQCore-&gt;IQQData-&gt;IQQUserDynData-&gt;dwIP方法<br/><br/>1)&nbsp;&nbsp;&nbsp;&nbsp;获得IQQCore.要获得此全局描述接口的方法有很多,最好的就是通过QQHelperDll.dll的 ?IsLogin@@YAHPAUIQQCore@@@Z方法获得,函数表达为int __cdecl IsLogin (struct IQQCore **).因为这个IsLogIn方法被QQ频繁调用,于是Hook这个函数,便能轻易获得IQQCore了<br/><br/>function IsLogin(pQQCore: Pointer): Integer; cdecl;<br/>begin<br/>&nbsp;&nbsp;Result := Call original Func;&nbsp;&nbsp;调用原函数<br/>&nbsp;&nbsp;pIQQCore := pQQCore;&nbsp;&nbsp;获得IQQCore<br/>end;<br/><br/>2)&nbsp;&nbsp;&nbsp;&nbsp;从IQQCore获得IQQData.这个事情好办,QQ的BasicCtrlDll.dll的?GetFriendQQData@@YAHPAUIQQCore@@KPAPAUIQQData@@@Z方法,就是从IQQCore和UIN获得IQQData,函数表达为int __cdecl GetFriendQQData(struct IQQCore *,unsigned long,struct IQQData * *)<br/><br/>asm<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// int __cdecl GetFriendQQData(struct IQQCore *,unsigned long,struct IQQData * *)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov eax, pIQQCore<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov edx, UIN&nbsp;&nbsp;// QQ Uin (QQ number)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lea ecx, Result&nbsp;&nbsp;// return = pIQQData<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push ecx<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push edx<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push eax<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call GetFriendQQData<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add esp, $C&nbsp;&nbsp;// fix call stack<br/>end;<br/><br/>3)&nbsp;&nbsp;&nbsp;&nbsp;从IQQData获得IQQUserDynData.很不幸,QQ没有直接提供该方法,只好DASM QQ的内部,来模拟此过程的调用.<br/>const<br/>&nbsp;&nbsp;szQQUSER_DYNAMIC_DATA : PChar = &#039;QQUSER_DYNAMIC_DATA&#039;;<br/>&nbsp;&nbsp;clsid_IQQData : TGUID = &#039;&#123;BA863A1E-C979-498A-975C-C501C4F310A3&#125;&#039;;<br/>asm<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// pIQQData = Pointer(IQQData);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov ecx, pIQQData<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov ecx, [ecx]&nbsp;&nbsp;// ecx = IQQData.vtbl<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov eax, pIQQData&nbsp;&nbsp;// this pIQQData<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lea edx, Result&nbsp;&nbsp;// return = pIQQUDD<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push edx<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lea edx, clsid_IQQData&nbsp;&nbsp;// clsid_IQQData<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push edx<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push szQQUSER_DYNAMIC_DATA<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push eax<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call [ecx + $54]&nbsp;&nbsp;// IQQData.vf_54h QQUSER_DYNAMIC_DATA proc entry<br/>end;<br/><br/>4)&nbsp;&nbsp;&nbsp;&nbsp;从IQQUserDynData获得IP信息.<br/>const<br/>&nbsp;&nbsp;szdwIP : PChar = &#039;dwIP&#039;;<br/>&nbsp;&nbsp;szwPort : PChar = &#039;wPort&#039;;<br/>asm<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// get Uin info<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov eax, pIQQUDD<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov ecx, [eax]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lea edx, dwIP<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push edx<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push szdwIP<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push eax　　　<br/>&nbsp;&nbsp;&nbsp;&nbsp; call [ecx + $34]&nbsp;&nbsp;// IQQUDD.vf_34h<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov eax, pIQQUDD<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov ecx, [eax]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lea edx, wPort<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push edx<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push szwPort<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push eax　　　<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call [ecx + $30]&nbsp;&nbsp;// IQQUDD.vf_30h<br/>end;<br/><br/>上面的代码,懂ASM的人很容易就能理解的,其实这些代码也是来自QQ的DASM工程.<br/>注意一下接口调用和Cdecl就行了,因为用Delphi写的,所以不好直接支持C++的thiscall,故采用BASM方式来调用~<br/><br/>至于去广告,把目录AD下全部文件和Dat下Ad.gif删除了,广告就不会出来了.<br/>可是这样QQ还是会下载新的广告的,怎么办呢?只好修改QQ内部了,这是属于破解的范畴,做起来也并不复杂.<br/><br/>DASM分析QQ.EXE即可查询到&quot;广告&quot;和&quot;下载逻辑&quot;的文本常量和OD查找字符串常量&quot;Download_Start&quot;,它的上面是&quot;SECTION_AD&quot;,然后把相关的地方NOP了就能使QQ不再下载广告.不同的版本要修改的地方不一样,这里就仅以QQ2007II Beta1为例<br/><br/>004E9D49&nbsp;&nbsp;&#124;.&nbsp;&nbsp;57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;edi<br/>004E9D4A&nbsp;&nbsp;&#124;.&nbsp;&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;eax<br/>004E9D4B&nbsp;&nbsp;&#124;.&nbsp;&nbsp;57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;edi<br/>004E9D4C&nbsp;&nbsp;&#124;.&nbsp;&nbsp;53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;ebx<br/>004E9D4D&nbsp;&nbsp;&#124;.&nbsp;&nbsp;68 EFB14E00&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;004EB1EF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;&nbsp;&nbsp;Entry address <br/>^ 这里是广告下载过程入口,到入口改为retn直接返回就OK了<br/>004E9D52&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 DE4EF2FF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;0040EC35<br/>004E9D57&nbsp;&nbsp;&#124;.&nbsp;&nbsp;83C4 14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp;&nbsp; esp, 14<br/>004E9D5A&nbsp;&nbsp;&#124;.&nbsp;&nbsp;BF 7CF55A00&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; edi, 005AF57C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;ASCII &quot;C:&#92;config_asam.ini&quot;<br/>004E9D5F&nbsp;&nbsp;&#124;.&nbsp;&nbsp;C745 10 60EA0&gt;mov&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [ebp+10], 0EA60<br/>004E9D66&nbsp;&nbsp;&#124;.&nbsp;&nbsp;57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;edi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; /FileName =&gt; &quot;C:&#92;config_asam.ini&quot;<br/>004E9D67&nbsp;&nbsp;&#124;.&nbsp;&nbsp;FF15 E0035400 call&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [&lt;&amp;KERNEL32.GetFileAtt&gt;; &#92;GetFileAttributesA<br/>004E9D6D&nbsp;&nbsp;&#124;.&nbsp;&nbsp;83F8 FF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmp&nbsp;&nbsp;&nbsp;&nbsp; eax, -1<br/>004E9D70&nbsp;&nbsp;&#124;.&nbsp;&nbsp;74 64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 004E9DD6<br/>004E9D72&nbsp;&nbsp;&#124;.&nbsp;&nbsp;A8 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test&nbsp;&nbsp;&nbsp;&nbsp;al, 10<br/>004E9D74&nbsp;&nbsp;&#124;.&nbsp;&nbsp;75 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jnz&nbsp;&nbsp;&nbsp;&nbsp; short 004E9DD6<br/>004E9D76&nbsp;&nbsp;&#124;.&nbsp;&nbsp;57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;edi<br/>004E9D77&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8D4D B8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea&nbsp;&nbsp;&nbsp;&nbsp; ecx, dword ptr [ebp-48]<br/>004E9D7A&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 657BFAFF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&lt;jmp.&amp;MFC42.#537_CString::CStrin&gt;<br/>004E9D7F&nbsp;&nbsp;&#124;.&nbsp;&nbsp;BF 84DB5500&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; edi, 0055DB84<br/>004E9D84&nbsp;&nbsp;&#124;.&nbsp;&nbsp;C645 FC 0C&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; byte ptr [ebp-4], 0C<br/>004E9D88&nbsp;&nbsp;&#124;.&nbsp;&nbsp;897D B4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [ebp-4C], edi<br/>004E9D8B&nbsp;&nbsp;&#124;.&nbsp;&nbsp;B8 70F55A00&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax, 005AF570&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;ASCII &quot;SECTION_AD&quot;<br/>004E9D90&nbsp;&nbsp;&#124;.&nbsp;&nbsp;C645 FC 0D&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; byte ptr [ebp-4], 0D<br/>004E9D94&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8BC8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, eax<br/>004E9D96&nbsp;&nbsp;&#124;.&nbsp;&nbsp;85C9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;ecx, ecx<br/>004E9D98&nbsp;&nbsp;&#124;.&nbsp;&nbsp;74 1A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 004E9DB4<br/>004E9D9A&nbsp;&nbsp;&#124;.&nbsp;&nbsp;B9 60F55A00&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, 005AF560&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;ASCII &quot;Download_Start&quot;<br/>004E9D9F&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8BD1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; edx, ecx<br/>004E9DA1&nbsp;&nbsp;&#124;.&nbsp;&nbsp;85D2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;edx, edx<br/>004E9DA3&nbsp;&nbsp;&#124;.&nbsp;&nbsp;74 0F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 004E9DB4<br/>004E9DA5&nbsp;&nbsp;&#124;.&nbsp;&nbsp;FF75 B8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [ebp-48]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; /IniFileName<br/>004E9DA8&nbsp;&nbsp;&#124;.&nbsp;&nbsp;6A 00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; &#124;Default = 0<br/>004E9DAA&nbsp;&nbsp;&#124;.&nbsp;&nbsp;51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;ecx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; &#124;Key =&gt; &quot;Download_Start&quot;<br/>004E9DAB&nbsp;&nbsp;&#124;.&nbsp;&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;eax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; &#124;Section =&gt; &quot;SECTION_AD&quot;<br/>004E9DAC&nbsp;&nbsp;&#124;.&nbsp;&nbsp;FF15 3C035400 call&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [&lt;&amp;KERNEL32.GetPrivate&gt;; &#92;GetPrivateProfileIntA<br/>004E9DB2&nbsp;&nbsp;&#124;.&nbsp;&nbsp;EB 02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jmp&nbsp;&nbsp;&nbsp;&nbsp; short 004E9DB6<br/>004E9DB4&nbsp;&nbsp;&#124;&gt;&nbsp;&nbsp;33C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp; eax, eax<br/>004E9DB6&nbsp;&nbsp;&#124;&gt;&nbsp;&nbsp;85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;eax, eax<br/>004E9DB8&nbsp;&nbsp;&#124;.&nbsp;&nbsp;74 09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 004E9DC3<br/>004E9DBA&nbsp;&nbsp;&#124;.&nbsp;&nbsp;69C0 E8030000 imul&nbsp;&nbsp;&nbsp;&nbsp;eax, eax, 3E8<br/>004E9DC0&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8945 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [ebp+10], eax<br/>004E9DC3&nbsp;&nbsp;&#124;&gt;&nbsp;&nbsp;C645 FC 0B&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; byte ptr [ebp-4], 0B<br/>004E9DC7&nbsp;&nbsp;&#124;.&nbsp;&nbsp;897D B4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [ebp-4C], edi<br/>004E9DCA&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8D4D B8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea&nbsp;&nbsp;&nbsp;&nbsp; ecx, dword ptr [ebp-48]<br/>004E9DCD&nbsp;&nbsp;&#124;.&nbsp;&nbsp;C645 FC 0B&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; byte ptr [ebp-4], 0B<br/>004E9DD1&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 D679FAFF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&lt;jmp.&amp;MFC42.#800_CString::~CStri&gt;<br/>004E9DD6&nbsp;&nbsp;&#124;&gt;&nbsp;&nbsp;68 A0F45A00&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;005AF4A0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;&nbsp;&nbsp;ASCII <br/><br/>&quot;D:&#92;QQ&#92;qqbuilder_QQ2007IIbeta1Proj_int&#92;Basic_QQ_VOB&#92;QQ&#92;QQMainApp&#92;QQCSCenterSubApp.cpp&quot;<br/>004E9DDB&nbsp;&nbsp;&#124;.&nbsp;&nbsp;B9 886C5B00&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, 005B6C88<br/>004E9DE0&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 997AFAFF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&lt;jmp.&amp;MFC42.#860_CString::operat&gt;<br/>004E9DE5&nbsp;&nbsp;&#124;.&nbsp;&nbsp;BF 906C5B00&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; edi, 005B6C90<br/>004E9DEA&nbsp;&nbsp;&#124;.&nbsp;&nbsp;68 40165400&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;00541640<br/>004E9DEF&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8BCF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, edi<br/>004E9DF1&nbsp;&nbsp;&#124;.&nbsp;&nbsp;C705 8C6C5B00&gt;mov&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [5B6C8C], 470<br/>004E9DFB&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 7E7AFAFF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&lt;jmp.&amp;MFC42.#860_CString::operat&gt;<br/>004E9E00&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8B45 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax, dword ptr [ebp+10]<br/>004E9E03&nbsp;&nbsp;&#124;.&nbsp;&nbsp;33D2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp; edx, edx<br/>004E9E05&nbsp;&nbsp;&#124;.&nbsp;&nbsp;B9 E8030000&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, 3E8<br/>004E9E0A&nbsp;&nbsp;&#124;.&nbsp;&nbsp;F7F1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;div&nbsp;&nbsp;&nbsp;&nbsp; ecx<br/>004E9E0C&nbsp;&nbsp;&#124;.&nbsp;&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;eax<br/>004E9E0D&nbsp;&nbsp;&#124;.&nbsp;&nbsp;68 40F55A00&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;005AF540<br/>004E9E12&nbsp;&nbsp;&#124;.&nbsp;&nbsp;68 38F55A00&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;005AF538&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;&nbsp;&nbsp;ASCII &quot;AD&#124;asam&quot;<br/>004E9E17&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 AE78F1FF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;004016CA<br/>004E9E1C&nbsp;&nbsp;&#124;.&nbsp;&nbsp;83C4 0C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp;&nbsp; esp, 0C<br/>004E9E1F&nbsp;&nbsp;&#124;.&nbsp;&nbsp;837D EC 00&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [ebp-14], 0<br/>004E9E23&nbsp;&nbsp;&#124;.&nbsp;&nbsp;74 17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 004E9E3C<br/>004E9E25&nbsp;&nbsp;&#124;.&nbsp;&nbsp;6A FF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;-1<br/>004E9E27&nbsp;&nbsp;&#124;.&nbsp;&nbsp;FF75 EC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [ebp-14]<br/>004E9E2A&nbsp;&nbsp;&#124;.&nbsp;&nbsp;56&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;esi<br/>004E9E2B&nbsp;&nbsp;&#124;.&nbsp;&nbsp;FF75 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [ebp+10]<br/>004E9E2E&nbsp;&nbsp;&#124;.&nbsp;&nbsp;6A 0B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;0B<br/>004E9E30&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 ED4CF2FF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;0040EB22<br/>004E9E35&nbsp;&nbsp;&#124;.&nbsp;&nbsp;83C4 14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp;&nbsp; esp, 14<br/>004E9E38&nbsp;&nbsp;&#124;.&nbsp;&nbsp;85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;eax, eax<br/>004E9E3A&nbsp;&nbsp;&#124;.&nbsp;&nbsp;74 3D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 004E9E79<br/>^ 这里是判断广告是否要下载, 直接JMP就可以跳过广告下载了<br/>004E9E3C&nbsp;&nbsp;&#124;&gt;&nbsp;&nbsp;68 A0F45A00&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;005AF4A0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;&nbsp;&nbsp;ASCII <br/><br/>&quot;D:&#92;QQ&#92;qqbuilder_QQ2007IIbeta1Proj_int&#92;Basic_QQ_VOB&#92;QQ&#92;QQMainApp&#92;QQCSCenterSubApp.cpp&quot;<br/>004E9E41&nbsp;&nbsp;&#124;.&nbsp;&nbsp;B9 886C5B00&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, 005B6C88<br/>004E9E46&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 337AFAFF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&lt;jmp.&amp;MFC42.#860_CString::operat&gt;<br/>004E9E4B&nbsp;&nbsp;&#124;.&nbsp;&nbsp;68 40165400&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;00541640<br/>004E9E50&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8BCF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, edi<br/>004E9E52&nbsp;&nbsp;&#124;.&nbsp;&nbsp;C705 8C6C5B00&gt;mov&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [5B6C8C], 476<br/>004E9E5C&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 1D7AFAFF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;&lt;jmp.&amp;MFC42.#860_CString::operat&gt;<br/>004E9E61&nbsp;&nbsp;&#124;.&nbsp;&nbsp;68 18F55A00&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;005AF518<br/>004E9E66&nbsp;&nbsp;&#124;.&nbsp;&nbsp;68 38F55A00&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;005AF538&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;&nbsp;&nbsp;ASCII &quot;AD&#124;asam&quot;<br/>004E9E6B&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 5A78F1FF&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;004016CA<br/>004E9E70&nbsp;&nbsp;&#124;.&nbsp;&nbsp;59&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp; ecx<br/>004E9E71&nbsp;&nbsp;&#124;.&nbsp;&nbsp;59&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp; ecx<br/>004E9E72&nbsp;&nbsp;&#124;.&nbsp;&nbsp;8BCB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; ecx, ebx<br/>004E9E74&nbsp;&nbsp;&#124;.&nbsp;&nbsp;E8 76130000&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;004EB1EF<br/>004E9E79&nbsp;&nbsp;&#124;&gt;&nbsp;&nbsp;8B45 EC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax, dword ptr [ebp-14]<br/>004E9E7C&nbsp;&nbsp;&#124;.&nbsp;&nbsp;33FF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;&nbsp;&nbsp; edi, edi<br/>004E9E7E&nbsp;&nbsp;&#124;.&nbsp;&nbsp;3BC7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;&nbsp;&nbsp;&nbsp; eax, edi<br/>004E9E80&nbsp;&nbsp;&#124;.&nbsp;&nbsp;74 09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 004E9E8B<br/><br/>可是广告窗口还是照样存在的,而且点击了仍旧会有响应的.这就靠外挂才好处理的.要找到QQ聊天窗口中任意一个WinControl的Handle就能轻松用代码干掉广告窗口的.<br/><br/>procedure DisableQQAd(Wnd: LongInt);<br/>label DoNext;<br/>var<br/>&nbsp;&nbsp;h, t: THandle;<br/>&nbsp;&nbsp;cn: array [0..254] of Char;<br/>&nbsp;&nbsp;function RemoveAdLabel(hStatic: THandle): Boolean;<br/>&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;Result := False;<br/>&nbsp;&nbsp;&nbsp;&nbsp;GetClassName(hStatic, @cn, SizeOf(cn));<br/>&nbsp;&nbsp;&nbsp;&nbsp;if cn = &#039;Static&#039; then&nbsp;&nbsp;// class name should be &quot;Static&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if GetWindowText(hStatic, @cn, SizeOf(cn)) &gt; 0 then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if Trim(cn) &lt;&gt; &#039;&#039; then&nbsp;&nbsp;// if Static control contain any Text<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DestroyWindow(hStatic);&nbsp;&nbsp;// remove it!<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Result := True;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br/>&nbsp;&nbsp;end;<br/>begin<br/>&nbsp;&nbsp;// get root Win control<br/>&nbsp;&nbsp;while GetParent(Wnd) &gt; 0 do Wnd := GetParent(Wnd);<br/>&nbsp;&nbsp;// remove QQ Ad url label<br/>&nbsp;&nbsp;h := GetWindow(Wnd, GW_CHILD or GW_HWNDFIRST);<br/>&nbsp;&nbsp;while h &gt; 0 do<br/>&nbsp;&nbsp;&nbsp;&nbsp;begin&nbsp;&nbsp;// search child controls in chat dialog root<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cn := &#039;&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// for QQ 2008 final or above<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if RemoveAdLabel(h) then goto DoNext;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// for QQ 2007 II to 2008 beta<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cn = &#039;#32770&#039; then&nbsp;&nbsp;// QQ frame<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin&nbsp;&nbsp;// searh child controls in frame control &quot;#32770&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h := GetWindow(h, GW_CHILD or GW_HWNDFIRST);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while h &gt; 0 do<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if RemoveAdLabel(h) then goto DoNext;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h := GetWindow(h, GW_HWNDNEXT);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h := GetWindow(h, GW_HWNDNEXT);<br/>&nbsp;&nbsp;&nbsp;&nbsp;end;<br/>&nbsp;&nbsp;DoNext:<br/>&nbsp;&nbsp;// remove QQ AD panel<br/>&nbsp;&nbsp;h := GetWindow(Wnd, GW_CHILD or GW_HWNDFIRST);<br/>&nbsp;&nbsp;while h &gt; 0 do<br/>&nbsp;&nbsp;&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cn := &#039;&#039;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetClassName(h, @cn, SizeOf(cn));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cn = &#039;#32770&#039; then&nbsp;&nbsp;// QQ frame<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h := GetWindow(h, GW_CHILD or GW_HWNDFIRST);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while h &gt; 0 do<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t := GetWindow(h, GW_CHILD or GW_HWNDFIRST);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if t &gt; 0 then&nbsp;&nbsp;// has child control<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetClassName(h, @cn, SizeOf(cn));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cn = &#039;Static&#039; then&nbsp;&nbsp;// found!<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DestroyWindow(t);&nbsp;&nbsp;// destroy Ad window&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#123; CreateWindow(&#039;Static&#039;, &#039;Hello world!!!&#039;, // 这里可以做什么?<br/>// 创建一个Form,用SetParent让你的Form附着在上面的,<br/>// 这样可以用你自己的窗口替换QQ的广告栏,TX一定会非常生气的,<br/>// 为了避免麻烦,最好还是不要做此类事情啦.这里只是讨论方法而已.<br/>// 如果要添加自己的Form,那么你还得用SetWindowLong来Hook WndProc过程,<br/>// 以用来处理WM_CLOSE,确保关闭聊天窗口时能释放你的Form. <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WS_VISIBLE or WS_CHILD or SS_LEFT,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0, 0, 242, 36, h, 0, h, nil); &#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h := GetWindow(h, GW_HWNDNEXT);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h := GetWindow(h, GW_HWNDNEXT);<br/>&nbsp;&nbsp;&nbsp;&nbsp;end;<br/>end;<br/><br/>问题是如何找到QQ聊天窗口中的任意个对象的Handle?<br/>方法可以是EnumWindows列举窗口,从标题栏入手,但是这个方法不保险.最好的做法就是<br/>Hook QQBaseClassInDll.dll中的函数,<br/>QQ2007为?SetUin@CAllInOneStatusBar@@QAEX_JH@Z<br/>QQ2007II Beta为?SetUin@CAllInOneStatusBar@@QAEX_JKH@Z<br/>这个函数用于设置QQ聊天窗口中对方号码的信息用的,调用此函数必定传递一个Handle,这个Handle必定在聊天窗口中的,于是一切好办,剩下要注意的就是Delphi不支持thiscall的,所以Hook这个函数必须用assembler方式.<br/>至于Handle在那里,用MFCSpy2分析就知道,在+0x20那里嘛~<br/>另外此函数同时传递对方的QQ号码,也是目前很多在窗口上现实IP显示的外挂所喜欢Hook的函数之一.<br/><br/>到此时,就显IP+去广告上一切OK了,花了俺2天功夫,大功告成!!<br/><br/>顺便公开另外一个去除广告的方法,此方法不必给QQ程序中打硬补丁,而且兼容性更理想,但是QQ广告下载还是必须Nop掉, 不然广告会照样下载而只是不显示而已.<br/>这就是BasicCtrlDll中的?IsVIP@@YAHPAUIQQCore@@@Z其原型为int __cdecl IsVIP(struct IQQCore *)<br/>和QQHelperDll.dll中的?GetSysBoolData@@YAHPBDAAHH@Z.<br/>OD分析QQAllInOne有:<br/><br/>03605EFF&nbsp;&nbsp;&nbsp;&nbsp;FF15 38506C03&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [&lt;&amp;BasicCtrlDll.IsVIP&gt;] ; BasicCtr.IsVIP<br/>* ^判断当前登陆的QQ是否为VIP,因为VIP用户是可以关闭QQ广告的<br/>03605F05&nbsp;&nbsp;&nbsp;&nbsp;8365 FC 00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [ebp-4], 0<br/>03605F09&nbsp;&nbsp;&nbsp;&nbsp;8BF0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp; esi, eax<br/>03605F0B&nbsp;&nbsp;&nbsp;&nbsp;8D45 FC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea&nbsp;&nbsp;&nbsp;&nbsp; eax, dword ptr [ebp-4]<br/>03605F0E&nbsp;&nbsp;&nbsp;&nbsp;6A 01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;1<br/>03605F10&nbsp;&nbsp;&nbsp;&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;eax<br/>03605F11&nbsp;&nbsp;&nbsp;&nbsp;68 E8A76D03&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;036DA7E8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; ASCII &quot;m_bMemberDisableAD&quot;<br/>03605F16&nbsp;&nbsp;&nbsp;&nbsp;FF15 206D6C03&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp;&nbsp;dword ptr [&lt;&amp;QQHelperDll.GetSysBoolData&#039;&gt;; QQHelper.GetSysBoolData<br/>* ^获取广告显示设置<br/>03605F1C&nbsp;&nbsp;&nbsp;&nbsp;83C4 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add&nbsp;&nbsp;&nbsp;&nbsp; esp, 10<br/>03605F1F&nbsp;&nbsp;&nbsp;&nbsp;85F6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;esi, esi<br/>03605F21&nbsp;&nbsp;&nbsp;&nbsp;5E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp; esi<br/>03605F22&nbsp;&nbsp;&nbsp;&nbsp;74 0B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 03605F2F<br/>* ^关键!!! 不是VIP就跳的,所以把这个NOP了<br/>03605F24&nbsp;&nbsp;&nbsp;&nbsp;837D FC 00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmp&nbsp;&nbsp;&nbsp;&nbsp; dword ptr [ebp-4], 0<br/>03605F28&nbsp;&nbsp;&nbsp;&nbsp;74 05&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short 03605F2F<br/>* ^关键!!! 没关闭AD就跳,所以再把这个NOP了<br/>03605F2A&nbsp;&nbsp;&nbsp;&nbsp;6A 01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp;&nbsp;1<br/>03605F2C&nbsp;&nbsp;&nbsp;&nbsp;58&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp; eax<br/>这样,就实现了去AD了<br/><br/>具体可以使直接NOP代码,或者采用Hook方法:<br/>function IsVIP(pQQCore: Pointer): Integer; cdecl;<br/>begin<br/>&nbsp;&nbsp;Result := 1;<br/>end;<br/><br/>function GetSysBoolData(AText: PChar; p: Pointer; bIsVIP: Boolean): Integer; cdecl;<br/>// int __cdecl GetSysBoolData(char const *,int &amp;,int)<br/>begin<br/>&nbsp;&nbsp;if AText = &#039;m_bMemberDisableAD&#039; then<br/>&nbsp;&nbsp;&nbsp;&nbsp; begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Integer(p^) := 1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Result := 1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit;<br/>&nbsp;&nbsp;&nbsp;&nbsp; end;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Result := Call original Func;&nbsp;&nbsp;调用原函数<br/>end;<br/><br/>说到这里,肯定有人会说,如果实现了本地会员,那就不用这么麻烦了嘛?!<br/>显然,这是个捷径,实现起来也不难,关键是找到突破口<br/>经过DASM分析,QQHelperDll是个入手点<br/>用PEExplorer认真查找看看,果然有发现,那就是IsVipUser@qdatCurrentUser@@QAEHXZ<br/>一个无参数函数,Hook了,并让其返回EAX=1,嘿嘿,果然成了本地VIP,这个本地VIP可以享受QQ2007II的涂鸦表情哦~<br/>可是到了这里却仍旧发现QQ的设置上,还是说你是&quot;非会员&quot;,不能屏蔽广告,咋办?<br/>显然的是QQQSettingCtrl.dll并没有调用qdatCurrentUser::IsVipUser来判断.那它调用了那个函数呢?<br/>继续努力...N小时后发现!原来是IsQQServiceEnable@@YAHI@Z<br/>这是一个unsigned int入口的函数,估计是服务功能号,由此函数判断当前登录QQ用户可用的服务,于是Hook了,不管三七二十一,一律返回EAX=1,再测试...一切OK!<br/><br/>至此,QQ外挂可告一段落也~~ <br/><br/>Tags - <a href="http://www.lovecns.com/tags/%25E4%25BB%25A3%25E7%25A0%2581/" rel="tag">代码</a> , <a href="http://www.lovecns.com/tags/%25E5%258E%259F%25E7%2590%2586/" rel="tag">原理</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/701/</link>
<title><![CDATA[记一次还不算太郁闷的网购笔记本]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[心情日记]]></category>
<pubDate>Wed, 03 Dec 2008 13:13:53 +0000</pubDate> 
<guid>http://www.lovecns.com/post/701/</guid> 
<description>
<![CDATA[ 
	到现在呆的地方以来从来不喜欢逛街买东西，所以导致我买什么都首先想到网络，淘宝。一是因为网络上可买到在当地买不到的东西，比如书了，我想要的书基本在这都找不到，衣服，吃的，用的，手机数码什么的都买过了，好像都还算满意的，当然也不缺乏个人认为很好的，比如前些日子买的枕头，因为睡起来比较舒服，价格也公道，呵呵，当然也有网购的乐趣在了，要说这乐趣在那，自己买着体会吧。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为需要要在淘宝买一二手笔记本，虽然大价钱的东西也买过好几次了，但是二手的东西还是第一次，何况还是猫腻最多的电子产品，更是要相当注意了，看了好几天，终于瞅中一台东芝只在日本发售的的本子，跟卖家谈好一切考虑到的问题后拍下付款。四天后在单位收发室拿到货，给领导打声招呼就回房子验货，开箱的结果很令人满意，本子跟描述的一样，几乎是全新的，因为还有令我烦恼的问题，当时也忘了拍了PP，所以现在没的图图给大家看，呵呵。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 检查了下外围和配置方面还算不错，打开机器电源测试，速度很不错，内存硬盘什么的在容量也没什么猫腻，没想到的事情发生了，大约过了有5分钟，机子的速度突然慢了下来，检查了下系统貌似有病毒的样子，好像在当初看买家评论的时候好像也有人说病毒多的问题，于是二话不说重装，驱动先备份了下来，虽然手上的驱动盘还没出现过搞不定的，但是笔记本例外。GHSOT系统无法安装，不能正常出现ghost页面，并且所有光盘版的ghost都无法正常运行，首先想到是刻碟的速度高于光驱支持的速度了，于是刻了张低倍速的，还是不成，最后只好拿出深度的精简版了，那个速度快点。可安装版本的速度也不尽人意，复制文件复制了半天，整个系统我在自己512内存的台式机上15分钟装完的系统在本子上用了接近一个小时，见到此情景我最先想到的是发热问题和硬盘问题，摸了下机子下面确实很热，后来我在下面两边垫了书运行还是那样，最后拿出软件检测硬盘，虽然没检测到坏道但是运行时间是六位数，我在本机用软件检测是四位数，根据我使用的时间软件显示的应该是小时，那这硬盘使用时间也未免太长了吧，一算之下都15年了，晕死，15年之前估计没120G的硬盘吧，后来又用另外一软件查看，但是无法查看到任何信息，但是在我机器上正常检测，检测到的时间跟上个软件是一样的，这下我抛弃了所有的想法，认定是硬盘老化，于是马上联系卖家，告知一切信息后，经过多次的交流，最后尝试卖家给的方法还是不能解决，最后商议退货。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第二天中午下班就打包装去邮局，没想到邮局人家不让发，可来的时候都是EMS，草了，不知道这的这帮SB什么原因。小地方就这样，一个个的狗仗人势，什么鼓点都出，最烦这个了，NND。无奈只好又联系卖家更换硬盘，最后一算时间太长只好商议我发硬盘过去，他们退我300买块硬盘自己装，一个是我没确认，另外一个是卖家也确实不错，最后成功。第二天周末，一早就坐车去兰州，因为电脑是要送去兰州的，所以直接去那换了，那货源充足。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;进去先打听了下硬盘的行情，后来看到一专业修笔记本的，索性拿去那让他们换吧，省的我动手了，拿上去人家一检测不是硬盘问题，原来是出风口堵上了，散热不正常导致的，NND，看我这脑子，让那软件的误报信息给闹得，谁知道人家一电脑的时间是小时制，一电脑的是秒制，靠，想到退款协议已经商定，索性换新的算了，没想到市场上没有120G的并口硬盘，大的不划算了，本身就是二手机子，就没换，最后花了50大洋搞定，搞完后测试机子半小时后没发现任何问题，把电脑送到算完工了，因为第二天又是必须赶回来，当天晚上10点的火车又赶了回来，累死了，看这一天闹得。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当然第二天没忘记拍了修机发票让卖家给我报销，呵呵，卖家见硬盘不退了，看到发票二话没说退了我50，交易结束。虽然还不算太郁闷，但是这样的事以后不想再弄了，烦<br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%2597%25A5%25E8%25AE%25B0/" rel="tag">日记</a> , <a href="http://www.lovecns.com/tags/%25E7%2594%259F%25E6%25B4%25BB/" rel="tag">生活</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/697/</link>
<title><![CDATA[NS下载器即将超越机器狗]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[病毒专杀]]></category>
<pubDate>Sun, 30 Nov 2008 06:34:30 +0000</pubDate> 
<guid>http://www.lovecns.com/post/697/</guid> 
<description>
<![CDATA[ 
	这是一个结合了机器狗，AV终结者和利用MS08067漏洞攻击的复合型下载者病毒。近几天非常流行，并且预计该病毒在近期会成泛滥之势，希望大家注意！<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个NS下载器继承了机器狗病毒穿还原卡的功能；利用ARP攻击在局域网传播；同时，病毒还有扫荡波的特点，攻击没有修补08-067号漏洞的windows系统。当然利用U盘自动运行功能传播，已经差不多成为病毒的标配。<br/><br/>以下是该病毒的某一变种的分析：<br/><br/>1.病毒运行后，会调用检测是否有调试器存在<br/>并遍历是否存在ImportREC.exe，C32Asm.exe，LordPE.exe，PEditor.exe，OllyICE.exe，OllyDbg.exe等进程，如果是则自身退出。<br/><br/>2.停止如下服务Application Management，Task Scheduler，System Restore Service，Windows Image Acquisition (WIA)，Windows Time<br/><br/>3.之后生成如下文件：<br/>%temp%&#92;dll???.dll(???为随机数字)<br/><br/>4..Dll??.dll注入到svchost.exe中，并创建远程线程。(之前会获得系统时间，如果系统年份大于2008则不注入svchost.exe)<br/>Dll??.dll注入svchost.exe后有如下行为：<br/><br/>(1)创建一个事件NSDownLoader20Vip02。<br/><br/>(2)创建多个线程执行不同的操作<br/><br/>a.读取一个txt格式的下载列表（本例为<a href="http://tk123." target="_blank">http://tk123.</a>********.cn/pk/tk123.txt），将木马和病毒下载到%temp%文件夹。<br/><br/>b.映像劫持如下进程pccguide.exe,ZONEALARM.exe,zonealarm.exe,wink.exe,windows优化大师.exe,WFINDV32.exe,webtrap.exe,WEBSCANX.exe,WEBSCAN.exe,vsstat.exe,VSSCAN40,VSHWIN32.exe<br/>,vshwin32.exe<br/>,VSECOMR.exe<br/>,VPC32.exe<br/>,vir.exe<br/>,VETTRAY.exe<br/>,VET95.exe<br/>,vavrunr.exe<br/>,UlibCfg.exe<br/>,TSC.exe<br/>,tmupdito.exe<br/>,tmproxy.exe<br/>,TMOAgent.exe<br/>,Tmntsrv.exe<br/>,TDS2-NT.exe<br/>,TDS2-98.exe<br/>,TCA.exe<br/>,TBSCAN.exe<br/>,symproxysvc.exe<br/>,SWEEP95.exe<br/>,spy.exe<br/>,SPHINX.exe<br/>,smtpsvc.exe<br/>,SMC.exe<br/>,sirc32.exe<br/>,SERV95.exe<br/>,secu.exe<br/>,SCRSCAN.exe<br/>,scon.exe<br/>,SCANPM.exe<br/>,SCAN32.exe<br/>,scan.exe<br/>,scam32.exe<br/>,safeweb.exe<br/>,safeboxTray.exe<br/>,rn.exe<br/>,Rfw.exe<br/>,rescue32.exe<br/>,regedit.exe<br/>,RavTask.exe<br/>,RavStub.exe<br/>,RavMonD.exe<br/>,RavMon.exe<br/>,rav7win.exe<br/>,RAV7.exe<br/>,ras.exe<br/>,pview95.exe<br/>,prot.exe<br/>,program.exe<br/>,PpPpWallRun.exe<br/>,pop3trap.exe<br/>,PERSFW.exe<br/>,PCFWALLICON.exe<br/>,pccwin98.exe<br/>,pccmain.exe<br/>,pcciomon.exe<br/>,PCCClient.exe<br/>,pcc.exe<br/>,PAVCL.exe<br/>,PADMIN.exe<br/>,OUTPOST.exe<br/>,office.exe<br/>,NVC95.exe<br/>,NUPGRADE.exe<br/>,norton.exe<br/>,NORMIST.exe<br/>,NMAIN.exe<br/>,nisum.exe<br/>,nisserv.exe<br/>,NAVWNT.exe<br/>,navwnt.exe<br/>,NAVW32.exe<br/>,NAVW.exe<br/>,NAVSCHED.exe<br/>,navrunr.exe<br/>,NAVNT.exe<br/>,NAVLU32.exe<br/>,navapw32.exe<br/>,navapsvc.exe<br/>,N32ACAN.exe<br/>,ms.exe<br/>,MPFTRAY.exe<br/>,MOOLIVE.exe<br/>,moniker.exe<br/>,mon.exe<br/>,microsoft.exe<br/>,mcafee.exe<br/>,LUCOMSERVER.exe<br/>,luall.exe<br/>,LOOKOUT.exe<br/>,lockdown2000.exe<br/>,lamapp.exe<br/>,kwatch.exe<br/>,KVPreScan.exe<br/>,KVMonXP.exe<br/>,KRF.exe<br/>,KPPMain.exe<br/>,kpfwsvc.exe<br/>,kpfw32.exe<br/>,KPFW32.exe<br/>,kissvc.exe<br/>,kavstart.exe<br/>,kav32.exe<br/>,Kasmain.exe<br/>,Kabackreport.exe<br/>,JED.exe<br/>,iomon98.exe<br/>,iom.exe<br/>,ICSSUPPNT.exe<br/>,ICMOON.exe<br/>,ICLOADNT.exe<br/>,ICLOAD95.exe<br/>,IceSword.exe<br/>,ice.exe...<br/>,指向svchost.exe<br/><br/>c.在%SystemRoot%&#92;system32&#92;目录下生成Nskhelper2.sys恢复SSDT并结束某些杀毒软件进程。<br/><br/>d.释放与机器狗功能类似的驱动NSPASS?.sys(?代表数字)，直接访问磁盘并替换如下dll文件<br/>%SystemRoot%&#92;system32&#92;schedsvc.dll<br/>%SystemRoot%&#92;System32&#92;appmgmts.dll<br/>%SystemRoot%&#92;System32&#92;srsvc.dll<br/>%SystemRoot%&#92;System32&#92;w32time.dll<br/>%SystemRoot%&#92;system32&#92;wiaservc.dll<br/>%SystemRoot%&#92;system32&#92;schedsvc.dll<br/>替换为病毒的dll。<br/><br/>e.每隔15分钟启动一次本机的lanmanserver与Browser服务，扫描本网段内的其他机器，打开对方的4444端口。在本机临时文件夹内创建一个???????.txt的文件（?代表随机数字），并写入一些代码，利用批处理和debug将其“重组”成dll文件，利用rundll32.exe加载，并利用MS08-067漏洞攻击其他机器，同时将该病毒文件复制过去。<br/><br/>f.释放appwinproc.dll到系统目录，设置窗口挂钩，查找带有如下字样的窗口“金山毒霸，360安全卫士, 江民, 木马, 专杀,下载者，NOD32，卡巴斯基…”，找到后调用TerminateProcess函数结束相应进程。<br/><br/>g.修改hosts文件屏蔽常见安全网站<br/>127.0.0.1 <a href="http://www.360.cn" target="_blank">www.360.cn</a><br/>127.0.0.1 <a href="http://www.360safe.cn" target="_blank">www.360safe.cn</a><br/>127.0.0.1 <a href="http://www.360safe.com" target="_blank">www.360safe.com</a><br/>127.0.0.1 <a href="http://www.chinakv.com" target="_blank">www.chinakv.com</a><br/>127.0.0.1 <a href="http://www.rising.com.cn" target="_blank">www.rising.com.cn</a><br/>127.0.0.1 rising.com.cn<br/>127.0.0.1 dl.jiangmin.com<br/>127.0.0.1 jiangmin.com<br/>127.0.0.1 <a href="http://www.jiangmin.com" target="_blank">www.jiangmin.com</a><br/>127.0.0.1 <a href="http://www.duba.net" target="_blank">www.duba.net</a><br/>127.0.0.1 <a href="http://www.eset.com.cn" target="_blank">www.eset.com.cn</a><br/>127.0.0.1 <a href="http://www.nod32.com" target="_blank">www.nod32.com</a><br/>127.0.0.1 shadu.duba.net<br/>127.0.0.1 union.kingsoft.com<br/>127.0.0.1 <a href="http://www.kaspersky.com.cn" target="_blank">www.kaspersky.com.cn</a><br/>127.0.0.1 kaspersky.com.cn<br/>127.0.0.1 virustotal.com<br/>127.0.0.1 <a href="http://www.kaspersky.com" target="_blank">www.kaspersky.com</a><br/>127.0.0.1 <a href="http://www.cnnod32.cn" target="_blank">www.cnnod32.cn</a><br/>127.0.0.1 <a href="http://www.lanniao.org" target="_blank">www.lanniao.org</a><br/>127.0.0.1 <a href="http://www.nod32club.com" target="_blank">www.nod32club.com</a><br/>127.0.0.1 <a href="http://www.dswlab.com" target="_blank">www.dswlab.com</a><br/>127.0.0.1 bbs.sucop.com<br/>127.0.0.1 <a href="http://www.virustotal.com" target="_blank">www.virustotal.com</a><br/>127.0.0.1 tool.ikaka.com<br/>127.0.0.1 360.qihoo.com<br/><br/>h.向除了A,B盘之外的盘符中创建autorun.inf和system.dll(即dll??.dll),<br/>autorun.inf内容如下：<br/>[autorun]<br/>shell&#92;open&#92;command=rundll32 system.dll,explore<br/>shell&#92;explore&#92;command=rundll32 system.dll,explore<br/>利用rundll32.exe加载该dll<br/><br/>i.获得本机的mac地址，操作系统版本等信息发送到<a href="http://tk123." target="_blank">http://tk123.</a>********.cn/pk/123/count.asp<br/><br/>判别方法：通过sreng日志判断：<br/>1.IFEO项目可以看到很多杀毒软件被劫持<br/>2.查看系统服务发现如下服务的dll版本变为N/A(被病毒替换所致)<br/>如[Application Management / AppMgmt][Stopped/Manual Start]<br/>&lt;C:&#92;WINDOWS&#92;system32&#92;svchost.exe -k netsvcs--&gt;%SystemRoot%&#92;System32&#92;appmgmts.dll&gt;&lt;N/A&gt;<br/>[Task Scheduler / Schedule][Stopped/Auto Start]<br/>&lt;C:&#92;WINDOWS&#92;System32&#92;svchost.exe -k netsvcs--&gt;%SystemRoot%&#92;system32&#92;schedsvc.dll&gt;&lt;N/A&gt;<br/>[System Restore Service / srservice][Stopped/Auto Start]<br/>&lt;C:&#92;WINDOWS&#92;system32&#92;svchost.exe -k netsvcs--&gt;C:&#92;WINDOWS&#92;system32&#92;srsvc.dll&gt;&lt;N/A&gt;<br/>[Windows Image Acquisition (WIA) / stisvc][Stopped/Manual Start]<br/>&lt;C:&#92;WINDOWS&#92;system32&#92;svchost.exe -k imgsvc--&gt;%SystemRoot%&#92;system32&#92;wiaservc.dll&gt;&lt;N/A&gt;<br/>[Windows Time / W32Time][Stopped/Auto Start]<br/>&lt;C:&#92;WINDOWS&#92;System32&#92;svchost.exe -k netsvcs--&gt;C:&#92;WINDOWS&#92;system32&#92;w32time.dll&gt;&lt;N/A&gt;<br/><br/>解决方法：<br/>下载sreng工具,XDelbox工具。<br/>1.断开网络，开始—运行—输入services.msc，把下列服务设置为“禁用”：Application Management，Task Scheduler，System Restore Service，Windows Image Acquisition (WIA)，Windows Time<br/><br/>2.使用Xdelbox删除如下文件<br/>%temp%&#92;dll???.dll（???代表随机数字）<br/>%SystemRoot%&#92;System32&#92;Nskhelper2.sys<br/>%SystemRoot%&#92;System32&#92;NSPASS?.sys (?代表数字，不止一个)<br/>%SystemRoot%&#92;System32&#92;appwinproc.dll<br/>以及各个分区下面的system.dll,autorun.inf文件<br/><br/>3.重启计算机，打开我的电脑&gt;&gt;菜单栏&gt;&gt;工具&gt;&gt;文件夹选项&gt;&gt;查看<br/>选择显示所有文件和文件夹，并把隐藏受保护的操作系统文件的钩去掉。<br/><br/>4.打开%SystemRoot%&#92;system32&#92;dllcache文件夹 依次找到<br/>schedsvc.dll<br/>appmgmts.dll<br/>srsvc.dll<br/>w32time.dll<br/>wiaservc.dll<br/>文件<br/>分别覆盖掉%SystemRoot%&#92;system32&#92;schedsvc.dll<br/>%SystemRoot%&#92;System32&#92;appmgmts.dll<br/>%SystemRoot%&#92;System32&#92;srsvc.dll<br/>%SystemRoot%&#92;System32&#92;w32time.dll<br/>%SystemRoot%&#92;system32&#92;wiaservc.dll<br/>5.使用sreng删除所有IFEO映像劫持项目<br/><br/>6.使用杀毒软件全盘杀毒清除其他木马和病毒<br/><br/><span style="color: #FF0000;"><span style="font-size: 14px;">网络找到的另外一解决方法：</span></span><br/><br/><br/>手动删除病毒<br/><br/>a)删除文件（使用顽固文件删除工具才可以删除）<br/><br/>%sys32dir%&#92;Nskhelper2.sys<br/><br/>%sys32dir%&#92;appwinproc.dll<br/><br/>%sys32dir%&#92;NsPass0.sys<br/><br/>%sys32dir%&#92;NsPass1.sys<br/><br/>%sys32dir%&#92;NsPass2.sys<br/><br/>%sys32dir%&#92;NsPass3.sys<br/><br/>%sys32dir%&#92;NsPass4.sys<br/><br/>每个驱动器下，存在autorun.inf和对应的system.dll<br/><br/>b)从dllcache目录下修复系统文件。<br/><br/>%sys32dir%&#92;schedsvc.dll<br/><br/>%sys32dir%&#92;appmgmts.dll<br/><br/>%sys32dir%&#92;srsvc.dll<br/><br/>%sys32dir%&#92;w32time.dll<br/><br/>%sys32dir%&#92;wiaservc.dll<br/><br/>c)删除注册表<br/><br/>HKLM&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;NsRk1<br/><br/>“ImagePath” &quot;&#92;??&#92;C:&#92;WINDOWS&#92;system32&#92;Nskhelper2.sys&quot;<br/><br/>HKLM&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;NsPsDk00<br/><br/>“ImagePath” &quot;&#92;??&#92;C:&#92;WINDOWS&#92;system32&#92;NsPass0.sys&quot;<br/><br/>HKLM&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;NsPsDk01<br/><br/>“ImagePath” &quot;&#92;??&#92;C:&#92;WINDOWS&#92;system32&#92;NsPass1.sys&quot;<br/><br/>HKLM&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;NsPsDk02<br/><br/>“ImagePath” &quot;&#92;??&#92;C:&#92;WINDOWS&#92;system32&#92;NsPass2.sys&quot;<br/><br/>HKLM&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;NsPsDk03<br/><br/>“ImagePath” &quot;&#92;??&#92;C:&#92;WINDOWS&#92;system32&#92;NsPass3.sys&quot;<br/><br/>HKLM&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;NsPsDk04<br/><br/>“ImagePath” &quot;&#92;??&#92;C:&#92;WINDOWS&#92;system32&#92;NsPass4.sys&quot;<br/><br/>d)修复映像劫持。<br/><br/>e)清除%temp%目录。<br/><br/>&nbsp;&nbsp; f)修复hosts文件。<br/><br/><br/>本文病毒分析来自清新阳光，第二种杀毒方法出自铁军<br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%259D%2580%25E6%25AF%2592/" rel="tag">杀毒</a> , <a href="http://www.lovecns.com/tags/%25E5%25AE%2589%25E5%2585%25A8/" rel="tag">安全</a> , <a href="http://www.lovecns.com/tags/%25E6%258A%2580%25E5%25B7%25A7/" rel="tag">技巧</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/699/</link>
<title><![CDATA[Worm.Win32.AutoRun.dbp(sudami.sys)病毒分析与解决方案]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[病毒专杀]]></category>
<pubDate>Tue, 25 Nov 2008 12:00:11 +0000</pubDate> 
<guid>http://www.lovecns.com/post/699/</guid> 
<description>
<![CDATA[ 
	病毒名称：Worm.Win32.AutoRun.dbp<br/>　　病毒类型：蠕虫<br/>　　文件MD5：A1AF3D5C37035B3D0AC5969F01FD0C7A<br/>　　公开范围：完全公开<br/>　　文件长度：85,504 字节<br/>　　感染系统：Windows98以上版本<br/>　　开发工具：Microsoft Visual C++<br/>　　加壳类型：ASPack 2.12 -&gt; Alexey Solodovnikov<br/>　　病毒描述：该病毒为蠕虫类病毒，病毒运行后，获取KERNEL32.DLL基址，动态获取API函数、创建一个：Height=1 Width=1的对话框，判断%system32%&#92;Drivers目录下是否存在&quot;sudami.sys&quot;，如存在则将其删除并从新创建一个同名的文件到该目录下，并将文件属性设置为隐藏，修改进程权限、创建注册表病毒服务、获取ntdll.dll基址，动态获取内核函数，使用内核函数ZwLoadDriver加载病毒驱动，创建病毒驱动设备名：&quot;&#92;&#92;.&#92;sudami&quot;，调用API函数打开一个网页链接，将创建的对话框设置为最小化，调用函数向该对话框传递消息，驱动文件主要行为：5ms一次遍历多款安全软件进程，如发现就结束掉。<br/>　　行为分析－本地行为<br/>　　1、获取KERNEL32.DLL基址，动态获取API函数、CreateDialogParamA创建一个MoveWindow:Height = 1 Width = 1的对话框，判断%system32%&#92;Drivers目录下是否存在&quot;sudami.sys&quot;，如存在则将其删除并从新创建一个同名的文件到该目录下，并将文件属性设置为隐藏。<br/>　　2、文件运行后会释放以下文件<br/>　　%system32%&#92;Drivers&#92;sudami.sys<br/>　　3、修改进程权限、获取ntdll.dll基址，动态获取内核函数，使用内核函数ZwLoadDriver加载病毒驱动，创建病毒驱动设备名：&quot;&#92;&#92;.&#92;sudami&quot;，调用API函数ShellExecuteA打开一个网页，将创建的对话框设置为最小化，调用函数向该对话框传递消息。<br/>　　4、驱动文件主要行为：5ms一次遍历多款安全软件进程，如发现就结束掉，被遍历的安全软件进程及名字有：<br/><br/>　　KvXP.kxp、KVSrvXP.exe、KVwsc.exe、KVMonXP.kxp、KAVSvcUI.exe、KAVPFW.EXE、KAV32.exe、KAVsvc.exe、AVPM.EXE、AVPCC.EXE、AVP32.EXE、AVP.EXE、RAVmonD.exe、RAVmon.exe、RAVtimer.exe、Rising.exe、Rav.exe、360Safe.exe、360tray.exe、HijackThis.exe、THGUARD.EXE、PFW.EXE 、ZONEALARM.EXE、VSHWIN32.EXE、TBSCAN.EXE、SWEEP95.EXE、SMC.EXE、NMAIN.EXE、LUALL.EXE、ICMON.EXE、APVXDWIN.EXE<br/>　　5、创建注册表病毒服务<br/>　　HKEY_LOCAL_MACHINE&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;sudami&#92;ImagePath<br/>　　值: 字符串: &quot;system32&#92;DRIVERS&#92;sudami.sys.&quot;<br/>　　HKEY_LOCAL_MACHINE&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;sudami&#92;Start<br/>　　值: DWORD: 3 (0x3)<br/>　　HKEY_LOCAL_MACHINE&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;sudami&#92;Type<br/>　　值: DWORD: 1 (0x1)<br/>　　行为分析-网络行为<br/>　　连接网络打开链接：<a href="http://hi.b" target="_blank">http://hi.b</a>****.com/sudami<br/>　　注：%System32%是一个可变路径。病毒通过查询操作系统来决定当前System文件夹的位置。<br/>　　%Windir% WINDODWS所在目录<br/>　　%DriveLetter% 逻辑驱动器根目录<br/>　　%ProgramFiles% 系统程序默认安装目录<br/>　　%HomeDrive% 当前启动的系统的所在分区<br/>　　%Documents and Settings%&nbsp;&nbsp;当前用户文档根目录<br/>　　%Temp% &#92;Documents and Settings&#92;当前用户&#92;Local Settings&#92;Temp<br/>　　%System32% 系统的 System32文件夹<br/>　　Windows2000/NT中默认的安装路径是C:&#92;Winnt&#92;System32<br/>　　windows95/98/me中默认的安装路径是C:&#92;Windows&#92;System<br/>　　windowsXP中默认的安装路径是C:&#92;Windows&#92;System32<br/>　　清除方案<br/>　　手工清除请按照行为分析删除对应文件，恢复相关系统设置。推荐使用ATool管理工具。<br/>　　请点击下载<br/>　　（1） 使用ATOOL“进程管理”关闭病毒进程。<br/>　　（2）使用ATOOL工具“文件管理“按路径查找并删除以下文件：<br/>　　%system32%&#92;Drivers&#92;sudami.sys<br/>　　（3）删除病毒创建的注册表项：<br/>　　HKEY_LOCAL_MACHINE&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;sudami<br/>　　删除Services键下的sudami键值 <br/><br/>From：麦田守望者 <br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%259D%2580%25E6%25AF%2592/" rel="tag">杀毒</a> , <a href="http://www.lovecns.com/tags/%25E6%258A%2580%25E5%25B7%25A7/" rel="tag">技巧</a> , <a href="http://www.lovecns.com/tags/%25E5%25AE%2589%25E5%2585%25A8/" rel="tag">安全</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/698/</link>
<title><![CDATA[没下载完成的zip(rar)压缩文件的提取文件方法]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[日常应用]]></category>
<pubDate>Sun, 23 Nov 2008 02:45:19 +0000</pubDate> 
<guid>http://www.lovecns.com/post/698/</guid> 
<description>
<![CDATA[ 
	好多次碰到下载rar等的压缩包下载不完，最后尝试数次不能下载，最后也没想过要修复提取什么的，某天泡网看到一方法，下面收录了放出来，希望能帮到其他的朋友，嘎嘎。<br/><br/>方法：<br/><br/>用WinRAR软件修复 <br/>　　①打开WinRAR，从地址列表中选中已损坏的ZIP(rar)文件。然后用鼠标点击工具栏上的“修复”，在弹出的对话框中选择修复后文件的存放路径。<br/><br/>　　②选择好路径后，点击“确定”，WinRAR就开始修复受损的ZIP(rar)文件，并显示修复的全过程。<br/><br/>　　③单击“关闭”按钮，进入修复文件的存放目录，你会发现在该目录下新增了一个“_reconst.rar”或“_reconst.zip(rar)”文件，它就是修复好了的文件。<br/><br/><br/>解压缩。。看看是不是有很多文件 都OK了。。。<br/><br/>From：teyqiu&#039;s BLOG<br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%258A%2580%25E5%25B7%25A7/" rel="tag">技巧</a> , <a href="http://www.lovecns.com/tags/%25E7%2594%259F%25E6%25B4%25BB/" rel="tag">生活</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/700/</link>
<title><![CDATA[“小狗上学”病毒分析与解决]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[病毒专杀]]></category>
<pubDate>Thu, 20 Nov 2008 12:06:30 +0000</pubDate> 
<guid>http://www.lovecns.com/post/700/</guid> 
<description>
<![CDATA[ 
	作者：清新阳光&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;( <a href="http://hi.baidu.com/newcenturysun)" target="_blank">http://hi.baidu.com/newcenturysun)</a><br/>日期：2008/03/29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (转载请保留此声明) <br/><br/>PS：在某人blog发现此病毒分析文章，因为病毒有点早了，但是分析中写到的部分病毒运行方式的技巧不可多得，于是收藏学习，也许还会帮到某人捏。O(∩_∩)O<br/><br/>这是一个使用VB编写的病毒。可以通过U盘等移动存储传播。修改可执行文件图标，映像劫持杀毒软件...<br/><br/>1.病毒启动后，释放如下文件或者副本<br/>%systemroot%&#92;system32&#92;soleboy.exe<br/>%systemroot%&#92;system32&#92;soleboy.txt<br/><br/>各个分区根目录下生成soleboy.exe和autorun.inf达到随移动存储传播的目的。<br/><br/>2.试图结束一些安全工具的进程<br/>比如procexp.exe<br/>U盘病毒免疫器<br/>avgnt.exe<br/>Psview.exe<br/>PowerRmv.exe<br/>ToolsLoader.exe<br/>FrameworkService.exe<br/>...<br/><br/>3.映像劫持如下杀毒软件和安全工具：<br/>360Safe.exe<br/>360tray.exe<br/>ACAAS.exe<br/>ACAEGMgr.exe<br/>ACAIS.exe<br/>ACALS.exe<br/>ACASP.exe<br/>ACenter.exe<br/>AFMain.exe<br/>AGB6.EXE<br/>AGBKrnl.exe<br/>AhnSD.exe<br/>AhnSDsv.exe<br/>AluSchedulerSvc.exe<br/>AScheduleService.exe<br/>AST.exe<br/>avcenter.exe<br/>avgnt.exe<br/>avguard.exe<br/>CCenter.exe<br/>ccSvcHst.exe<br/>FilMsg.exe<br/>FrameworkService.exe<br/>KASMain.exe<br/>KAV32.exe<br/>KVIETools.exe<br/>kvsrvxp.exe<br/>KWatch.exe<br/>mcconsol.exe<br/>Mcshield.exe<br/>MPMain.exe<br/>MPMon.exe<br/>MPSVC.exe<br/>MPSVC1.exe<br/>MPSVC2.exe<br/>MSProxy.ahn<br/>naPrdMgr.exe<br/>nod32krn.exe<br/>nod32kui.exe<br/>PCCIOMON.EXE<br/>PCCVScan.exe<br/>PCMAIN.EXE<br/>PowerRmv.exe<br/>psview.exe<br/>Rav.exe<br/>RavMonD.exe<br/>sched.exe<br/>sessmgr.exe<br/>shstat.exe<br/>SnipeSword.exe<br/>TRIALMSG.exe<br/>Twister.exe<br/>vcn.exe<br/>vcs.exe<br/>vcw.exe<br/>VsTskMgr.exe<br/>劫持到%systemroot%&#92;system32&#92;soleboy.exe<br/><br/>4.添加注册表启动项目HKLM&#92;SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run&#92;soleboy: &quot;%systemroot%&#92;system32&#92;soleboy.exe&quot;达到开机启动自身的目的<br/><br/>5.修改com和exe文件的文件关联指向soleboy.exe<br/>HKLM&#92;SOFTWARE&#92;Classes&#92;comfile&#92;shell&#92;open&#92;command&#92;: &quot;soleboy.exe &quot;%1&quot; %*&quot;<br/>HKLM&#92;SOFTWARE&#92;Classes&#92;exefile&#92;shell&#92;open&#92;command&#92;: &quot;soleboy.exe &quot;%1&quot; %*&quot;<br/><br/>6.修改exe的图标关联 指向soleboy.exe，使得所有exe图标变成小狗图案。<br/>HKEY_CLASSES_ROOT&#92;exefile&#92;DefaultIcon: &quot;soleboy.exe&quot;<br/><br/><br/><br/>7.查找带有如下字样的窗口，找到后利用sendmessage函数发送WM_CLOSE命令关闭窗口<br/>瑞星反病毒资讯网 [信息安全 源自瑞星] - Windows Internet Explorer<br/>Windows 任务管理器<br/>注册表编辑器<br/>江民进程查看器<br/>欢迎光临江民科技[网络安全，选择江民] - Windows Internet Explorer<br/>金山毒霸信息安全网－免费下载杀毒软件 - Windows Internet Explorer<br/>卡巴斯基实验室: 反病毒软件,反间谍程序,垃圾邮件过滤 - Windows Internet Explorer<br/>360安全卫士－Windows Internet Explorer<br/>防病毒、反间谍软件、端点安全、备份、存储和遵从解决方案－赛门铁克公司－Windows Internet Explorer<br/>大型企业 - 趋势科技 中国 - Windows Internet Explorer<br/>东方微点 - Windows Internet Explorer<br/>...<br/><br/>8 删除%systemroot%&#92;system32&#92;taskkill.exe<br/><br/>9.作者在soleboy.txt中写道：<br/><br/>I want to go to university.<br/>I think Jiangmin Antivirus Software is the best security software!<br/>Don&#039;t worry ,I won&#039;t destroy your data.<br/><br/>解决方法：<br/>下载sreng，Icesword<br/>sreng:<a href="http://www.skycn.com/soft/23312.html#download" target="_blank">http://www.skycn.com/soft/23312.html#download</a><br/>Icesword:<a href="http://mail.ustc.edu.cn/~jfpan/download/IceSword122cn.zip" target="_blank">http://mail.ustc.edu.cn/~jfpan/download/IceSword122cn.zip</a><br/><br/>已经安装winrar的请打开winrar的安装路径 找到winrar.exe 把他改名为winrar.bat双击运行<br/><br/>然后单击winrar菜单栏“文件”按钮 打开压缩文件<br/><br/><br/><br/>分别解压sreng和Icesword<br/><br/>1.把Icesword.exe改名为1.bat运行<br/>打开Icesword－进程<br/>结束soleboy.exe进程<br/><br/><br/><br/>2.同样方法解压sreng<br/>把srengps.exe改名为 2.bat运行<br/>启动项目 注册表 <br/>删除如下项目<br/>[HKEY_LOCAL_MACHINE&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run]<br/>&lt;soleboy&gt;&lt;C:&#92;WINDOWS&#92;system32&#92;soleboy.exe&gt; [Soleboy]<br/>并删除所有红色的IFEO项目<br/><br/><br/><br/>系统修复 文件关联 点击“修复”按钮<br/><br/>3.开始 运行 输入regedit<br/>展开HKEY_CLASSES_ROOT&#92;exefile&#92;DefaultIcon 修改该项数据为&quot;%1&quot; （不包括引号）<br/><br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%258A%2580%25E5%25B7%25A7/" rel="tag">技巧</a> , <a href="http://www.lovecns.com/tags/%25E6%259D%2580%25E6%25AF%2592/" rel="tag">杀毒</a> , <a href="http://www.lovecns.com/tags/%25E5%25AE%2589%25E5%2585%25A8/" rel="tag">安全</a>
]]>
</description>
</item><item>
<link>http://www.lovecns.com/post/693/</link>
<title><![CDATA[极度郁闷，blog被谷歌K了]]></title> 
<author>herozyf &lt;herozyf@163.com&gt;</author>
<category><![CDATA[心情日记]]></category>
<pubDate>Mon, 27 Oct 2008 05:20:31 +0000</pubDate> 
<guid>http://www.lovecns.com/post/693/</guid> 
<description>
<![CDATA[ 
	这段时间挺忙的，也没顾上时间写东西，没时间打理blog，昨天上去一看谷歌广告的点击情况惊奇坏了，一看流量统计差点没晕过去，是以前的百分之一左右，怎么会这样的，查详细的情况发现谷歌带来的流量几乎是没的，速度的去站长工具那查查收录情况和GR，彻底晕了。<br/><a href="http://www.lovecns.com/attachment.php?fid=13" class="highslide" onclick="return hs.expand(this)"><img src="http://www.lovecns.com/attachment.php?fid=13" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;看着以前是3的GR值现在被降为0，彻底无语。看看收录情况这明显是被谷歌给K了，可是想想我的站也没什么明显禁止的东西，百度的到是没这类情况，去查查原因，具别人说谷歌一般不会K个人站点，何况我的只是小blog而已，去翻翻blog的后台看有没的什么问题，在插件那一栏看到<a href="http://bbs.bo-blog.com/viewthread.php?tid=12991&amp;extra=page%3D1" target="_blank">googleping</a>的字样，记得好像这是官方论坛发出的一个插件，我知道的还算早，该插件安装好以后，在发布日志的同时会使用google blogsearch的API接口向其发送ping消息，在大约5分钟内，google spider即会来抓取页面，10分钟内会同步至google的数据库，也就是说在10分钟内，一篇新的日志就会被收录，对seo来说是非常实用的插件，，汗，就是没想到这点，估计被当作是作弊了，想想小blog也真是多灾多难的，刚开始用的免费的cn玉米，GR到了3的时候到期了，自己也不想用了，因为续费太贵，跟国际玉米一个价格，想想自己也不是为赚钱的，不需要在乎，再说好像换了玉米GR也是可以更新的，后来换了也没更新，过了两个月左右的成了2，后来又成了3，现在被降为0，真是郁闷，没的搜索引擎的流量，这类的小blog几乎流量不多，当然广告也就没什么了，虽然还有百度大叔在，还是不成，想想也郁闷，打算从今天起先撤下所有的广告，包括谷歌和百度的，可以减轻主机的负担，加快浏览速度。在想办法让谷歌解封吧，不知道成不成功了，汗！ <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 日志写完一个小时后我找到了google的站长工具那里已经将使用插件的情况说明，请求重新审核，汗，不知道结果是怎么样的，这又是一个漫长的等待过程，希望能一切顺利吧。<br/><br/><br/>Tags - <a href="http://www.lovecns.com/tags/%25E6%2597%25A5%25E8%25AE%25B0/" rel="tag">日记</a> , <a href="http://www.lovecns.com/tags/%25E7%2594%259F%25E6%25B4%25BB/" rel="tag">生活</a>
]]>
</description>
</item>
</channel>
</rss>