<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Evilcodecave's Weblog</title>
	<atom:link href="http://evilcodecave.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://evilcodecave.wordpress.com</link>
	<description>Just another RCE  Weblog</description>
	<pubDate>Wed, 20 Aug 2008 05:18:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>New MSN Privacy Threat - ultimatestufff.com</title>
		<link>http://evilcodecave.wordpress.com/2008/08/17/new-msn-spamtracker-threat/</link>
		<comments>http://evilcodecave.wordpress.com/2008/08/17/new-msn-spamtracker-threat/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 07:55:46 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[(In)Security]]></category>

		<category><![CDATA[abuse.html]]></category>

		<category><![CDATA[abuse@cpashield.com]]></category>

		<category><![CDATA[counter.php]]></category>

		<category><![CDATA[http://www.incentaclick.com/nclick.php?id=14955&amp;cid]]></category>

		<category><![CDATA[IncentaclickTrackCookie]]></category>

		<category><![CDATA[indexx.php]]></category>

		<category><![CDATA[MSN Privacy Threat]]></category>

		<category><![CDATA[MSN Spam]]></category>

		<category><![CDATA[perfspot]]></category>

		<category><![CDATA[Tracking Cookie]]></category>

		<category><![CDATA[ultimatestufff]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=126</guid>
		<description><![CDATA[Hi,
Today I was informed of a new Privacy Threat spreaded through MSN.
Offline contacts sends to all online contacts the following link http://ultimatestufff.com/
Let&#8217;s see how ultimatestufff works..
At a first analysis dissection we can see that this Webservice is runned surely from
a little private server;

HTTP/1.0 200 OK
Connection: close
X-Powered-By: PHP/4.4.8
Content-type: text/html
Content-Length: 345
Date: Sun, 17 Aug 2008 13:04:33 GMT
Server: [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Today I was informed of a new <strong>Privacy Threat</strong> spreaded through MSN.</p>
<p>Offline contacts sends to all online contacts the following link http://ultimatestufff.com/</p>
<p>Let&#8217;s see how ultimatestufff works..</p>
<p>At a first analysis dissection we can see that this Webservice is runned surely from<br />
a little private server;<strong><br />
</strong></p>
<p>HTTP/1.0 200 OK<br />
Connection: close<br />
<strong>X-Powered-By: PHP/4.4.8</strong><br />
Content-type: text/html<br />
Content-Length: 345<br />
Date: Sun, 17 Aug 2008 13:04:33 GMT<br />
<strong>Server: lighttpd/1.4.19</strong></p>
<p>Because <strong>lighttpd </strong>is used.</p>
<p>The content of the first page is similar to my previous MSN-Malicious-Website discovery,<br />
indeed we have:</p>
<p>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;frameset rows=&#8221;*,30,1&#8243; frameborder=0&gt;</p>
<p>&lt;frame src=&#8221;<strong>indexx.php</strong>&#8221; name=&#8221;"&gt;<br />
&lt;frame src=&#8221;<strong>abuse.html</strong>&#8221; name= frameborder=no framespacing=0 marginheight=0 marginwidth=0&gt;&lt;/frame&gt;<br />
&lt;frame src=&#8221;<strong>counter.php</strong>&#8221; name= frameborder=no framespacing=0 marginheight=0 marginwidth=0&gt;&lt;/frame&gt;</p>
<p>&lt;/frameset&gt;<br />
&lt;/html&gt;</p>
<p>-&gt; <strong>abuse.html</strong></p>
<p>&lt;center&gt;&lt;b&gt;Send Abuses to &lt;a href=&#8221;mailto:<strong>abuse@cpashield.com</strong>&#8220;&gt;abuse@cpashield.com&lt;/a&gt;&lt;/b&gt;</p>
<p>Looks perfectly similar to the previous case, but without java obfuscation.</p>
<p>-&gt; <strong>counter.php</strong></p>
<p>&lt;img src=&#8221;http://www.ipcounter.de/count.php?u=52572355&amp;amp;color=pink&#8221; alt=&#8221;" border=&#8221;0&#8243; width=0 height=0&gt;&lt;/a&gt;&lt;/noscript&gt;&lt;img src=&#8221;http://www.ipcounter.de/count.php?u=54136814&amp;amp;color=pink&#8221; alt=&#8221;" border=&#8221;0&#8243; width=0 height=0&gt;&lt;/a&gt;&lt;/noscript&gt;</p>
<p>And finally the most intersting, <strong>indexx.php</strong> that performs a redirection to:</p>
<p><strong>http://www.incentaclick.com/nclick.php?id=14955&amp;cid=3674&amp;sub=newadx<br />
</strong><br />
This time the entity of the Webservice is more important, is used a famous service <strong>Incentaclick</strong><br />
that installs some <strong>Tracking Cookies</strong>:</p>
<p>HTTP/1.1 200 OK<br />
Date: Sun, 17 Aug 2008 05:06:08 GMT<br />
Server: Apache<br />
Set-Cookie: <strong>IncentaclickUC367414955</strong>=367414955newadx; expires=Tue, 16-Sep-2008 05:06:08 GMT; path=/; domain=.incentaclick.com<br />
Set-Cookie: <strong>IncentaclickUC367414955</strong>=367414955newadx; expires=Tue, 16-Sep-2008 05:06:08 GMT; path=/; domain=www.incentaclick.com<br />
Set-Cookie: <span style="color:#ff0000;"><strong>IncentaclickTrackCookie3674</strong></span>=14955-newadx; expires=Sat, 15-Nov-2008 05:06:08 GMT; path=/; domain=.incentaclick.com<br />
Set-Cookie: <span style="color:#ff0000;"><strong>IncentaclickTrackCookie3674</strong></span>=14955-newadx; expires=Sat, 15-Nov-2008 05:06:08 GMT; path=/; domain=www.incentaclick.com<br />
P3P: CP=&#8221;NOI DSP COR NID&#8221;<br />
Content-Length: 184<br />
Connection: close<br />
Content-Type: text/html; charset=UTF-8</p>
<p>And this is the source code:</p>
<p>&lt;html&gt;&lt;head&gt;&lt;title&gt;Incentaclick Media&lt;/title&gt;&lt;meta http-equiv=&#8217;refresh&#8217; content=&#8221;0;url=<strong>http://www.perfspot.com/join.asp?LanguageID=1&amp;p=98958&amp;t=14955-newadx</strong>&#8220;&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;</p>
<p>As you can see there is a <strong>Meta Renfresh</strong> that redirects (<strong>instantly!</strong>) the user to another<br />
website:</p>
<p><strong>http://www.perfspot.com/join.asp?languageid=1&amp;p=98958&amp;t=14955-newadx</strong></p>
<p>A common visitor will not see the passage from Incentaclick, but will have its cookies..</p>
<p>Perfspot is a Website that offers a Meeting Service.</p>
<p>It&#8217;s interesting to see that during registration the user is asked to provide MSN/Linkedin/Live account, and is this the point where dumb user allows perfspot to reach other users.</p>
<p>Another interesting point is that, after you have completed the registration you&#8217;re automatically prompted to a geo-location that corresponds to the location of the Offline user that sent you the Advisory.</p>
<p>Here the Domain Informations for ultimatestufff.com</p>
<h3>Domain Informations</h3>
<table class="whois" border="0" cellspacing="1">
<tbody>
<tr class="odd">
<td class="t">ICANN Registrar:</td>
<td>ENOM, INC.</td>
</tr>
<tr>
<td class="t">Created:</td>
<td>2008-08-15</td>
</tr>
<tr class="odd">
<td class="t">Expires:</td>
<td>2009-08-15</td>
</tr>
<tr>
<td class="t">Updated:</td>
<td>2008-08-15</td>
</tr>
<tr class="odd">
<td class="t">Registrar Status:</td>
<td><a href="http://whois.domaintools.com/domain-help/status-codes.php">clientTransferProhibited</a></td>
</tr>
<tr>
<td class="t">Name Server:</td>
<td>DNS1.REGISTRAR-SERVERS.COM							 (has <a href="http://domaintools.com/products/reports/nameserver-report.html?ns=registrar-servers.com">94,989 domains</a>)</td>
</tr>
<tr class="odd">
<td class="t">Name Server:</td>
<td>DNS2.REGISTRAR-SERVERS.COM</td>
</tr>
<tr>
<td class="t">Name Server:</td>
<td>DNS3.REGISTRAR-SERVERS.COM</td>
</tr>
<tr class="odd">
<td class="t">Whois Server:</td>
<td>whois.enom.com</td>
</tr>
</tbody>
</table>
<p>jQuery(&#8217;#registryDataContainer&#8217;).show();</p>
<h3>Server Data</h3>
<table class="whois" border="0" cellspacing="1">
<tbody>
<tr class="odd">
<td class="t">IP Address:</td>
<td>210.56.53.73		        <a class="tool_buttons" href="http://whois.domaintools.com/210.56.53.73"> <img src="http://img.domaintools.com/whois_button.gif" alt="" width="16" height="16" /> </a> <a class="tool_buttons" href="http://www.domaintools.com/reverse-ip/?hostname=210.56.53.73"> <img src="http://img.domaintools.com/rip_button.gif" alt="" width="16" height="16" /> </a> <a class="tool_buttons" href="http://dns-tools.domaintools.com/?m=ping&amp;q=210.56.53.73"> <img src="http://img.domaintools.com/ping_button.gif" alt="" width="16" height="16" /> </a> <a class="tool_buttons" href="http://dns-tools.domaintools.com/?m=dns&amp;q=210.56.53.73"> <img src="http://img.domaintools.com/dns_button.gif" alt="" width="16" height="16" /> </a> <a class="tool_buttons" href="http://dns-tools.domaintools.com/?m=traceroute&amp;q=210.56.53.73"> <img src="http://img.domaintools.com/traceroute_button.gif" alt="" width="16" height="16" /> </a></td>
</tr>
<tr>
<td class="t">IP Location</td>
<td><img src="http://img.domaintools.com/flags/hk.gif" alt="Hong Kong" width="18" height="12" /> - Hong Kong (sar)			        - Hong Kong			        - Sun Network (hong Kong) Limited</td>
</tr>
<tr class="odd">
<td class="t">Response Code:</td>
<td>200</td>
</tr>
<tr>
<td class="t">Domain Status:</td>
<td>Registered And Active Website</td>
</tr>
</tbody>
</table>
<p>What to say..I&#8217;m a proud paranoid!!! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>See you to the next post..</p>
<p>PS: I&#8217;m open to job offerings! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/126/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/126/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/126/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=126&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/08/17/new-msn-spamtracker-threat/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>

		<media:content url="http://img.domaintools.com/whois_button.gif" medium="image" />

		<media:content url="http://img.domaintools.com/rip_button.gif" medium="image" />

		<media:content url="http://img.domaintools.com/ping_button.gif" medium="image" />

		<media:content url="http://img.domaintools.com/dns_button.gif" medium="image" />

		<media:content url="http://img.domaintools.com/traceroute_button.gif" medium="image" />

		<media:content url="http://img.domaintools.com/flags/hk.gif" medium="image">
			<media:title type="html">Hong Kong</media:title>
		</media:content>
	</item>
		<item>
		<title>Malicious Spam in Action</title>
		<link>http://evilcodecave.wordpress.com/2008/08/11/malicious-spam-in-action/</link>
		<comments>http://evilcodecave.wordpress.com/2008/08/11/malicious-spam-in-action/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 12:34:01 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[(In)Security]]></category>

		<category><![CDATA[Reverse Code Engineering]]></category>

		<category><![CDATA[Trojan-Downloader.Win32.Agent.aacg]]></category>

		<category><![CDATA[video.exe]]></category>

		<category><![CDATA[video3425gdf3.exe]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=124</guid>
		<description><![CDATA[Hi,
Usually Spam is targeted to Marketing Massive Action, that does not contains any form of Malicious Code, but in the last period there is a second collateral and heavly emerging trend (especially into Web Applications that allows comments, as Blogs) is the Malicious Spam, an apparent mail of Spam that redirects you to malicious code..
Here [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Usually Spam is targeted to Marketing Massive Action, that does not contains any form of Malicious Code, but in the last period there is a second collateral and heavly emerging trend (especially into Web Applications that allows comments, as Blogs) is the Malicious Spam, an apparent mail of Spam that redirects you to malicious code..</p>
<p>Here the latest Malicious Spam Mail that I&#8217;ve received on my gmail account:</p>
<p><strong>Subject: <span class="VrHWId">mp3 Shocking for evilcry</span></strong></p>
<p><strong>Content: Rihanna New video!!!<br />
Look It now </strong></p>
<p>The malicious link points to http://ro{CENSORED}eel.com/index1.php</p>
<p>By dissecting the malicious link we can see that a redirection is done</p>
<p>&lt;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.01 Transitional//EN&#8221;&gt;</p>
<p><strong>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;META HTTP-EQUIV=&#8221;refresh&#8221; CONTENT=&#8221;5;URL=http://robbiereel.com/video3425gdf3.exe&#8221;&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;/head&gt;</p>
<p>&lt;body style=&#8221;background:#ffffff;&#8221;&gt;<br />
&lt;iframe src=&#8221;<span style="color:#ff0000;">http://ro{CENSORED}l.com/pindex.php</span>&#8221; style=&#8221;width:1px; height:1px;&#8221;&gt;&lt;/iframe&gt;&lt;br&gt;</p>
<p>&lt;div style=&#8221;text-align:center; padding-top:50px;&#8221;&gt;<br />
&lt;a href=&#8221;<span style="color:#ff0000;">http://ro{CENSORED}l.com/video3425gdf3.exe</span>&#8221; style=&#8221;font-weight:bold;&#8221;&gt;&lt;img src=&#8221;wait.gif&#8221; style=&#8221;border:0px;&#8221;&gt;&lt;/a&gt;&lt;br&gt;<br />
&lt;br&gt;<br />
&lt;a href=&#8221;<span style="color:#ff0000;">http://r{CENSORED}l.com/video3425gdf3.exe</span>&#8221; style=&#8221;font-weight:bold; color:#364980; font-size:17px;&#8221;&gt;Download Video&lt;/a&gt;</p>
<p>&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</strong></p>
<p>The technique is always the same, a fake Video.exe that the Victim download and executes, in this case the malware is named <strong>video3425gdf3.exe</strong></p>
<p>Let&#8217;s analyse video3425gdf3.exe</p>
<p>File: <strong>video3425gdf3.exe </strong></p>
<p>MD5: 	  	  	  <strong>acd73c4930e8191fa7a35dac448d7f4b </strong></p>
<p>Kaspersky Anti-Virus: Found <strong><span class="attention">Trojan-Downloader.Win32.Agent.aacg</span></strong></p>
<div id="scannerkav"></div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/124/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/124/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=124&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/08/11/malicious-spam-in-action/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>Inside DeleteFiber() as Anti Debug Trick</title>
		<link>http://evilcodecave.wordpress.com/2008/07/31/inside-deletefiber-as-anti-debug-trick/</link>
		<comments>http://evilcodecave.wordpress.com/2008/07/31/inside-deletefiber-as-anti-debug-trick/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 12:18:17 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[C / C++ (Visual Studio Based) Coding]]></category>

		<category><![CDATA[Reverse Code Engineering]]></category>

		<category><![CDATA[Anti Debug]]></category>

		<category><![CDATA[DeleteFiber]]></category>

		<category><![CDATA[FLG_HEAP_ENABLE_FREE_CHECK]]></category>

		<category><![CDATA[FLG_HEAP_ENABLE_TAIL_CHECK]]></category>

		<category><![CDATA[FLG_HEAP_VALIDATE_PARAMETERS]]></category>

		<category><![CDATA[Image File Execution Options]]></category>

		<category><![CDATA[LdrInitializeThunk]]></category>

		<category><![CDATA[MmCreatePeb]]></category>

		<category><![CDATA[NtGlobalFlag]]></category>

		<category><![CDATA[RtlFreeHeap]]></category>

		<category><![CDATA[Windbg HeapDebug]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=117</guid>
		<description><![CDATA[Hi,
Malware is often really boring to reverse because in high percentage they implements basical well known mechanisms of infection and self protection.
But sometimes there are really intersting malware that implements innovative techniques, this is the case of a trojan borned into 2006 that implemented DeleteFiber() as Anti–Debug Trick in a really easy and smart way.
To [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Malware is often really boring to reverse because in high percentage they implements basical well known mechanisms of infection and self protection.<br />
But sometimes there are really intersting malware that implements innovative techniques, this is the case of a trojan borned into 2006 that implemented DeleteFiber() as Anti–Debug Trick in a really easy and smart way.</p>
<p>To understand how it works, let&#8217;s see whar DeleteFiber is, directly from MSDN:</p>
<p><strong>Deletes an existing fiber.</p>
<p>Syntax</p>
<p>VOID WINAPI DeleteFiber(<br />
__in  LPVOID lpFiber<br />
);</strong></p>
<p>lpFiber is the address of the fiber to be deleted.</p>
<p>Important to  say that the <strong>DeleteFiber</strong> function deletes all data associated with the fiber.<br />
This data includes the stack, a subset of the registers, and the fiber data.</p>
<p>Now let&#8217;s see a basical use of DeleteFiber():</p>
<p><strong>#define _WIN32_WINNT 0&#215;0400</strong><br />
<strong>#include &lt;windows.h&gt;</strong></p>
<p><strong>int main(void)</strong><br />
<strong>{</strong><br />
<strong> char fiber[1024] = {0}; </strong><br />
<strong> DeleteFiber(fiber); </strong><br />
<strong> return EXIT_SUCCESS;</strong><br />
<strong>}</strong></p>
<p>After showing the basical use of DeleteFiber let&#8217;s see how can be implemented as Anti-<strong>Debug</strong> Trick,<br />
I insert here direcly the code:</p>
<p><strong>#define _WIN32_WINNT 0&#215;0400</strong><br />
<strong>#include &lt;windows.h&gt;</strong><br />
<strong>#include &lt;stdio.h&gt;</strong></p>
<p><strong>int main(void)</strong><br />
<strong>{</strong><br />
<strong>char fib[1024] = {0}; </strong><br />
<strong> DeleteFiber(fib);</strong></p>
<p><strong> if(GetLastError() == 0&#215;00000057)</strong><br />
<strong> MessageBoxA(NULL,&#8221;This process is NOT debugged&#8221;,&#8221;Info&#8221;,MB_OK);</strong><br />
<strong> else</strong><br />
<strong> MessageBoxA(NULL,&#8221;This process IS debugged&#8221;,&#8221;Info&#8221;,MB_OK);</strong><br />
<strong> </strong><br />
<strong> </strong><br />
<strong> return EXIT_SUCCESS;</strong><br />
<strong>}</strong><br />
As you can understant we can resume this trick into two cases:</p>
<ul>
<li>If the process is <strong>NOT</strong> debugged DeleteFiber give us an Error Code of <strong>0&#215;00000057</strong> that corresponds to <strong>ERROR_INVALID_PARAMETER</strong></li>
<li></li>
<li>If the process <strong>IS </strong>debugged the error code is differs from 0&#215;00000057</li>
</ul>
<p>What to say it&#8217;s really easy to implement and really effective for all kind of debuggers, with a</p>
<p>bit of junk code that confuses ideas the conditional check could be placed really distant from the</p>
<p>DeleteFiber() itself.</p>
<p><span style="font-size:small;"><strong>Inside DeleteFiber()</strong></span></p>
<p>Now we will see how DeleteFiber internally works to understand why this should be used as</p>
<p>Anti-Debug trick.</p>
<p>This is the Dead List:</p>
<p>00401000  PUSH DF.00403370</p>
<p>00401005  CALL DWORD PTR DS:[&lt;&amp;KERNEL32.DeleteFiber&gt;;  kernel32.DeleteFiber</p>
<p>inside DeleteFiber()</p>
<p>7C825A9F &gt;   MOV EDI,EDI          ; DF.00403778</p>
<p>7C825AA1     PUSH EBP</p>
<p>7C825AA2     MOV EBP,ESP</p>
<p>7C825AA4     PUSH ECX</p>
<p>7C825AA5     PUSH ESI</p>
<p>7C825AA6     MOV EAX,DWORD PTR FS:[18]     <strong>;_TEB Struct</strong></p>
<p>7C825AAC     MOV ECX,DWORD PTR DS:[EAX+10] <strong>;pointer to _TIB.FiberData field</strong></p>
<p>7C825AAF     MOV ESI,DWORD PTR SS:[EBP+8]  <strong>;lpFiber</strong></p>
<p>7C825AB2     CMP ECX,ESI</p>
<p>7C825AB4     JE kernel32.7C826596          <strong>;ExitThread if( FiberData == lpfiber)</strong></p>
<p>7C825ABA     AND DWORD PTR SS:[EBP-4],0    <strong>;Clears this Stack location</strong></p>
<p>7C825ABE     PUSH 8000                     <strong>;MEM_RELEASE</strong></p>
<p>7C825AC3     LEA EAX,DWORD PTR SS:[EBP-4]</p>
<p>7C825AC6     PUSH EAX</p>
<p>7C825AC7     LEA EAX,DWORD PTR DS:[ESI+10]</p>
<p>7C825ACA     PUSH EAX</p>
<p>7C825ACB     PUSH -1</p>
<p>7C825ACD     CALL DWORD PTR DS:[&lt;&amp;ntdll.NtFreeVirtual&gt;  ntdll.ZwFreeVirtualMemory</p>
<p>7C825AD3     MOV EAX,DWORD PTR FS:[18]        <strong>;_TEB Struct</strong></p>
<p>7C825AD9     MOV EAX,DWORD PTR DS:[EAX+30]    <strong>;points to _PEB Struct</strong></p>
<p>7C825ADC     PUSH ESI                         <strong>;lpFiber</strong></p>
<p>7C825ADD     PUSH 0                           <strong>;0&#215;00000000</strong></p>
<p>7C825ADF     PUSH DWORD PTR DS:[EAX+18]       <strong>;PEB.ProcessHeap</strong></p>
<p>7C825AE2     CALL DWORD PTR DS:[&lt;&amp;ntdll.RtlFreeHeap&gt;] <strong>; ntdll.RtlFreeHeap</strong></p>
<p>7C825AE8     POP ESI</p>
<p>7C825AE9     LEAVE</p>
<p>7C825AEA     RETN 4</p>
<p>In the first part of DeleteFiber is retrived the <strong>_TEB</strong> structure and specifically a member of</p>
<p>_TIB structure located at 10h</p>
<p>0:003&gt; <strong>dt nt!_TEB -b</strong></p>
<p>ntdll!_TEB</p>
<p>+0&#215;000 NtTib            : _NT_TIB</p>
<p>+0&#215;000 ExceptionList    : Ptr32</p>
<p>&#8230;</p>
<p>+0&#215;00c SubSystemTib     : Ptr32</p>
<p><strong>+0&#215;010 FiberData        : Ptr32 </strong></p>
<p>and next if FiberData is equal to our Fiber&#8217;s Address it means that Fiber is suicinding itself</p>
<p>and system calls ExitThread(), next we can notice a NtFreeVirtualMemory call with the following</p>
<p>parameters:</p>
<p><strong>NtFreeVirtualMemory(NtCurrentProcess(), &amp;pStackAllocBase,&amp;nSize,MEM_RELEASE);</strong></p>
<p>The system deallocates the used stack and finally calls RtlFreeHeap in this manner:</p>
<p><strong>RtlFreeHeap(GetProcessHeap(), 0, lpFiber);</strong></p>
<p>This last call clarifies totally the presence of <strong>ERROR_INVALID_PARAMETER </strong><span>because has we have seen</span></p>
<p><span> DeleteFiber is directly correlated with Heap, and Heap Memory presents a set of Flags that</span></p>
<p><span>characterize the Heap itself.</span></p>
<p><span>These Flags differs in case the process </span><strong>IS</strong><span> debugged or </span><strong>NOT</strong><span>, so we can suppose that these flags</span></p>
<p><span>are created when the exe itself is executed, in other words at Process Creation Time. Under</span></p>
<p><span>Windows NT processes are created through </span>PspUserThreadStartup and inside it we can found</p>
<p>LdrInitializeThunk, that as Russinovich sais <em>The LdrInitializeThunk routine initializes the</em></p>
<p><em>loader, </em><em><strong>heap manager</strong></em><em>, NLS tables, thread-local storage (TLS) array, and critical section</em></p>
<p><em>structures. </em><span style="font-style:normal;">By going more deep we can see that there is a specific function that fill the PEB</span></p>
<p><span style="font-style:normal;">Struct of the new process </span><span style="font-style:normal;"><strong>MmCreatePeb()</strong></span><span style="font-style:normal;">, PEB is important because between his various fields</span></p>
<p><span style="font-style:normal;">are stored Heap Flags of our process.</span><span> I&#8217;m talking about </span><strong>NtGlobalFlag, </strong><span>for a debugged process</span></p>
<p><span>these flags are:</span></p>
<p><span>#define </span><strong>FLG_HEAP_ENABLE_TAIL_CHECK</strong><span> 0&#215;00000010</span></p>
<p><span>#define </span><strong>FLG_HEAP_ENABLE_FREE_CHECK</strong><span> 0&#215;00000020</span></p>
<p><span>#define </span><strong>FLG_HEAP_VALIDATE_PARAMETERS</strong><span> 0&#215;00000040</span></p>
<p><span>Now if a process has these flags enabled ( </span><strong>HeapDebug</strong><span> ) RtlFreeHeap will fail the Heap freeing and</span></p>
<p><span> this error will be propagated to DeleteFiber() that will exit with an </span><strong>ERROR_INVALID_PARAMETER.</strong></p>
<p><span style="font-size:small;"><strong>Anti Anti-Debug</strong></span></p>
<p>Due to the fact that the Heap Validation is accomplished at Processs Creation Time, one</p>
<p>countermeasure against Anti-Debug will be to attach the debugger after that the process is created.</p>
<p>If you are using WinDbg could be used the <strong>HeapDebug</strong> option ( <strong>-hd</strong> )</p>
<p><span>Between the function involved in process creation we have also LdrQueryImageFileExecutionOptions</span></p>
<p><span>that mantains trace of IFEO ( Image File Execution Options structure) this struct is located into</span></p>
<p><span>Registry under the path</span></p>
<p><span>[</span><strong>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\</strong><span>]</span></p>
<p>The various possible values are:</p>
<p>Debugger</p>
<p>DisableHeapLookaside</p>
<p>ShutdownFlags</p>
<p>MinimumStackCommitInBytes</p>
<p>ExecuteOptions</p>
<p><strong>GlobalFlag</strong></p>
<p>DebugProcessHeapOnly</p>
<p>ApplicationGoo</p>
<p>RpcThreadPoolThrottle</p>
<p>GlobalFlag can be used to modify NtGlobalFlag, so if you set this key entry to NULL, Heap of the</p>
<p>debugged program will looks as an undebugged one, read this as an Anti-Anti Debug Trick :).<br />
<strong>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\</strong></p>
<p><strong>Target.exe]</strong></p>
<pre style="text-align:left;"><strong>"GlobalFlag"=""</strong></pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/117/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/117/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=117&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/07/31/inside-deletefiber-as-anti-debug-trick/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>My Linkedin Profile</title>
		<link>http://evilcodecave.wordpress.com/2008/07/30/my-linkedin-profile/</link>
		<comments>http://evilcodecave.wordpress.com/2008/07/30/my-linkedin-profile/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 08:00:35 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[TechLife]]></category>

		<category><![CDATA[Giuseppe Bonfa]]></category>

		<category><![CDATA[Linkedin Profile]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=113</guid>
		<description><![CDATA[Hi,
Here you can see my Linkedin Profile
Have a nice Day,
Evilcry
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Here you can see my <strong><a href="http://www.linkedin.com/in/evilcry">Linkedin Profile</a></strong></p>
<p>Have a nice Day,</p>
<p>Evilcry</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/113/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/113/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/113/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=113&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/07/30/my-linkedin-profile/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>Fake Italian uTorrent Website and Malicious Application</title>
		<link>http://evilcodecave.wordpress.com/2008/07/28/fake-italian-utorrent-website-and-malicious-application/</link>
		<comments>http://evilcodecave.wordpress.com/2008/07/28/fake-italian-utorrent-website-and-malicious-application/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 05:50:34 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[(In)Security]]></category>

		<category><![CDATA[Backdoor.Win32.Small.exw]]></category>

		<category><![CDATA[Fake uTorrent]]></category>

		<category><![CDATA[install_utorrent1.8rc6.upx.exe.exe]]></category>

		<category><![CDATA[www.utorrent.cc]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=110</guid>
		<description><![CDATA[Hi,
Just yesterday I&#8217;ve searched the newest uTorrent client, and the first record appeared in google
by searching &#8220;uTorrent&#8221; is

http://www.utorrent.cc/it/
This is a Fake uTorrent Website, cause the real one is:

http://www.utorrent.com
As you can see the page looks pretty well engineered apart the repetitions of  &#8220;Download Here&#8221; in the same page.
Let&#8217;s see the application..
MALWARE MALWAREMALWARE MALWAREMALWARE MALWAREMALWARE MALWAREMALWARE


http://www.utorrent.cc/it/install_utorrent1.8rc6.upx.exe.exe
MALWARE [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Just yesterday I&#8217;ve searched the newest<strong> uTorrent client</strong>, and the first record appeared in google<br />
by searching &#8220;uTorrent&#8221; is</p>
<div class="code">
<p><strong>http://www.utorrent.cc/it/</strong></div>
<p>This is a <span style="color:#ff0000;"><strong>Fake uTorrent Website</strong></span>, cause the real one is:</p>
<div class="code">
<p><strong>http://www.utorrent.com</strong></div>
<p>As you can see the page looks pretty well engineered apart the repetitions of  &#8220;Download Here&#8221; in the same page.</p>
<p>Let&#8217;s see the application..</p>
<p><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE<br />
</span></strong></p>
<div class="code">
<p><strong>http://www.utorrent.cc/it/install_utorrent1.8rc6.upx.exe.exe</strong></div>
<p><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE MALWARE</span></strong><strong><span style="color:#ff0000;">MALWARE </span></strong></p>
<p>Really suspicious</p>
<p><strong>install_utorrent1.8rc6.upx.exe.exe</strong></p>
<p>First of all because uTorrent is a <strong>Standalone Executable</strong> and second for the strange final name<br />
<strong>upx.exe.exe</strong></p>
<p>By Virus scan with Jotti service we can see that this application is <strong> </strong></p>
<p><span style="color:#ff0000;"><strong>Kaspersky: Found Backdoor.Win32.Small.exw</strong></span></p>
<p>See you to the next post.. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/110/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/110/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=110&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/07/28/fake-italian-utorrent-website-and-malicious-application/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>SetUnhandledExceptionFilter Anti Debug Trick</title>
		<link>http://evilcodecave.wordpress.com/2008/07/24/setunhandledexception-filter-anti-debug-trick/</link>
		<comments>http://evilcodecave.wordpress.com/2008/07/24/setunhandledexception-filter-anti-debug-trick/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 14:22:57 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[C / C++ (Visual Studio Based) Coding]]></category>

		<category><![CDATA[Debugging &amp; Disassembling]]></category>

		<category><![CDATA[Reverse Code Engineering]]></category>

		<category><![CDATA[Anti Debug Trick]]></category>

		<category><![CDATA[GetCurrentProcess]]></category>

		<category><![CDATA[NtQueryInformationProcess]]></category>

		<category><![CDATA[SetUnhandledExceptionFilter]]></category>

		<category><![CDATA[UnhandledExceptionFilter]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=105</guid>
		<description><![CDATA[Hi,
SetUnhandledExceptionFilter() Anti Debug Trick is frequently used, especially in Malware Applications. Around here there are various plugins for Olly that allows the Reverser to trasparently debug this kind of protection, so there is not a real necessity add other words about the mere practical part.
Due to the fact that today, too many young reversers uses [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p><strong>SetUnhandledExceptionFilter() Anti Debug Trick</strong> is frequently used, especially in <strong>Malware Applications</strong>. Around here there are various plugins for Olly that allows the Reverser to trasparently debug this kind of protection, so there is not a real necessity add other words about the mere practical part.</p>
<p>Due to the fact that today, too many <strong>young reversers </strong>uses a ton of plugins anti - anti - xxx without knowing how internally they works, I decided to expose here SetUnhandledExceptionFilter() Anti Debug Trick from Internals.</p>
<p>First of all, what is SetUnhandledExceptionFilter() ? according to MSDN documentation:</p>
<p><strong>Enables an application to supersede the top-level exception handler of each thread of a process.</strong></p>
<p><strong>After calling this function, if an exception occurs in a process that is not being debugged, and the exception makes it to the unhandled exception filter, that filter will call the exception filter function specified by the <em>lpTopLevelExceptionFilter</em> parameter.</strong></p>
<p>And this is the Syntax:</p>
<pre class="libCScode"><strong>LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(
__in  LPTOP_LEVEL_EXCEPTION_FILTER <em>lpTopLevelExceptionFilter</em></strong>
);</pre>
<p>lpTopLevelExceptionFilter is a pointer to top-level exception filter function that will be called whenever the  <strong>UnhandledExceptionFilter</strong> function gets control, and the process is not being debugged. A value of NULL for this parameter specifies default handling within <strong>UnhandledExceptionFilter</strong>.</p>
<p>Usually, in absence of an <strong>UnhandledExceptionFilter</strong> the topmost handler called when an uncatched exception occours, is the default one provided by <strong>Windows</strong> Itself, the classical MessageBox that advices the user that an Unhandled Exception has occured.</p>
<p>But Windows allow programs to use custom Handlers for UnhandledException. The core of the trick is here, if the application is <strong>NOT debugged</strong>, the application is able to call the <strong>Custom Handler</strong>, but if the application <strong>IS debugged</strong> the <strong>Custom Handler</strong> will be never called.</p>
<p>The possibility of cognitive differentiation make obviously able the target application to apply a series of countemeasures against debugging, from detection to code hidding.</p>
<p>Just remember that due to the architecture of Windows Exception Handling, in <strong>every case</strong> is called UnhlandledExceptionFilter() function, and this will our point of attack (for anti - anti dbg trick).</p>
<p>This is the general inner meccanism of SetUnhandledExceptionFilter(), going more deep we observe the call stack of the first thread of any Win32 application, we can see that execution in every case is reported to <strong>BaseProcess</strong>, here the pseudo definition:</p>
<pre>VOID BaseProcessStart( PPROCESS_START_ROUTINE pfnStartAddr )
{
    __try
    {
        ExitThread( (pfnStartAddr)() );
    }
    __except( UnhandledExceptionFilter( GetExceptionInformation()) )
    {
        ExitProcess( GetExceptionCode() );
    }
}</pre>
<p>The same thing happens for threads, by referencing to <strong>BaseThreadStart</strong>:</p>
<pre>VOID BaseThreadStart( PTHREAD_START_ROUTINE pfnStartAddr, PVOID pParam )
{
    __try
    {
        ExitThread( (pfnStartAddr)(pParam) );
    }
    __except( UnhandledExceptionFilter(GetExceptionInformation()) )
    {
        ExitProcess( GetExceptionCode() );
    }
}</pre>
<p>All that happens inside BaseProcessStart() and BaseThreadStart() for what previously said, will be passed to the UnhandledExceptionFilter().</p>
<p>It&#8217;s now time to see what really is UnhandledExceptionFilter(), according to MSDN:</p>
<p><strong>An application-defined function that passes unhandled exceptions to the debugger, if the process is being debugged. Otherwise, it optionally displays an </strong><strong>Application Error message box and causes the exception handler to be executed. This function can be called only from within the filter expression of an exception handler.</strong></p>
<h4>Syntax</h4>
<div id="ctl00_rs1_mainContentContainer_ctl01_">
<pre class="libCScode"><strong>LONG WINAPI UnhandledExceptionFilter(
  __in  struct _EXCEPTION_POINTERS *<em>ExceptionInfo</em></strong>
);</pre>
</div>
<p>Became clear that UnhandledExceptionFilter represents the last choise for processing unhandled exceptions, so the Debugger Presence surely is located inside this function, let&#8217;s see a simplified version of this function:</p>
<pre>LONG UnhandledExceptionFilter( EXCEPTION_POINTERS* pep )
{
    DWORD rv;

    EXCEPTION_RECORD* per = pep-&gt;ExceptionRecord;

    if( ( per-&gt;ExceptionCode == EXCEPTION_ACCESS_VIOLATION ) &amp;&amp;
         ( per-&gt;ExceptionInformation[0] != 0 ) )
    {
        rv = BasepCheckForReadOnlyResource( per-&gt;ExceptionInformation[1] );

        if( rv == EXCEPTION_CONTINUE_EXECUTION )
            return EXCEPTION_CONTINUE_EXECUTION;
    }

    DWORD DebugPort = 0;

    rv = <span style="color:#ff0000;"><strong>NtQueryInformationProcess( GetCurrentProcess(), ProcessDebugPort,
                                    &amp;DebugPort, sizeof( DebugPort ), 0 );</strong></span>

    if( ( rv &gt;= 0 ) &amp;&amp; ( DebugPort != 0 ) )
    {
        // Yes, it is -&gt; Pass exception to the debugger
        return EXCEPTION_CONTINUE_SEARCH;
    }

    // Is custom filter for unhandled exceptions registered ?

    if( BasepCurrentTopLevelFilter != 0 )
    {
        // Yes, it is -&gt; Call the custom filter

        rv = (BasepCurrentTopLevelFilter)(pep);

        if( rv == EXCEPTION_EXECUTE_HANDLER )
            return EXCEPTION_EXECUTE_HANDLER;

        if( rv == EXCEPTION_CONTINUE_EXECUTION )
            return EXCEPTION_CONTINUE_EXECUTION;
    }   

}</pre>
<p>As you can see, inside UnhandledExceptionFilter() is called <strong>NtQueryInformationProcess()</strong> that has as first parameter our process and next DebugPort, this is done to know if the process is debugged.</p>
<p>All that we have to do to obtain an apparently undebugged process is to modify the first parameter (last pushed at debugging time), in other words we have to change the retur value of <strong>GetCurrentProcess()</strong> from <strong>0xFFFFFFFF </strong>to<strong> 0&#215;00000000</strong>.</p>
<p>So remember, when you have to overcome a SetUnhandledExceptionFilter() just put a Breakpoint for UnhandledExceptionFilter() and go inside this function to modify the previously exposed parameter <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thanks to Oleg Starodumov for pseudocodes <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>See you to the next blog post.. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/105/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/105/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=105&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/07/24/setunhandledexception-filter-anti-debug-trick/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>CartellaUnicaTasse.exe Italian Malware Reversing</title>
		<link>http://evilcodecave.wordpress.com/2008/07/15/cartellaunicatasseexe-italian-malware-reversing/</link>
		<comments>http://evilcodecave.wordpress.com/2008/07/15/cartellaunicatasseexe-italian-malware-reversing/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 12:25:59 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[(In)Security]]></category>

		<category><![CDATA[Reverse Code Engineering]]></category>

		<category><![CDATA[CartellaUnicaTasse.exe]]></category>

		<category><![CDATA[Italian Malware Reversing]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=104</guid>
		<description><![CDATA[Hi,
Long time has passed from my last blog post.
I&#8217;ve released CartellaUnicaTasse.exe An Italian Malware Case Study,
the paper can be downloaded here: http://evilcry.altervista.org/tuts/Mw/CartellaUnicaTasse.pdf
See you to the next post 
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Long time has passed from my last blog post.</p>
<p>I&#8217;ve released CartellaUnicaTasse.exe An Italian Malware Case Study,</p>
<p>the paper can be downloaded here: <strong><a href="http://evilcry.altervista.org/tuts/Mw/CartellaUnicaTasse.pdf">http://evilcry.altervista.org/tuts/Mw/CartellaUnicaTasse.pdf</a></strong></p>
<p>See you to the next post <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/104/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/104/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=104&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/07/15/cartellaunicatasseexe-italian-malware-reversing/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>ALL AFRICAN GAMES Another SCAM E-Mail</title>
		<link>http://evilcodecave.wordpress.com/2008/06/30/all-african-games-another-scam-e-mail/</link>
		<comments>http://evilcodecave.wordpress.com/2008/06/30/all-african-games-another-scam-e-mail/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 07:56:03 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[(In)Security]]></category>

		<category><![CDATA[ABUJA 2003]]></category>

		<category><![CDATA[Abuja National stadium]]></category>

		<category><![CDATA[alinarbar56@yahoo.com]]></category>

		<category><![CDATA[ALL AFRICAN GAMES]]></category>

		<category><![CDATA[mail scam fraud]]></category>

		<category><![CDATA[USD18.5M]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=102</guid>
		<description><![CDATA[Hi there,
Another &#8220;new&#8221; attempt of fraud from alinarbar56 (@) yahoo.com 
Good day to you.
I hope this letter meets you well, I am sorry if I
have intruded on your privacy or barged in on you
without your permission.I have a very rewarding
project which I think will be beneficial to both of us
putting trust,confidentialty and most of all [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi there,</p>
<p>Another &#8220;new&#8221; attempt of fraud from <strong><span style="color:#ff0000;">alinarbar56 (@) yahoo.com </span></strong></p>
<div style="direction:ltr;">Good day to you.</div>
<p>I hope this letter meets you well, I am sorry if I<br />
have intruded on your privacy or barged in on you<br />
without your permission.I have a very rewarding<br />
project which I think will be beneficial to both of us<br />
putting trust,confidentialty and most of all the fear<br />
of God into focus. If after going through this email<br />
you do not find it interesting please disregard it and<br />
send me a formal response.I was a member of the Abuja<br />
National stadium building and organizing committee of<br />
the just concluded &#8220;<strong>ALL AFRICAN GAMES</strong>&#8221; which was<br />
organized and hosted by Nigeria but before now I have<br />
been a director of sports in the Federal Ministry of<br />
Sports and Youth Development.We were appointed over 5<br />
years ago to supervise the building of the ultra<br />
modern <strong>Abuja National stadium</strong>, putting in place all<br />
equipments needed for the completion of the stadium<br />
which is acclaimed to be one of the best in the world<br />
today and also involved in the planning and hosting of<br />
the games.This project<br />
cost the government of Nigeria millions of dollars.</p>
<p>The stadium project has been completed,all equipments<br />
put in place and commissioned and used for the All<br />
African Games tagged &#8220;<strong>ABUJA 2003</strong>&#8220;.The accounts have<br />
been rendered to the government satisfactorily and we<br />
have received commendations for a job well done.During<br />
the construction, planning and execution of this<br />
project,as the chairman of contract award committee I<br />
was able to make some money for myself through<br />
contract that was awarded to Dewolfgang Gmbh which I<br />
over-invoiced to the tune of USD18.5M with the help of<br />
Dewolfgang contractor.All I want you to do is to<br />
assist me in clearing this amount while standing in as<br />
the owner and director of Vacknol Nigeria<br />
International Limited in whose name I made as the<br />
beneficiary of the funds.Vacknol Nigeria International<br />
Limited is an international company and could have a<br />
company anywhere in the world the mostimportant thing<br />
been that it is registered here in Nigeria as a<br />
limited liability company in line with the company and<br />
allied matters decree of Nigeria which I have since<br />
done, I have also in my possession some contract<br />
document which will act as proof that Vacknol Nigeria<br />
International Limited executed the contract as a sub<br />
contractor under the Dewolfgang Gmbh who is the major<br />
contractor that executed the contract that was over<br />
-invoiced.</p>
<p>On the payment of this money to you as the supplier in<br />
the name of Vacknol Nigeria International Limited<br />
because I will apply for the transfer in this name,and<br />
you as the director of the company. I will come to<br />
meet with you so that we can both sit down and discuss<br />
further,what kind of business we will enter into or if<br />
need be expand your already existing business, but<br />
actually I hope to establish a five star hotel and go<br />
into real estate development as these are life time<br />
businesses that I know are of high yeild interest any<br />
where in the world.I know you will be entitled to some<br />
percentage of this money as compensation for your<br />
efforts, Please feel free to indicate what you will<br />
take from this amount,as this is very important to me<br />
before we commence proceedings.I will tell you more<br />
about this when I hear from you.</p>
<p>Best Regards.</p>
<div style="direction:ltr;"><span class="sg"><span style="color:#888888;">Ali</span></span></div>
<p> </p>
<p><span class="sg">Have a nice Day,</span></p>
<p><span class="sg">Evilcry <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/102/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/102/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=102&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/06/30/all-african-games-another-scam-e-mail/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>Kernel Pool Overflows</title>
		<link>http://evilcodecave.wordpress.com/2008/06/22/kernel-pool-overflows/</link>
		<comments>http://evilcodecave.wordpress.com/2008/06/22/kernel-pool-overflows/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 17:01:17 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[(In)Security]]></category>

		<category><![CDATA[Driver Coding]]></category>

		<category><![CDATA[Driver Impersonation Attack]]></category>

		<category><![CDATA[Kernel Pool Overflows]]></category>

		<category><![CDATA[Windows Kernel Mode Security]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=100</guid>
		<description><![CDATA[Hi,
Device Drivers Security is not a really spreaded and known, not many researchers are involved into this field, one of my scope, in this blog is to summarize all material related to Windows Kernel Mode Security..
Here two intersing new papers about Kernel Pool Overflows and Driver Impersonation Attack:
http://immunityinc.com/downloads/KernelPool.odp
http://immunityinc.com/downloads/DriverImpersonationAttack_i2omgmt.pdf
See you to the next post.. 
  [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Device Drivers Security is not a really spreaded and known, not many researchers are involved into this field, one of my scope, in this blog is to summarize all material related to <strong>Windows Kernel Mode Security</strong>..</p>
<p>Here two intersing new papers about<strong> Kernel Pool Overflows</strong> and <strong>Driver Impersonation Attack</strong>:</p>
<p><strong><a href="http://immunityinc.com/downloads/KernelPool.odp">http://immunityinc.com/downloads/KernelPool.odp</a></strong></p>
<p><strong><a href="http://immunityinc.com/downloads/DriverImpersonationAttack_i2omgmt.pdf">http://immunityinc.com/downloads/DriverImpersonationAttack_i2omgmt.pdf</a></strong></p>
<p>See you to the next post.. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/100/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/100/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=100&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/06/22/kernel-pool-overflows/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
		<item>
		<title>CartellaUnicaTasse Trojan</title>
		<link>http://evilcodecave.wordpress.com/2008/06/20/cartellaunicatasse-trojan/</link>
		<comments>http://evilcodecave.wordpress.com/2008/06/20/cartellaunicatasse-trojan/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 10:18:26 +0000</pubDate>
		<dc:creator>evilcodecave</dc:creator>
		
		<category><![CDATA[(In)Security]]></category>

		<category><![CDATA[Reverse Code Engineering]]></category>

		<category><![CDATA[Cartella esattoriale n° 003 210400360968173]]></category>

		<category><![CDATA[CartellaUnicaTasse.exe]]></category>

		<category><![CDATA[Download1.exe]]></category>

		<category><![CDATA[Download2.exe]]></category>

		<category><![CDATA[Download3.exe]]></category>

		<category><![CDATA[loader_mef.exe]]></category>

		<category><![CDATA[mef.exe]]></category>

		<category><![CDATA[Trojan-Clicker.Win32.Agent.aqk]]></category>

		<category><![CDATA[Trojan-Downloader.Win32.VB.fcd]]></category>

		<category><![CDATA[Trojan.Win32.Dialer.qi]]></category>

		<category><![CDATA[Trojan.Win32.Small.atd]]></category>

		<guid isPermaLink="false">http://evilcodecave.wordpress.com/?p=98</guid>
		<description><![CDATA[Hi,
Today my Girl kindly signaled me an e-mail that she has received some time ago. This mail have as subject Cartella esattoriale n° 003 210400360968173 and contains an Executable in attachement called CartellaUnicaTasse.exe
This executable is packed with a layer of UPX so it can be easly unpacked, is also coded in VB6, this malware is [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>Today my Girl kindly signaled me an e-mail that she has received some time ago. This mail have as subject <strong>Cartella esattoriale n° 003 210400360968173</strong> and contains an Executable in attachement called <strong>CartellaUnicaTasse.exe</strong></p>
<p>This executable is packed with a layer of UPX so it can be easly unpacked, is also coded in VB6, this malware is actually detected  as <span class="attention"><strong>Trojan-Downloader.Win32.VB.fcd</strong> </span>by many AVs but is still working in all its functionalities.</p>
<p>From a fast analysis we can carve two URLs from which are downloaded two virusses:</p>
<p>hxxp://2{CENSORED}.biz/mef/download1.exe</p>
<p>hxxp://2{CENSORED}.biz/mef/download3.exe</p>
<p>Download1.exe -&gt; <strong><span class="attention">Trojan-Clicker.Win32.Agent.aqk</span></strong></p>
<p>Download2.exe -&gt; <strong><span class="attention">Trojan.Win32.Small.atd</span></strong></p>
<p>Download3.exe -&gt; <strong>Trojan.Win32.Dialer.qi</strong></p>
<p>loader_mef.exe -&gt; <strong><span class="attention">Trojan-Downloader.Win32.VB.fcd</span></strong></p>
<p>mef.exe -&gt; <strong><span class="attention">Trojan-Clicker.Win32.Agent.aqk</span></strong></p>
<p>I&#8217;ll analyze both Download1 and Download3 and I&#8217;ll post soon how these craps works <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>All these Malwares are written by an Italian, the downloader contains the path c:\Programmi\ and the Dialer contains also italian terms.</p>
<p>See you to the next post.. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/evilcodecave.wordpress.com/98/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/evilcodecave.wordpress.com/98/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/evilcodecave.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/evilcodecave.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/evilcodecave.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/evilcodecave.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/evilcodecave.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/evilcodecave.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/evilcodecave.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/evilcodecave.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/evilcodecave.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/evilcodecave.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=evilcodecave.wordpress.com&blog=1564474&post=98&subd=evilcodecave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://evilcodecave.wordpress.com/2008/06/20/cartellaunicatasse-trojan/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/evilcodecave-128.jpg" medium="image">
			<media:title type="html">evilcodecave</media:title>
		</media:content>
	</item>
	</channel>
</rss>