<?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/"
		>
<channel>
	<title>Comments on: Is using a JS packer a security threat?</title>
	<atom:link href="http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 09 Feb 2012 06:55:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
	<item>
		<title>By: DiSiLLUSiON</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260975</link>
		<dc:creator>DiSiLLUSiON</dc:creator>
		<pubDate>Tue, 29 Jan 2008 16:54:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260975</guid>
		<description>@Chris Heilmann:

Yes, here. Not at the source, though.</description>
		<content:encoded><![CDATA[<p>@Chris Heilmann:</p>
<p>Yes, here. Not at the source, though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Heilmann</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260955</link>
		<dc:creator>Chris Heilmann</dc:creator>
		<pubDate>Tue, 29 Jan 2008 13:32:39 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260955</guid>
		<description>Hmm interesting that none of the comments arguing with the title of the post actually quote the title of the post. It is a question, not a statement.</description>
		<content:encoded><![CDATA[<p>Hmm interesting that none of the comments arguing with the title of the post actually quote the title of the post. It is a question, not a statement.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DiSiLLUSiON</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260940</link>
		<dc:creator>DiSiLLUSiON</dc:creator>
		<pubDate>Tue, 29 Jan 2008 04:48:41 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260940</guid>
		<description>I think the article kinda has the wrong name, instead of &quot;The Paker 2.0 Thread&quot;, it should be &quot;We are lazy, please don&#039;t pack your scripts since it&#039;ll be more work for us.&quot;

I mean, seriously, do you ever hear antivirus vendors complaining about UPX and all the other executable compression techniques used? Well, except for Norton and a few others who, once upon a time, decided that all packed .exe&#039;s were evil (and strained their telephone-support department as a result), most vendors accept that it&#039;s just one more variable they have to deal with.

It&#039;s up to the developer(s) of a software package to deliver a high quality product. In JavaScript terms, that also means that it should have a low footprint (as evidenced by tests that the cache isn&#039;t nearly as much used as you would have liked).

Besides, the single most important reason JavaScript developers use a packer is not because of it&#039;s packing techniques (it&#039;s quite feasible to compress without packing; gzip anyone?) but for it&#039;s obfuscation techniques. You don&#039;t want some scriptkiddy mangling your code and posting the mangled code everywhere. Knowledgable people with (perhaps) ill-intent can de-obfuscate the code anyways. If they can do it in two or three steps, it shouldn&#039;t be too hard to automate the process.

So no, packing code does not provide a security threat. In it&#039;s most extreme form (eval), it does use extra processing power on the client. But that&#039;s another discussion alltogether.</description>
		<content:encoded><![CDATA[<p>I think the article kinda has the wrong name, instead of &#8220;The Paker 2.0 Thread&#8221;, it should be &#8220;We are lazy, please don&#8217;t pack your scripts since it&#8217;ll be more work for us.&#8221;</p>
<p>I mean, seriously, do you ever hear antivirus vendors complaining about UPX and all the other executable compression techniques used? Well, except for Norton and a few others who, once upon a time, decided that all packed .exe&#8217;s were evil (and strained their telephone-support department as a result), most vendors accept that it&#8217;s just one more variable they have to deal with.</p>
<p>It&#8217;s up to the developer(s) of a software package to deliver a high quality product. In JavaScript terms, that also means that it should have a low footprint (as evidenced by tests that the cache isn&#8217;t nearly as much used as you would have liked).</p>
<p>Besides, the single most important reason JavaScript developers use a packer is not because of it&#8217;s packing techniques (it&#8217;s quite feasible to compress without packing; gzip anyone?) but for it&#8217;s obfuscation techniques. You don&#8217;t want some scriptkiddy mangling your code and posting the mangled code everywhere. Knowledgable people with (perhaps) ill-intent can de-obfuscate the code anyways. If they can do it in two or three steps, it shouldn&#8217;t be too hard to automate the process.</p>
<p>So no, packing code does not provide a security threat. In it&#8217;s most extreme form (eval), it does use extra processing power on the client. But that&#8217;s another discussion alltogether.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobius</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260925</link>
		<dc:creator>Tobius</dc:creator>
		<pubDate>Mon, 28 Jan 2008 18:43:26 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260925</guid>
		<description>A developer describes something technical as bad, wrong or evil either because of laziness or ignorance. The article should have been titled &quot;The Packer 2.0 Non-Threat&quot; because what Don Jackson is saying has very little to do with security or any real threat for that matter.

Cows eat grass, Grass is green, Therefore cows are green.

Malware authors use packer on JavaScript, Packer obfuscates JavaScript code, Therefore JavaScript code obfuscated with Packer is malware.

This article was just written to get a rise out of people. So to sum this all up:
If you can use mod_deflate or mod_gzip then do so. If you can use Packer, YUI Min, or JSMin in your caching engine or in your build scripts (i.e. Ant) then do so. Don&#039;t let untrusted sources gain access to your client&#039;s code repository. Happy coding!</description>
		<content:encoded><![CDATA[<p>A developer describes something technical as bad, wrong or evil either because of laziness or ignorance. The article should have been titled &#8220;The Packer 2.0 Non-Threat&#8221; because what Don Jackson is saying has very little to do with security or any real threat for that matter.</p>
<p>Cows eat grass, Grass is green, Therefore cows are green.</p>
<p>Malware authors use packer on JavaScript, Packer obfuscates JavaScript code, Therefore JavaScript code obfuscated with Packer is malware.</p>
<p>This article was just written to get a rise out of people. So to sum this all up:<br />
If you can use mod_deflate or mod_gzip then do so. If you can use Packer, YUI Min, or JSMin in your caching engine or in your build scripts (i.e. Ant) then do so. Don&#8217;t let untrusted sources gain access to your client&#8217;s code repository. Happy coding!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Schill</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260896</link>
		<dc:creator>Schill</dc:creator>
		<pubDate>Sun, 27 Jan 2008 18:17:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260896</guid>
		<description>Sorry, the script got stripped out from above - should be:
script src=06014.js 
script src=real.js 
script src=07055.js 
script src=yahoo.js</description>
		<content:encoded><![CDATA[<p>Sorry, the script got stripped out from above &#8211; should be:<br />
script src=06014.js<br />
script src=real.js<br />
script src=07055.js<br />
script src=yahoo.js</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Schill</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260895</link>
		<dc:creator>Schill</dc:creator>
		<pubDate>Sun, 27 Jan 2008 18:16:00 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260895</guid>
		<description>I forgot to mention - some examples I&#039;ve seen in the wild using packer etc., go like this (here&#039;s the recent SQL injection-based attack one)..
 injected on the &quot;hacked&quot; site writes out an iframe which points to an HTML file containing:
&#160;




&#160;
These are the individual exploits, basically copy-and-pasted proof of RealPlayer / Yahoo! Messenger DLL proof of concept exploit code (open + save arbitrary URL to c:\, etc.), complete with comments and everything from the sites publishing them - the catch is that these are doubly-obfuscated. First, they are compessed with Packer or something similar, and then the eval()ed result of that is a large document.write(unescape(bigAssString)) call, where the latter is some concatenated thing of escaped characters.
&#160;
This I believe was used in exploit code hosted on &quot;uc8010&quot; (dot com), &lt;a href=&quot;http://isc.sans.org/diary.html?storyid=3810&quot; rel=&quot;nofollow&quot;&gt;related discussion at sans.org&lt;/a&gt;. I wasn&#039;t able to quickly find any sample code, sorry. ;)</description>
		<content:encoded><![CDATA[<p>I forgot to mention &#8211; some examples I&#8217;ve seen in the wild using packer etc., go like this (here&#8217;s the recent SQL injection-based attack one)..<br />
 injected on the &#8220;hacked&#8221; site writes out an iframe which points to an HTML file containing:<br />
&nbsp;</p>
<p>&nbsp;<br />
These are the individual exploits, basically copy-and-pasted proof of RealPlayer / Yahoo! Messenger DLL proof of concept exploit code (open + save arbitrary URL to c:\, etc.), complete with comments and everything from the sites publishing them &#8211; the catch is that these are doubly-obfuscated. First, they are compessed with Packer or something similar, and then the eval()ed result of that is a large document.write(unescape(bigAssString)) call, where the latter is some concatenated thing of escaped characters.<br />
&nbsp;<br />
This I believe was used in exploit code hosted on &#8220;uc8010&#8243; (dot com), <a href="http://isc.sans.org/diary.html?storyid=3810" rel="nofollow">related discussion at sans.org</a>. I wasn&#8217;t able to quickly find any sample code, sorry. ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Schill</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260894</link>
		<dc:creator>Schill</dc:creator>
		<pubDate>Sun, 27 Jan 2008 17:42:56 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260894</guid>
		<description>I like the idea of packer and related JS-based compression scripts, particularly for people who may not have the ability to configure gzip etc. Whitelisting packer-based scripts is asking for trouble; instead, a JS runtime should eval script and observe its &quot;execution lifecycle.&quot; This might seem complex, but I think it&#039;s the way things are headed. (UPX in WinPE .EXEs as a good historical example, I see malware distributed with it still today.) Presumably signatures and/or URL identifiers would be other methods, if not already used.</description>
		<content:encoded><![CDATA[<p>I like the idea of packer and related JS-based compression scripts, particularly for people who may not have the ability to configure gzip etc. Whitelisting packer-based scripts is asking for trouble; instead, a JS runtime should eval script and observe its &#8220;execution lifecycle.&#8221; This might seem complex, but I think it&#8217;s the way things are headed. (UPX in WinPE .EXEs as a good historical example, I see malware distributed with it still today.) Presumably signatures and/or URL identifiers would be other methods, if not already used.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jordan</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260887</link>
		<dc:creator>Jordan</dc:creator>
		<pubDate>Sun, 27 Jan 2008 04:39:22 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260887</guid>
		<description>I think the statement that eval is evil is way too misunderstood. That&#039;s the kind of generalization that should only be directed to old-school JavaScript programmers, and should be mocked at by seasoned Ajax programmers such as ourselves.</description>
		<content:encoded><![CDATA[<p>I think the statement that eval is evil is way too misunderstood. That&#8217;s the kind of generalization that should only be directed to old-school JavaScript programmers, and should be mocked at by seasoned Ajax programmers such as ourselves.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: deanedwards</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260885</link>
		<dc:creator>deanedwards</dc:creator>
		<pubDate>Sun, 27 Jan 2008 01:00:38 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260885</guid>
		<description>@Spocke -  That&#039;s what I think. Packer is not exactly a sophisticated algorithm. The source code is available. There is even a decoder built in to the online version. Decrypting packer code is not rocket science. It makes me wonder about these security &quot;experts&quot;.</description>
		<content:encoded><![CDATA[<p>@Spocke &#8211;  That&#8217;s what I think. Packer is not exactly a sophisticated algorithm. The source code is available. There is even a decoder built in to the online version. Decrypting packer code is not rocket science. It makes me wonder about these security &#8220;experts&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spocke</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260880</link>
		<dc:creator>Spocke</dc:creator>
		<pubDate>Sat, 26 Jan 2008 20:43:54 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260880</guid>
		<description>This reminds me of a thing I found using one of the popular personal firewalls out there. It was removing the outgoing HTTP accept encoding header so that servers wouldn&#039;t return gzipped data. Probably due to some lazy developer didn&#039;t want to add proper gzip unpacking support to their product. But unpacking JS code that uses the packer algorithm is a whole other ballgame since you need a JS runtime in order to evaluate the script so I can see why that&#039;s a bigger problem. But on the other hand some of the machine code analyzers out there for anti virus programs are pretty complex.</description>
		<content:encoded><![CDATA[<p>This reminds me of a thing I found using one of the popular personal firewalls out there. It was removing the outgoing HTTP accept encoding header so that servers wouldn&#8217;t return gzipped data. Probably due to some lazy developer didn&#8217;t want to add proper gzip unpacking support to their product. But unpacking JS code that uses the packer algorithm is a whole other ballgame since you need a JS runtime in order to evaluate the script so I can see why that&#8217;s a bigger problem. But on the other hand some of the machine code analyzers out there for anti virus programs are pretty complex.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jdalton</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260877</link>
		<dc:creator>jdalton</dc:creator>
		<pubDate>Sat, 26 Jan 2008 19:59:19 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260877</guid>
		<description>@deanedwards - thatâ€™s good to know :), I wasn&#039;t asserting that the compressors did shorten global variables, merely stating that the global scope is normally not safe from collisions, regardless of obfuscating/packing.</description>
		<content:encoded><![CDATA[<p>@deanedwards &#8211; thatâ€™s good to know :), I wasn&#8217;t asserting that the compressors did shorten global variables, merely stating that the global scope is normally not safe from collisions, regardless of obfuscating/packing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: deanedwards</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260876</link>
		<dc:creator>deanedwards</dc:creator>
		<pubDate>Sat, 26 Jan 2008 19:46:25 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260876</guid>
		<description>@jdalton -
&lt;blockquote&gt;If you use variables in a global scope you are asking to get burned.&lt;/blockquote&gt;
Packer does not shorten variable names in the global scope. I doubt that the YUI compressor does either.</description>
		<content:encoded><![CDATA[<p>@jdalton -</p>
<blockquote><p>If you use variables in a global scope you are asking to get burned.</p></blockquote>
<p>Packer does not shorten variable names in the global scope. I doubt that the YUI compressor does either.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: crock</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260875</link>
		<dc:creator>crock</dc:creator>
		<pubDate>Sat, 26 Jan 2008 19:36:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260875</guid>
		<description>There are really bad security problems with modern web architecture. This is not one of them. If the minifier is not injecting badness into your code, then there is no reason not to minify your own code. It is reasonable to say that you should not trust obfuscated third party code, but it is equally trust to say that you should not trust third party code that is in the clear. The browser does not give us a way to benefit from third party code without unacceptable risk. These so-called security firms that put out these alarming reports that offer bad advice are making matters worse. I wouldn&#039;t have thought it could be possible to make things worse.</description>
		<content:encoded><![CDATA[<p>There are really bad security problems with modern web architecture. This is not one of them. If the minifier is not injecting badness into your code, then there is no reason not to minify your own code. It is reasonable to say that you should not trust obfuscated third party code, but it is equally trust to say that you should not trust third party code that is in the clear. The browser does not give us a way to benefit from third party code without unacceptable risk. These so-called security firms that put out these alarming reports that offer bad advice are making matters worse. I wouldn&#8217;t have thought it could be possible to make things worse.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jdalton</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260874</link>
		<dc:creator>jdalton</dc:creator>
		<pubDate>Sat, 26 Jan 2008 17:43:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260874</guid>
		<description>@lexander - I agree with you on the semi colon complications, however I don&#039;t think variable namespace collision is an issue as most variable shrinking doesnâ€™t affect object properties or method names. If you use variables in a global scope you are asking to get burned.

When producing a professional client-side we should be concerned with code footprint not readability. The average web user is not going to read the code, but will notice when a page takes longer to load or is unresponsive. The individual developer is responsible for releasing a separate open source or reader friendly version for developers that is not compressed or packed.</description>
		<content:encoded><![CDATA[<p>@lexander &#8211; I agree with you on the semi colon complications, however I don&#8217;t think variable namespace collision is an issue as most variable shrinking doesnâ€™t affect object properties or method names. If you use variables in a global scope you are asking to get burned.</p>
<p>When producing a professional client-side we should be concerned with code footprint not readability. The average web user is not going to read the code, but will notice when a page takes longer to load or is unresponsive. The individual developer is responsible for releasing a separate open source or reader friendly version for developers that is not compressed or packed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: deanedwards</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260873</link>
		<dc:creator>deanedwards</dc:creator>
		<pubDate>Sat, 26 Jan 2008 17:42:58 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260873</guid>
		<description>&gt; Aggressive packers introduce needless complexity

It is not needless if it reduces download time by 70% for large scripts. Now that gzip can be used more safely, base62 encoding is not usually required. But to say that it is needless misses the point a little.</description>
		<content:encoded><![CDATA[<p>&gt; Aggressive packers introduce needless complexity</p>
<p>It is not needless if it reduces download time by 70% for large scripts. Now that gzip can be used more safely, base62 encoding is not usually required. But to say that it is needless misses the point a little.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lexander</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260871</link>
		<dc:creator>lexander</dc:creator>
		<pubDate>Sat, 26 Jan 2008 17:21:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260871</guid>
		<description>I think  that wgyouree has the right idea.

Aggressive packers introduce needless complexity and the potential for nasty hidden bugs (due to js&#039;s acceptance of implied &#039;;&#039; at the end of some lines, programs break when you remove &quot;extra&quot; line breaks, variable/method name replacement and reduction greatly magnifies the chance of namespace collisions in the js global scope). Stripping comments and then applying gzip will give your users a small download size without potential side effects.

Additionally, packed code is difficult for others to read and understand. A big part of the rapid spread in advanced js techniques that we&#039;ve seen over the past 3 years can be attributed to this informal channel for the distribution of programming knowledge.</description>
		<content:encoded><![CDATA[<p>I think  that wgyouree has the right idea.</p>
<p>Aggressive packers introduce needless complexity and the potential for nasty hidden bugs (due to js&#8217;s acceptance of implied &#8216;;&#8217; at the end of some lines, programs break when you remove &#8220;extra&#8221; line breaks, variable/method name replacement and reduction greatly magnifies the chance of namespace collisions in the js global scope). Stripping comments and then applying gzip will give your users a small download size without potential side effects.</p>
<p>Additionally, packed code is difficult for others to read and understand. A big part of the rapid spread in advanced js techniques that we&#8217;ve seen over the past 3 years can be attributed to this informal channel for the distribution of programming knowledge.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jdalton</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260870</link>
		<dc:creator>jdalton</dc:creator>
		<pubDate>Sat, 26 Jan 2008 17:02:39 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260870</guid>
		<description>I think their needs to be a distinction made between obfuscated, packed/compressed JavaScript.

Dean Edwards&#039; Packer 3 and other compressors can pack as well as obfuscate. If you use the â€œShrink variableâ€ option without the â€œBase 62 encodeâ€ option then the code has its whitespace removed and variables shortened but it is not obfuscated (no use of eval()).

The â€œShrink variableâ€ method combined with gzipping usually produces the smallest file size so there is no need to use obfuscated compression.

Also, I believe (http://javascriptcompressor.com) is a web port of Dean Edwards&#039; Packer 2.</description>
		<content:encoded><![CDATA[<p>I think their needs to be a distinction made between obfuscated, packed/compressed JavaScript.</p>
<p>Dean Edwards&#8217; Packer 3 and other compressors can pack as well as obfuscate. If you use the â€œShrink variableâ€ option without the â€œBase 62 encodeâ€ option then the code has its whitespace removed and variables shortened but it is not obfuscated (no use of eval()).</p>
<p>The â€œShrink variableâ€ method combined with gzipping usually produces the smallest file size so there is no need to use obfuscated compression.</p>
<p>Also, I believe (<a href="http://javascriptcompressor.com" rel="nofollow">http://javascriptcompressor.com</a>) is a web port of Dean Edwards&#8217; Packer 2.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wgyouree</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260869</link>
		<dc:creator>wgyouree</dc:creator>
		<pubDate>Sat, 26 Jan 2008 16:56:48 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260869</guid>
		<description>Ah, the Javascript compressor at (http://javascriptcompressor.com) uses the Dead Edwards algorithm.</description>
		<content:encoded><![CDATA[<p>Ah, the Javascript compressor at (<a href="http://javascriptcompressor.com" rel="nofollow">http://javascriptcompressor.com</a>) uses the Dead Edwards algorithm.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wgyouree</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260868</link>
		<dc:creator>wgyouree</dc:creator>
		<pubDate>Sat, 26 Jan 2008 16:39:27 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260868</guid>
		<description>We&#039;ve been looking at the mod_deflate option rather than Javascript packers as well.  Our Milescript demo application on our website (http://milescript.org) condenses automatically at the end of the publishing process using safe technqiues (reduces size of variable and method names and removes whitespace and comments).  It creates an 80k Javascript file.  We were then able to shrink this file to 14k using gzip/mod_deflate.  We used a popular, and very efficient, Javascript packer at (http://javascriptcompressor.com).  It was able to reduce our uncondensed code from 150k to 43k.  So the savings was much better using gzip/mod_deflate and it also does not require a window.eval in the runtime which makes it faster.  We even tried running the packed Javascript code through gzip/mod_deflate and it only compressed it to 15k.  So there was actually a 1k improvement by skipping the Javascript packer step and simply using gzip/mod_deflate.  Only downside, you have to have access to the webserver to use gzip/mod_deflate.</description>
		<content:encoded><![CDATA[<p>We&#8217;ve been looking at the mod_deflate option rather than Javascript packers as well.  Our Milescript demo application on our website (<a href="http://milescript.org" rel="nofollow">http://milescript.org</a>) condenses automatically at the end of the publishing process using safe technqiues (reduces size of variable and method names and removes whitespace and comments).  It creates an 80k Javascript file.  We were then able to shrink this file to 14k using gzip/mod_deflate.  We used a popular, and very efficient, Javascript packer at (<a href="http://javascriptcompressor.com" rel="nofollow">http://javascriptcompressor.com</a>).  It was able to reduce our uncondensed code from 150k to 43k.  So the savings was much better using gzip/mod_deflate and it also does not require a window.eval in the runtime which makes it faster.  We even tried running the packed Javascript code through gzip/mod_deflate and it only compressed it to 15k.  So there was actually a 1k improvement by skipping the Javascript packer step and simply using gzip/mod_deflate.  Only downside, you have to have access to the webserver to use gzip/mod_deflate.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cowsonfire</title>
		<link>http://ajaxian.com/archives/is-using-a-js-packer-a-security-threat/comment-page-1#comment-260867</link>
		<dc:creator>cowsonfire</dc:creator>
		<pubDate>Sat, 26 Jan 2008 16:14:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3254#comment-260867</guid>
		<description>So we should stop packing our javascript code because some security folks aren&#039;t skilled enough to unpack it? Sounds like the beginning of PE packers when AV companies started detecting the generic UPX headers as malware instead of unpacking. Luckily they (most of them at least) moved past that, hopefully these web security guys will do the same thing.

Even if they could convince us to stop using packers, they are never going to convince the malware authors to stop so its a moot point.</description>
		<content:encoded><![CDATA[<p>So we should stop packing our javascript code because some security folks aren&#8217;t skilled enough to unpack it? Sounds like the beginning of PE packers when AV companies started detecting the generic UPX headers as malware instead of unpacking. Luckily they (most of them at least) moved past that, hopefully these web security guys will do the same thing.</p>
<p>Even if they could convince us to stop using packers, they are never going to convince the malware authors to stop so its a moot point.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

