<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Funny coded malware</title>
	<atom:link href="http://zairon.wordpress.com/2008/06/29/funny-coded-malware/feed/" rel="self" type="application/rss+xml" />
	<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/</link>
	<description>something strange happens inside it</description>
	<lastBuildDate>Fri, 30 Oct 2009 18:39:42 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Charity</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4418</link>
		<dc:creator>Charity</dc:creator>
		<pubDate>Tue, 16 Jun 2009 12:57:58 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4418</guid>
		<description>Try and protect your computer.
If you are like me then you have probably tired many different types of scans to try and protect your computer. There are many different options available but I have found that most of them pick up the same bugs whether you pay for the scan or download a free version. Orbasoft Antispyware (http://www.orbasoft.com) is one of the best that I have found so far and it cost less than many of the other well-known scans on the market today. If you are searching for a good scan I suggest that you check out the antispyware solution from Orbasoft.</description>
		<content:encoded><![CDATA[<p>Try and protect your computer.<br />
If you are like me then you have probably tired many different types of scans to try and protect your computer. There are many different options available but I have found that most of them pick up the same bugs whether you pay for the scan or download a free version. Orbasoft Antispyware (<a href="http://www.orbasoft.com" rel="nofollow">http://www.orbasoft.com</a>) is one of the best that I have found so far and it cost less than many of the other well-known scans on the market today. If you are searching for a good scan I suggest that you check out the antispyware solution from Orbasoft.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: metr0</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4380</link>
		<dc:creator>metr0</dc:creator>
		<pubDate>Mon, 04 Aug 2008 11:36:57 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4380</guid>
		<description>I experienced the same behaviour with MSVC9. Speed Optimisation causes the compiler to replace loop with a couple of linear instructions, behaving the same. But I&#039;m not sure if a compiler would have done it in such a big loop? 0o

Concerning the GPA part with later error checking, I think that&#039;s fine if the APIs aren&#039;t used in between - even though it&#039;s a lack of speed since the whole upcoming code might rely on all APIs being resolved correctly. ;)</description>
		<content:encoded><![CDATA[<p>I experienced the same behaviour with MSVC9. Speed Optimisation causes the compiler to replace loop with a couple of linear instructions, behaving the same. But I&#8217;m not sure if a compiler would have done it in such a big loop? 0o</p>
<p>Concerning the GPA part with later error checking, I think that&#8217;s fine if the APIs aren&#8217;t used in between &#8211; even though it&#8217;s a lack of speed since the whole upcoming code might rely on all APIs being resolved correctly. ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: apuromafo</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4374</link>
		<dc:creator>apuromafo</dc:creator>
		<pubDate>Wed, 09 Jul 2008 14:47:42 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4374</guid>
		<description>nice work done :) but where the malware xploit the msn?..well is a misterius :)
quite nice , well very nice :)</description>
		<content:encoded><![CDATA[<p>nice work done :) but where the malware xploit the msn?..well is a misterius :)<br />
quite nice , well very nice :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zairon</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4370</link>
		<dc:creator>zairon</dc:creator>
		<pubDate>Thu, 03 Jul 2008 20:15:16 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4370</guid>
		<description>File was produces by Visual C++ v6, and according to &quot;Developing Optimized Code with Microsoft Visual C++ 6.0&quot; technical article (of course available at microsoft.com) :
&quot;Loop unrolling allows the compiler to turn the loop into straight-line code, which improves speed at the expense of size. On x86 processors, loop unrolling can make a dramatic speed improvement if multiple-byte operations can replace single-byte operations that run in the same number of clocks.&quot;

I have to read more than few lines from an article, but from the 3 examples above this concept could be fully applied to the first one only (the big decryption block). 
It still doesn&#039;t have sense right now. I&#039;ll investigate a bit more later. Thx.</description>
		<content:encoded><![CDATA[<p>File was produces by Visual C++ v6, and according to &#8220;Developing Optimized Code with Microsoft Visual C++ 6.0&#8243; technical article (of course available at microsoft.com) :<br />
&#8220;Loop unrolling allows the compiler to turn the loop into straight-line code, which improves speed at the expense of size. On x86 processors, loop unrolling can make a dramatic speed improvement if multiple-byte operations can replace single-byte operations that run in the same number of clocks.&#8221;</p>
<p>I have to read more than few lines from an article, but from the 3 examples above this concept could be fully applied to the first one only (the big decryption block).<br />
It still doesn&#8217;t have sense right now. I&#8217;ll investigate a bit more later. Thx.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: R</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4369</link>
		<dc:creator>R</dc:creator>
		<pubDate>Thu, 03 Jul 2008 19:59:32 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4369</guid>
		<description>Speed optimisation, no jump back, no roll count and probably some cool stuff with the pipeline too.</description>
		<content:encoded><![CDATA[<p>Speed optimisation, no jump back, no roll count and probably some cool stuff with the pipeline too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zairon</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4368</link>
		<dc:creator>zairon</dc:creator>
		<pubDate>Thu, 03 Jul 2008 19:41:41 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4368</guid>
		<description>Thx for the info, I didn&#039;t know the existence of such parameters... my fault.
Now the question is: why do you need to unroll loops?</description>
		<content:encoded><![CDATA[<p>Thx for the info, I didn&#8217;t know the existence of such parameters&#8230; my fault.<br />
Now the question is: why do you need to unroll loops?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: R</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4367</link>
		<dc:creator>R</dc:creator>
		<pubDate>Thu, 03 Jul 2008 19:31:53 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4367</guid>
		<description>I am not sure if you missed something really simple or I didn&#039;t understand your post, but it&#039;s a standard compiler optimisation to unrool loops in decryption routines. I think that -O3 or inlining optimisations will do it. Otherwise check Intel C compiler&#039;s optimisation parameters, there are tons of them like: 

/Qunroll[n]      set maximum number of times to unroll loops.  Omit n to use
                 default heuristics.  Use n=0 to disable loop unroller.

/Qopt-jump-tables:
                       default - let the compiler decide when a jump table, a
                                 series of if-then-else constructs or a
                                 combination is generated
                       never   - do not generate jump tables and always use
                                 if-then-else constructs
                       large   - generate jump tables up to a certain pre-
                                 defined size (64K entries)

/Qinline-min-size=
           set size limit for inlining small routines</description>
		<content:encoded><![CDATA[<p>I am not sure if you missed something really simple or I didn&#8217;t understand your post, but it&#8217;s a standard compiler optimisation to unrool loops in decryption routines. I think that -O3 or inlining optimisations will do it. Otherwise check Intel C compiler&#8217;s optimisation parameters, there are tons of them like: </p>
<p>/Qunroll[n]      set maximum number of times to unroll loops.  Omit n to use<br />
                 default heuristics.  Use n=0 to disable loop unroller.</p>
<p>/Qopt-jump-tables:<br />
                       default &#8211; let the compiler decide when a jump table, a<br />
                                 series of if-then-else constructs or a<br />
                                 combination is generated<br />
                       never   &#8211; do not generate jump tables and always use<br />
                                 if-then-else constructs<br />
                       large   &#8211; generate jump tables up to a certain pre-<br />
                                 defined size (64K entries)</p>
<p>/Qinline-min-size=<br />
           set size limit for inlining small routines</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: neox</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4366</link>
		<dc:creator>neox</dc:creator>
		<pubDate>Mon, 30 Jun 2008 09:06:48 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4366</guid>
		<description>I remember seeing an option to unfold loops for speed optimization.</description>
		<content:encoded><![CDATA[<p>I remember seeing an option to unfold loops for speed optimization.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zairon</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4363</link>
		<dc:creator>zairon</dc:creator>
		<pubDate>Sun, 29 Jun 2008 18:05:22 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4363</guid>
		<description>As I wrote in the post I got it from Malware Domain List forum, it&#039;s a msn malware and you should be able to find it easily (There should be a copy at Offensive Computing as well). MD5 of the file I have is 0DA60B4D34D96FD50CC06DDBC87F0891.
There are some other samples out there (same family I suppose), from a quick glance they are almost equal except the decryption key...</description>
		<content:encoded><![CDATA[<p>As I wrote in the post I got it from Malware Domain List forum, it&#8217;s a msn malware and you should be able to find it easily (There should be a copy at Offensive Computing as well). MD5 of the file I have is 0DA60B4D34D96FD50CC06DDBC87F0891.<br />
There are some other samples out there (same family I suppose), from a quick glance they are almost equal except the decryption key&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 0x00</title>
		<link>http://zairon.wordpress.com/2008/06/29/funny-coded-malware/#comment-4362</link>
		<dc:creator>0x00</dc:creator>
		<pubDate>Sun, 29 Jun 2008 15:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://zairon.wordpress.com/?p=133#comment-4362</guid>
		<description>plz drop md5 here or upload malware .</description>
		<content:encoded><![CDATA[<p>plz drop md5 here or upload malware .</p>
]]></content:encoded>
	</item>
</channel>
</rss>
