<?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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gareth Jones &#187; Obfuscation</title>
	<atom:link href="http://www.gareth-jones.co.uk/tag/obfuscation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gareth-jones.co.uk</link>
	<description>Caiff dyn dysg o&#039;i grud i&#039;w fedd</description>
	<lastBuildDate>Sun, 08 Jan 2012 23:04:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DCOMsoft SWF Protector 3</title>
		<link>http://www.gareth-jones.co.uk/2011/08/27/dcomsoft-swf-protector-3/</link>
		<comments>http://www.gareth-jones.co.uk/2011/08/27/dcomsoft-swf-protector-3/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 18:53:56 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[DCOMsoft]]></category>
		<category><![CDATA[decompilers]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[FLA]]></category>
		<category><![CDATA[folders]]></category>
		<category><![CDATA[great news]]></category>
		<category><![CDATA[instances]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[mode]]></category>
		<category><![CDATA[Obfuscation]]></category>
		<category><![CDATA[obfuscator]]></category>
		<category><![CDATA[predecessor]]></category>
		<category><![CDATA[renaming files]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Sothink]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[two ways]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.gareth-jones.co.uk/?p=379</guid>
		<description><![CDATA[Company: DCOMsoft Product: SWF Protector 3 Price: From $39.95 Following my recent re-review of Amayeta&#8217;s SWF Encrypt 6.0, here&#8217;s another look at SWF Protector 3 from DCOMsoft. The latest version of the software is 3.0.1.191 which means it hasn&#8217;t changed at all for over a year, so it will be interesting to see if it [...]]]></description>
			<content:encoded><![CDATA[<p>Company: <a title="DCOMsoft" href="http://www.dcomsoft.com/" target="_blank">DCOMsoft</a><br />
Product: <a title="SWF Protector 2" href="http://www.dcomsoft.com/" target="_blank">SWF Protector 3</a><br />
Price: From $39.95</p>
<p>Following my recent <a title="Amayeta SWF Encrypt 6.0 review" href="http://www.gareth-jones.co.uk/2011/07/25/amayeta-swf-encrypt/">re-review of Amayeta&#8217;s SWF Encrypt 6.0</a>, here&#8217;s another look at <a title="SWF Protector 3 from DCOMsoft" href="http://www.dcomsoft.com/" target="_blank">SWF Protector 3 from DCOMsoft</a>.</p>
<p>The latest version of the software is 3.0.1.191 which means it hasn&#8217;t changed at all for over a year, so it will be interesting to see if it still offers protection against decompilers that are advancing all the time.</p>
<p>First the interface. In the default simple mode this is clean and quite minimalist. You have a button to add individual files, a button to add folders and a button to recursively add folders which is a nice feature that can save a lot of time on larger projects. After adding your files to the list you can either protect them individually or all in one go.</p>
<p>A properties window on the right gives you rudimentary information on each file while a log window at the bottom keeps you informed of progress.</p>
<p>When protecting a file the program will attempt to use default obfuscation settings which it will automatically wind down if there are any problems so that the resulting file always works. If a file does ever break during the process there&#8217;s an advanced mode that allows you to tweak the obfuscation applied to each function individually, though to be honest I have never needed this as the automatic settings have never broken a file.</p>
<p>Obfuscated files are given the original file&#8217;s name while the original file is renamed which is great news if you&#8217;re obfuscating large projects as it means you won&#8217;t have to go round renaming files or updating references afterwards. This was something I highlighted in its predecessor as a major advantage over SWF Encrypt last year, before Amayeta shamelessly copied the feature.</p>
<p>The program does occasionally crash and when it does it will be one of two ways &#8211; either immediately after loading up despite no interaction from yourself or immediately after you add a file to the obfuscation list. Resolving the issue in both instances is a simple case of closing the program and running it again, but of course such a crash is an annoyance that can&#8217;t really be justified in this day and age of tried and tested OSes, drivers, middleware etc.</p>
<p>So, how does it perform when it comes to obfuscating? For this test I again used <a title="Sothink SWF Decompiler" href="http://www.sothink.com/product/flashdecompiler/" target="_blank">Sothink’s SWF Decompiler</a> (version 640, build 3450) and <a title="ASV 2011" href="http://www.buraks.com/asv/" target="_blank">Burak’s ASV 2011</a> (version 2011/08).</p>
<p>First Sothink&#8217;s SWF Decompiler. This tool opened both SWFs without crashing or throwing up any error messages, but the AS it gave me was all obfuscated. In both AS3 and AS2 it seemed to only show me the code as SWF Protector 3 wanted it to be seen, which is what we want from an obfuscator really. When I attempted to rebuild the AS3 FLAs the tool crashed, and while the AS2 files did yield FLAs they was completely worthless as none of the code was intact and the library assets were a mess. In short, all I could get from SWF Decompiler was the audio, fonts and graphics, but none of that is realistically going to help someone rip off your Flash project.</p>
<p>Burak&#8217;s ASV fared much better with AS3, but slightly worse with AS2. It was completely thrown by the AS2 files and gave me nothing but a long list of error messages. I couldn&#8217;t browse the file properly, let alone rebuild an FLA. This implies that the AS2 obfuscation in SWF Protector 3 is significantly more effective than that found in Amayeta&#8217;s SWF Encrypt 6. AS2 is traditionally easier to obfuscate than AS3 though, so how did an AS3 file compare? AS3 was a different story as ASV was not only able to open the file but it also showed me all of the code in original, unobfuscated form. It wasn&#8217;t quite able to get all the way through to rebuilding an FLA as the FLA that it exported would not compile into a functioning SWF, but with the asset library intact and the original code all visible in ASV&#8217;s code browser, it wouldn&#8217;t take too long for a determined developer to put together a working rip-off of your Flash project.</p>
<p>An interesting observation was that the test AS3 SWF increased in size slightly after it was run through ASV, but this didn&#8217;t seem to affect the file&#8217;s running in any way. I do wonder what extra data ASV injected into the file though.</p>
<p>To conclude, if your SWF files are AS2 then SWF Protector 3 looks like an excellent purchase. The two most well-known decompilers on the market couldn&#8217;t even get close to decompiling the files, and this tool costs less than half of what Amayeta charges for its ineffective SWF Encrypt software. If you work in AS3 however it&#8217;s clear that although SWF Protector 3 will still protect your work against Sothink&#8217;s SWF Decompiler, Burak&#8217;s ASV almost has it fully cracked. Indeed, a developer with some time on his/her hands would have no trouble in rebuilding your AS3 project from the exported FLA and unobfuscated code, which means that for AS3 developers the search for the perfect obfuscator continues.</p>
<p><strong>UPDATE:</strong> It appears that SWF Protector 3 isn&#8217;t compatible with Flash player version 11.1.102.55 and it&#8217;s not clear if compatibility will return with a future release of the player. SWF Protector 4 is already out for Mac so it can&#8217;t be long before the PC version is made available so hopefully the issue will be resolved soon. Alternatively if you need a Flash obfuscator for PC today then you <a title="Kindi SecureSWF" href="http://www.kindi.com/" target="_blank">Kindi SecureSWF</a> is your best bet.</p>
<p><a href="http://www.gareth-jones.co.uk/wp-content/uploads/2010/06/swfprotector3.png" rel="shadowbox[sbpost-379];player=img;" title="SWF Protector 3"><img class="alignleft size-medium wp-image-380" title="SWF Protector 3" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/06/swfprotector3-300x236.png" alt="" width="150" height="118" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gareth-jones.co.uk/2011/08/27/dcomsoft-swf-protector-3/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Amayeta SWF Encrypt 6.0</title>
		<link>http://www.gareth-jones.co.uk/2011/07/25/amayeta-swf-encrypt/</link>
		<comments>http://www.gareth-jones.co.uk/2011/07/25/amayeta-swf-encrypt/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 13:48:50 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[bad news]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[favour]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[file browser]]></category>
		<category><![CDATA[FLA]]></category>
		<category><![CDATA[flash projector]]></category>
		<category><![CDATA[jaspal]]></category>
		<category><![CDATA[logs]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[microscope]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[minimalist interface]]></category>
		<category><![CDATA[Obfuscation]]></category>
		<category><![CDATA[order]]></category>
		<category><![CDATA[poor quality]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[Sothink]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[swf decompiler]]></category>
		<category><![CDATA[swf files]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[year]]></category>
		<category><![CDATA[Zinc]]></category>

		<guid isPermaLink="false">http://www.gareth-jones.co.uk/?p=262</guid>
		<description><![CDATA[Company: Amayeta Product: SWF Encrypt 6.0 Version tested: 6.0.10 Price: £89 / $145 Since so much of this site&#8217;s traffic is from people who are looking for Flash-related obfuscating and decompiling, I decided to revisit all of the products I reviewed last year and once again put them all under the microscope in order to [...]]]></description>
			<content:encoded><![CDATA[<p>Company: <a title="Amayeta" href="http://www.amayeta.com" target="_blank">Amayeta</a><br />
Product: <a title="SWF Encrypt" href="http://www.amayeta.com/software/swfencrypt/" target="_blank">SWF Encrypt 6.0</a><br />
Version tested: 6.0.10<br />
Price: £89 / $145</p>
<p>Since so much of this site&#8217;s traffic is from people who are looking for Flash-related obfuscating and decompiling, I decided to revisit all of the products I reviewed last year and once again put them all under the microscope in order to ensure that the information contained within the reviews is still accurate.</p>
<p>First, some background on Amayeta is that it&#8217;s owned by Jaspal Sohal, the same guy that owns <a title="MDM" href="http://www.multidmedia.com/" target="_blank">MDM</a> which makes <a title="MDM Zinc" href="http://www.multidmedia.com/software/zinc/" target="_blank">Zinc.</a> Zinc is a Flash projector that has received a lot of negative press mostly relating to quality and support problems, and with that in mind I must admit I wasn&#8217;t expecting much from SWF Encrypt but nevertheless have reviewed the latest build as objectively as possible.</p>
<p><strong>Loading it up</strong></p>
<p>SWF Encrypt 6 takes about 5 seconds to load up on my hefty PC which is quite surprising considering the minimalist interface. The layout of the UI is simple and functional, with all options within easy reach. The window is split into three main areas. A (somewhat clumsy) file browser takes up around a third of the space on the left, a list of SWF files within a given directory takes up the top half of the 2/3 on the right, and settings/properties/logs take up the bottom right 1/3. I&#8217;ve attached a screenshot.</p>
<p><strong>The good news<br />
</strong></p>
<p>The niggles from last year&#8217;s review version are all gone. You can customise your obfuscation preferences to either favour file-size or obfuscation strength, you can over-write the original file with the obfuscated file and two bugs that I discovered last year have also been fixed.</p>
<p><strong>Now the bad news</strong></p>
<p>Unfortunately the removal of last year&#8217;s niggles are made pretty much redundant by the fact that what is currently the latest version of SWF Encrypt 6 doesn&#8217;t work. I obfuscated some test files using the application&#8217;s default (recommended) settings and this is what I found:</p>
<p><a title="Sothink SWF Decompiler" href="http://www.sothink.com/product/flashdecompiler/" target="_blank">Sothink&#8217;s SWF Decompiler</a> (version 635, build 3363) was able to rebuild the source FLA and give me access to all of the file&#8217;s assets, though the code itself was still obfuscated. <a title="ASV 2011" href="http://www.buraks.com/asv/" target="_blank">Burak&#8217;s ASV 2011</a> (version 2011/07) on the other hand was able to rebuild the FLA along with all of its assets and source code &#8211; and it even generated the original class structure for me as well. All I had to do was hit publish and I had a SWF that was identical to the original.</p>
<p>Even changing two out of the three advanced settings (<em>encrypt names advanced</em> and <em>encrypt namespace</em>) failed to stop ASV &#8211; and bear in mind that the more of these kinds of settings you enable, the more likely you are to experience problems when you have multiple SWFs working together.</p>
<p>Finally I enabled the third setting, <em>encrypt resources</em>, which did manage to stop ASV because it completely broke the SWF. With this setting enabled, all I got from running the protected SWF was a flashing blue box in the top left with some white symbols inside it. I also noticed that the original file&#8217;s size had gone up by 22kb &#8211; despite <em>overwrite original filename</em> being set to <strong>false</strong> &#8211; and it no longer worked. SWF Encrypt insisted that the original file had not been touched, yet it had clearly added 22kb of data to it and in doing so had broken that file as well.</p>
<p><strong>Conclusions</strong></p>
<p>So, what we have in SWF Encrypt 6 is a SWF obfuscator that fails to protect your SWFs against one of the best-known SWF decompilers out there on all but the very highest setting, but on that setting it completely breaks your SWF files and even breaks your originals.</p>
<p>Clearly, you&#8217;re better off saving your £89 and uploading unprotected files than buying this software from Amayeta. Perhaps the latest version of SWF Protector 3 &#8211; at less than half the price &#8211; can help? I&#8217;ll have a re-review of that up soon.</p>
<p><a href="http://www.gareth-jones.co.uk/wp-content/uploads/2011/07/swfEncrypt.jpg" rel="shadowbox[sbpost-262];player=img;" title="SWF Encrypt 6.0"><img class="alignleft size-thumbnail wp-image-675" title="SWF Encrypt 6.0" src="http://www.gareth-jones.co.uk/wp-content/uploads/2011/07/swfEncrypt-150x150.jpg" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gareth-jones.co.uk/2011/07/25/amayeta-swf-encrypt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kindisoft SecureSWF</title>
		<link>http://www.gareth-jones.co.uk/2010/04/29/kindisoft-secureswf/</link>
		<comments>http://www.gareth-jones.co.uk/2010/04/29/kindisoft-secureswf/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 20:40:04 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[application launcher]]></category>
		<category><![CDATA[consistency]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[interface functions]]></category>
		<category><![CDATA[java vm]]></category>
		<category><![CDATA[Kindisoft]]></category>
		<category><![CDATA[microscope]]></category>
		<category><![CDATA[Obfuscation]]></category>
		<category><![CDATA[obfuscator]]></category>
		<category><![CDATA[observation]]></category>
		<category><![CDATA[program files directory]]></category>
		<category><![CDATA[pros and cons]]></category>
		<category><![CDATA[SecureSWF]]></category>
		<category><![CDATA[selection area]]></category>
		<category><![CDATA[shortcuts]]></category>
		<category><![CDATA[start menu]]></category>
		<category><![CDATA[swc]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[target machine]]></category>
		<category><![CDATA[two solutions]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[usb drive]]></category>
		<category><![CDATA[zip file]]></category>

		<guid isPermaLink="false">http://www.gareth-jones.co.uk/?p=345</guid>
		<description><![CDATA[Company: Kindisoft Product: SecureSWF Price: From $99 Kindisoft&#8217;s SecureSWF is the latest Flash obfuscator to go under the microscope (SWF Protector 2 and SWF Encrypt are reviewed elsewhere), so as the most expensive of the three (when considering the luxury versions), how does it stack up in terms of interface, functions, usability and stability? Having [...]]]></description>
			<content:encoded><![CDATA[<p>Company: <a title="Kindisoft" href="http://www.kindisoft.com/" target="_blank">Kindisoft</a><br />
Product: <a title="SecureSWF" href="http://www.kindisoft.com/secureSWF/download.php" target="_blank">SecureSWF</a><br />
Price: From $99</p>
<p>Kindisoft&#8217;s SecureSWF is the latest Flash obfuscator to go under the microscope (<a title="DCOMsoft SWF Protector 2" href="http://www.gareth-jones.co.uk/2010/03/30/dcomsofts-swf-protector-2/" target="_blank">SWF Protector 2</a> and <a title="Amayeta SWF Encrypt" href="http://www.gareth-jones.co.uk/2010/03/29/amayeta-swf-encrypt/" target="_blank">SWF Encrypt</a> are reviewed elsewhere), so as the most expensive of the three (when considering the luxury versions), how does it stack up in terms of interface, functions, usability and stability?</p>
<p>Having downloaded the .zip file from the website, the first thing you notice is that there&#8217;s no installer. SecureSWF comes in a .zip file ready to extract and use without installation which has both pros and cons, though the benefits do outweigh the drawbacks. You can stick SecureSWF straight onto a USB drive like a <a title="Portable Apps" href="http://portableapps.com/" target="_blank">portable app </a>without worrying about whether or not it will run (assuming Java VM 1.5 is installed on the target machine), though if you believe in consistency you&#8217;ll have to manually stick the folder in your Program Files directory and create the relevant shortcuts in your Start Menu or favourite application launcher. As I said, the benefits do outweigh the drawbacks and I&#8217;m not suggesting that this is an issue &#8211; it&#8217;s just an observation.</p>
<p>So, after settling on where you&#8217;re going to run SecureSWF from, the next thing you notice after running the application is the number of options available. Compared to the other two solutions, there is a lot going on here (even the entry level SecureSWF has more options than both SWF Encrypt and SWC Encrypt combined), and it does seem a little daunting at first, but you quickly come to realise that it&#8217;s actually not that bad.</p>
<p>There are five tabs along the top &#8211; four of which contain settings and the last one is a status summary page. The fourth tab is just a rules page that overrides some of the options on the previous tabs, so in reality you have just three options tabs to familiarise yourself with rather than the initially anticipated five.</p>
<p>The first tab is the lightest on the options with just a SWF selection area, a list of presets to choose from and somewhere to specify the output location. You can select multiple files to import from the file browser (SWF, SWC and AIR formats &#8211; the others can only do SWF), though unfortunately there is no recursive import. There are five presets to choose from ranging from most- to least- aggressive, and a custom option should you want to tweak any of the presets yourself.</p>
<p>The second tab gets into more detail, allowing you to completely customise the level to which identifiers are renamed. Everything including local identifiers, labels, instance names, global variables and class members can be renamed to your exact requirements, and there&#8217;s even a tree structure that allows you to go in and select individual values. While this is great for offering the maximum level of obfuscation and the ability to make slight adjustments in the case of too many changes causing problems, I probably wouldn&#8217;t spend too much time here as it&#8217;s far easier to just let the presets take care of it all. Still, if I was in a situation where the maximum protection was available to me apart from one little identifier somewhere causing a problem, it&#8217;s nice to know that I can go in there and make the necessary change without having to sacrifice the security of the rest of the SWF.</p>
<p>The third tab offers code transformation, obfuscation, encrypted domain locking, SWF optimisation and literal strings encryption. The domain locking worked as expected, preventing my SWF from running anywhere other than this website and also from being run locally on my computer. Because I can only tell how well the other features are working by running them through a deobfuscator, I&#8217;m reserving those for another article that I&#8217;m working on which will be coming shortly.</p>
<p>Obfuscating a test SWF of 1,115kb, SecureSWF delivered a file of 1,156kb on maximum settings and 1,111kb on minimum settings &#8211; yes, it was actually smaller than the original. Obfuscation time was quick and on par with the others, and I experienced no crashes or freezes from the software no matter how hard I tried.</p>
<p>SecureSWF is a feature-packed obfuscator that not only works on Flash SWF files, but also SWC and AIR files as well. As the only obfuscator that works with these alternate file types, SecureSWF is really your only option when working with these formats. With regards to SWF files, the level of detail with which SecureSWF allows you to customise its obfuscation is significantly higher than that of SWF Protector 2, and an order of magnitude higher than that of SWF Encrypt.</p>
<p>One issue that always seems to come up in SecureSWF reviews is price. Yes, the fully-fledged bells-and-whistles version costs $400 which is significantly higher than either SWF Protector 2 or SWF Encrypt. However, the obfuscating methods, options and features available in this package &#8211; not to mention the fact that it will also protect your Flash components and AIR files &#8211; mean that you are getting a lot more here so naturally the cost is going to reflect that. I don&#8217;t really want to start comparing SecureSWF with its competitors here because this is supposed to be a review &#8211; not a comparison &#8211; but when one of the factors that could potentially put people off SecureSWF is its price when compared to its competitors, it&#8217;s difficult not to get sucked into such a comparison.</p>
<p>The bottom line is that SecureSWF starts at just $99, which is $151 less than SWF Encrypt and SWC Encrypt combined, but it offers more features than those two and does everything better. In light of that, even if price is an issue for you then SecureSWF blows SWF Encrypt out of the water having beaten it on options, features <em>and</em> price. Where things start to get interesting is when you compare SecureSWF to DComSoft&#8217;s $39.95 SWF Protector 2, but for that you&#8217;ll have to wait for my Versus feature which is coming soon.</p>
<p>In its own right, SecureSWF is a very impressive tool that is bursting with options and features. Due to the extreme levels of flexibility, it should be possible to tune every possible SWF file so that it&#8217;s protected as securely as possible without breaking any functionality. The fact that it allows obfuscation of everything from function names to labels and global variables to class members means that SWF files will be that much closer to being totally secure.</p>
<p>Out of 10, the usability and features on offer here have to command top marks, but I think the price of the professional edition could possibly push the application slightly out of reach for some lone developers. Yes, the Personal Lite Edition is only $99 but if you&#8217;re buying SecureSWF then you want the best version. Bearing the price of the professional edition in mind and the fact that a portion of its features are found in a product that only costs 1/10th as much, I&#8217;ve got to take a mark off. However, the wealth of additional options and features that you get for your money, their importance and the extra protection they bring to your work &#8211; plus the additional format support of course &#8211; mean that it&#8217;s just a single mark.</p>
<p>9/10</p>
<p><strong>Coming soon: </strong>A review of how these SWF protectors stack up against SWF decryption tools.</p>

<a href='http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf1.jpg' rel='shadowbox[sbalbum-345];player=img;' title='Kindisoft SecureSWF' title="Kindisoft SecureSWF"><img width="150" height="150" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf1-150x150.jpg" class="attachment-thumbnail" alt="Kindisoft SecureSWF" title="Kindisoft SecureSWF" /></a>
<a href='http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf2.jpg' rel='shadowbox[sbalbum-345];player=img;' title='Kindisoft SecureSWF' title="Kindisoft SecureSWF"><img width="150" height="150" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf2-150x150.jpg" class="attachment-thumbnail" alt="Kindisoft SecureSWF" title="Kindisoft SecureSWF" /></a>
<a href='http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf3.jpg' rel='shadowbox[sbalbum-345];player=img;' title='Kindisoft SecureSWF' title="Kindisoft SecureSWF"><img width="150" height="150" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf3-150x150.jpg" class="attachment-thumbnail" alt="Kindisoft SecureSWF" title="Kindisoft SecureSWF" /></a>
<a href='http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf4.jpg' rel='shadowbox[sbalbum-345];player=img;' title='Kindisoft SecureSWF' title="Kindisoft SecureSWF"><img width="150" height="150" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf4-150x150.jpg" class="attachment-thumbnail" alt="Kindisoft SecureSWF" title="Kindisoft SecureSWF" /></a>
<a href='http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf5.jpg' rel='shadowbox[sbalbum-345];player=img;' title='Kindisoft SecureSWF' title="Kindisoft SecureSWF"><img width="150" height="150" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/04/secureSwf5-150x150.jpg" class="attachment-thumbnail" alt="Kindisoft SecureSWF" title="Kindisoft SecureSWF" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.gareth-jones.co.uk/2010/04/29/kindisoft-secureswf/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DCOMsoft SWF Protector 2</title>
		<link>http://www.gareth-jones.co.uk/2010/03/30/dcomsofts-swf-protector-2/</link>
		<comments>http://www.gareth-jones.co.uk/2010/03/30/dcomsofts-swf-protector-2/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 15:02:35 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[DCOMsoft]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[excitement]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[folders]]></category>
		<category><![CDATA[gripe]]></category>
		<category><![CDATA[hadn]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[instances]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[lookout]]></category>
		<category><![CDATA[mistake]]></category>
		<category><![CDATA[mode]]></category>
		<category><![CDATA[negative findings]]></category>
		<category><![CDATA[new software]]></category>
		<category><![CDATA[Obfuscation]]></category>
		<category><![CDATA[outdated product]]></category>
		<category><![CDATA[Protect]]></category>
		<category><![CDATA[protection status]]></category>
		<category><![CDATA[registration window]]></category>
		<category><![CDATA[serial number]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[SWF Protector 2]]></category>
		<category><![CDATA[swfs]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://www.gareth-jones.co.uk/?p=261</guid>
		<description><![CDATA[Company: DCOMsoft Product: SWF Protector 2 Price: From $39.95 Note: This review is for an outdated product. For a review of SWF Protector 3, see here. About a week ago, DCOMsoft emailed me to ask if I&#8217;d be interested in trying out their SWF Protector 2 product and posting my thoughts in exchange for a [...]]]></description>
			<content:encoded><![CDATA[<p>Company: <a title="DCOMsoft" href="http://www.dcomsoft.com/" target="_blank">DCOMsoft</a><br />
Product: <a title="SWF Protector 2" href="http://www.dcomsoft.com/" target="_blank">SWF Protector 2</a><br />
Price: From $39.95</p>
<p><strong>Note: This review is for an outdated product. For a review of SWF Protector 3, see <a title="DCOMsoft SWF Protector 3" href="http://www.gareth-jones.co.uk/2011/08/27/dcomsoft-swf-protector-3/">here</a>.</strong></p>
<p>About a week ago, DCOMsoft emailed me to ask if I&#8217;d be interested in trying out their SWF Protector 2 product and posting my thoughts in exchange for a licence. I&#8217;d like to stress that in no way does providing a license obtain a favourable review for any old product &#8211; I always approach a product objectively and will post both positive and negative findings whether the review is commissioned or not.</p>
<p>So, on with the review. On installing the application it came to time to register it. I copied and pasted in the serial and hit the Enter button without noticing that I hadn&#8217;t selected the serial number properly before copying and had missed off the last digit. The little registration window closed and gave me no feedback, so it wasn&#8217;t until I tried to run the application again and found that it wasn&#8217;t yet registered that I noticed that the registration had failed. I tried again, this time re-selecting the serial number and making sure I had it all in there, and it then gave me a message confirming registration. For instances where a mistake like this can happen, it would be worth having a message to say &#8220;Registration failed&#8221; or &#8220;Incomplete serial number&#8221;, but that&#8217;s a minor gripe.</p>
<p>Once registered, the application&#8217;s interface is very clean and quite minimalist. The first thing I noticed &#8211; and with some excitement &#8211; was an &#8220;Add folder recursively&#8221; button which, I&#8217;m pleased to say, works a treat. The application adds all of the SWFs contained within a parent and all child folders, tells you their protection status and offers the ability to open each one if you need to make sure you&#8217;re looking at the right file here.</p>
<p>As opposed to SWF Encrypt which shows you all the SWFs in a directory and asks you to select all of the ones you want to obfuscate, SWF Protector 2 assumes you&#8217;ll want to protect everything by giving you just one &#8220;Protect all&#8221; button. This makes sense, because if you didn&#8217;t want to protect your SWFs then chances are you wouldn&#8217;t be using the application in the first place. If there are any SWFs in there that you don&#8217;t want to protect however, you can simply remove them individually from the list before hitting the &#8220;Protect all&#8221; button. Alternatively, if you do only want to protect a single file, you can right-click on that file and select &#8220;Protect one file&#8221; from the menu.</p>
<p>Having had SWF Encrypt crash on me a few times after trying to obfuscate a file that was currently open inside the Flash IDE, I was curious to see what SWF Protector would do in this case. It didn&#8217;t disappoint, prompting me with a message stating that it could not overwrite the file &#8211; a much more elegant solution that simply crashing unexpectedly!</p>
<p>When my target file wasn&#8217;t open inside Flash&#8217;s IDE, SWF Protector 2 further impressed by renaming the original file &#8220;example_original.swf&#8221; and creating an obfuscated version with the original file&#8217;s name. This eliminates the issue I outlined in SWF Encrypt&#8217;s case where you either have to rename all your files manually or change all of your file links on your server to take into account the different name of the protected file. Bonus.</p>
<p>I also wanted to see what SWF Protector 2 did when revisiting a previous project &#8211; would it remember the last location or would I have to navigate to the project all over again? It actually remembered my previous location, and did so even when I closed the application without protecting any files. Excellent.</p>
<p>Also available at the top of the screen is an Advanced option which lets you configure the level of obfuscation &#8211; either on a per-class basis or you can set the level for the entire file. I took an unprotected SWF that was 518kb in size and ran it through the obfuscator at minimum settings and the output was also 518kb. I ran the same file again at maximum settings and this time the output came out at 555kb, so obviously the level of protection is such that it can make anywhere between 0% and 10% difference to the file-size &#8211; exactly how much protection you apply is up to you, so you can balance protection against file-size depending on the exact needs of your specific project. This is another feature that is missing from SWF Encrypt.</p>
<p>One bug that I did notice in SWF Protector 2 though was that after protecting a file in Advanced mode, the &#8220;Protect all&#8221; button would not become re-enabled for me to run another pass despite me selecting a new, unprotected file. To get the button back I either had to switch to Simple mode or restart the application and switch back to Advanced mode. This isn&#8217;t a deal-breaker, as you won&#8217;t be re-protecting files with different levels of security one after the other very often (if at all), and I only noticed it because of the test I was running. However, to get top marks an application does need to be bug-free, so I&#8217;ll have to take this and the failure to notify on a failed registration into account when coming up with a score.</p>
<p>The fact that SWF Protector 2 not only does what it says on the tin but does so with much more thought towards usability and thus efficiency of use does make it a better product than SWF Encrypt. I&#8217;m sure DCOMsoft will endeavour to resolve the two small issues I experienced with the application as soon as they read this post, whereas from past experience (<a title="MDM Zinc V3" href="http://www.gareth-jones.co.uk/2009/12/05/switching-from-zinc-to-swf-studio/" target="_self">here</a>, <a title="MDM Zinc V3" href="http://www.gareth-jones.co.uk/2009/12/06/mdm-stick-their-head-in-the-sand/" target="_self">here</a> and <a title="MDM Zinc V3" href="http://www.gareth-jones.co.uk/2009/12/09/why-mdm-zinc-v3-is-so-rubbish/" target="_self">here</a>) I know that Amayeta is unlikely to even care about SWF Encrypt&#8217;s bugs, let alone fix them. Being a better product is one thing, but being a better product that costs only a <strong>third</strong> of Amayeta&#8217;s price (the personal license costs just £25, though you&#8217;ll probably want the business license at £39 to be able to use it commercially) is just great and easily makes it a recommended product.</p>
<p>8/10</p>
<p><strong>Coming soon: </strong>A review of how these SWF protectors stack up against SWF decryption tools.</p>

<a href='http://www.gareth-jones.co.uk/wp-content/uploads/2010/03/SwfProtector1.jpg' rel='shadowbox[sbalbum-261];player=img;' title='DCOMsoft SWF Protector 2' title="DCOMsoft SWF Protector 2"><img width="150" height="150" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/03/SwfProtector1-150x150.jpg" class="attachment-thumbnail" alt="DCOMsoft SWF Protector 2" title="DCOMsoft SWF Protector 2" /></a>
<a href='http://www.gareth-jones.co.uk/wp-content/uploads/2010/03/SwfProtector2.jpg' rel='shadowbox[sbalbum-261];player=img;' title='DCOMsoft SWF Protector 2' title="DCOMsoft SWF Protector 2"><img width="150" height="150" src="http://www.gareth-jones.co.uk/wp-content/uploads/2010/03/SwfProtector2-150x150.jpg" class="attachment-thumbnail" alt="DCOMsoft SWF Protector 2" title="DCOMsoft SWF Protector 2" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.gareth-jones.co.uk/2010/03/30/dcomsofts-swf-protector-2/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Game Wrapper</title>
		<link>http://www.gareth-jones.co.uk/2009/05/24/game-wrapper/</link>
		<comments>http://www.gareth-jones.co.uk/2009/05/24/game-wrapper/#comments</comments>
		<pubDate>Sun, 24 May 2009 12:14:59 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[compromise]]></category>
		<category><![CDATA[drastic measures]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[intelligent key]]></category>
		<category><![CDATA[key file]]></category>
		<category><![CDATA[Obfuscation]]></category>
		<category><![CDATA[resource file]]></category>
		<category><![CDATA[resource games]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[single file]]></category>
		<category><![CDATA[Tracking]]></category>

		<guid isPermaLink="false">http://www.gareth-jones.co.uk/?p=182</guid>
		<description><![CDATA[Following on from the previous post about protecting your code with obfuscation, an obvious statement would be that the best way to protect your work is to ensure that no-one gets a copy of it! However once you put your work online, anyone with a cable or broadband connection could download it and make copies [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-183" title="joypad" src="http://www.gareth-jones.co.uk/wp-content/uploads/2009/10/joypad.jpg" alt="joypad" width="150" height="108" />Following on from the previous post about protecting your code with obfuscation, an obvious statement would be that the best way to protect your work is to ensure that no-one gets a copy of it! However once you put your work online, anyone with a cable or <a title="broadband" href="http://www.o2.co.uk/" target="_blank">broadband</a> connection could download it and  make copies of it. Is the only option then to stop making your work available for download? Of course such drastic measures would prevent anyone from seeing your work at all and make developing a product totally pointless, but what if there was a compromise between the two? What if there could be a difference between what you gave people and what they actually saw on-screen when they ran that file?</p>
<p>Having a &#8220;key&#8221; file (which I&#8217;ll refer to as the Key) to access a &#8220;resource&#8221; file (which I&#8217;ll refer to as the Resource) centrally also means only ever having one location for that Resource, and so if you were to spot a bug in your Resource or if you wanted to add a feature, you&#8217;d only have to replace a single file for that change to permeate instantly throughout the internet.</p>
<p>Since your Resource would only ever be run centrally, this also opens the door for tracking. You&#8217;d be able to see who was accessing your resource and how often. If the Key was to provide information on where it was being run from you&#8217;d also be able to control the locations that had access to that Resource, and in effect you&#8217;d be making an &#8220;intelligent&#8221; Key that only worked for certain people.</p>
<p>All of this serves as the foundation for a piece of software that I have developed and called the Game Wrapper. Although called the Game Wrapper because I wanted to use it to serve my games to different websites, the same technology would actually work with any type of resource &#8211; games, animations, elearning etc.</p>
<p>I use Game Wrapper to serve games to various online gaming websites, so I know that every site has the same version of the game and if I ever want to add or change something in any of my games, I make that change once and upload the new file to my server and that new version instantly becomes the version that everyone is playing.</p>
<p>Game Wrapper also allows me to specify whether games are allowed to be played locally on a user&#8217;s machine or online only. If online only, I can also specify which websites are allowed to play it and this ensures that no-one steals the game to use it without my permission. If the game is ever run from a site that hasn&#8217;t been added to the Allowed list, I get an email that tells me which game has been run illegally and from which website.</p>
<p>I can also serve adverts before the game starts to load or I can serve the game right away &#8211; whatever&#8217;s best for any particular game.</p>
<p>Developers will know that when a Flash file downloads another Flash file, the downloaded file is stored in &#8220;Temporary Internet Files&#8221; so the scenario with which I opened the post about ensuring that users don&#8217;t ever get access to the Resource isn&#8217;t strictly true, but despite physically being on that user&#8217;s machine the file will only run if it&#8217;s run from the host website, only if it&#8217;s run from a Key, and only if the user is on the Allowed list.</p>
<p>Both the Keys and the Resources are also run through <a title="SWF Encrypt" href="http://www.amayeta.com/" target="_blank">SWF Encrypt</a> for an added layer of security.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gareth-jones.co.uk/2009/05/24/game-wrapper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protecting your Flash code</title>
		<link>http://www.gareth-jones.co.uk/2009/05/23/protecting-your-flash-code/</link>
		<comments>http://www.gareth-jones.co.uk/2009/05/23/protecting-your-flash-code/#comments</comments>
		<pubDate>Sat, 23 May 2009 12:11:31 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[decompiler]]></category>
		<category><![CDATA[decompilers]]></category>
		<category><![CDATA[elearning products]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[flash code]]></category>
		<category><![CDATA[flash work]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[gibberish]]></category>
		<category><![CDATA[nature]]></category>
		<category><![CDATA[Obfuscation]]></category>
		<category><![CDATA[obfuscator]]></category>
		<category><![CDATA[piracy]]></category>
		<category><![CDATA[poor protection]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[security software]]></category>
		<category><![CDATA[software vendors]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[target]]></category>
		<category><![CDATA[targets]]></category>

		<guid isPermaLink="false">http://www.gareth-jones.co.uk/?p=179</guid>
		<description><![CDATA[Due to the unsecure nature of Flash, I&#8217;ve always been wary of having my work decompiled and its code re-used without my knowledge or consent. By default Flash offers very poor protection against this. While it&#8217;s undoubtedly impossible to prevent this from happening completely (despite various security software vendors&#8217; claims), you can make the process [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-180" title="padlock-icon" src="http://www.gareth-jones.co.uk/wp-content/uploads/2009/10/padlock-icon.jpg" alt="padlock-icon" width="110" height="113" /></p>
<p>Due to the unsecure nature of Flash, I&#8217;ve always been wary of having my work decompiled and its code re-used without my knowledge or consent. By default Flash offers very poor protection against this. While it&#8217;s undoubtedly impossible to prevent this from happening completely (despite various security software vendors&#8217; claims), you can make the process so difficult that most people will give up trying.</p>
<p>Of course, not all Flash work will be a target to such piracy but games and elearning products can be targets because the cost and time of developing these resources legitimately can be quite high.</p>
<p>An easy way to protect your work against decompiling is to run your work through an obfuscator. I use <a title="Amayeta SWF Encrypt" href="http://www.amayeta.com/" target="_blank">Amayeta&#8217;s SWF Encrypt</a>, and while a file that has been obfuscated in this way is larger in terms of file-size, the protection that this process offers your code is well worth it. Obfuscating your file like this makes the code almost impossible for a human reader to know what&#8217;s going on inside it, much less be able to steal it or change it for their own needs. In a decompiler the code will appear to be nothing more than a load of gibberish, and in fact some decompilers will be tripped up by the obfuscated file and won&#8217;t even open it at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gareth-jones.co.uk/2009/05/23/protecting-your-flash-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

