<?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: Convert *some* Flash 8 Movies to Flash9 Movies at runtime</title>
	<atom:link href="http://www.danielhai.com/blog/index.php?feed=rss2&#038;p=35" rel="self" type="application/rss+xml" />
	<link>http://www.danielhai.com/blog/?p=35</link>
	<description>Flash, Actionscript 3, Flex, Art, Technology, Video, VJing</description>
	<lastBuildDate>Tue, 07 Sep 2010 13:26:11 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Troy</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-157960</link>
		<dc:creator>Troy</dc:creator>
		<pubDate>Wed, 18 Feb 2009 19:52:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-157960</guid>
		<description>Hi Daniel, this is great! Thanks! It seems that this needs to load the entire file before displaying the swf. Is it possible to use the progressive download to begin playing  before it is completely loaded? I don&#039;t see in your code where the swf is made visible.</description>
		<content:encoded><![CDATA[<p>Hi Daniel, this is great! Thanks! It seems that this needs to load the entire file before displaying the swf. Is it possible to use the progressive download to begin playing  before it is completely loaded? I don&#8217;t see in your code where the swf is made visible.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fladdict&#187; ブログアーカイブ &#187; 8のswfを強引に9として扱う</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-84230</link>
		<dc:creator>fladdict&#187; ブログアーカイブ &#187; 8のswfを強引に9として扱う</dc:creator>
		<pubDate>Wed, 07 May 2008 13:58:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-84230</guid>
		<description>[...] リンク先サンプルの書き換えは、ステージサイズ依存になっているので、汎用コードじゃないけど、もうちょっとみんなが調べれば確実な方法が判明しそう。  danielhai.com : Convert *some* Flash 8 Movies to Flash9 Movies at runtime [...]</description>
		<content:encoded><![CDATA[<p>[...] リンク先サンプルの書き換えは、ステージサイズ依存になっているので、汎用コードじゃないけど、もうちょっとみんなが調べれば確実な方法が判明しそう。  danielhai.com : Convert *some* Flash 8 Movies to Flash9 Movies at runtime [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregor Rot</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-7921</link>
		<dc:creator>Gregor Rot</dc:creator>
		<pubDate>Wed, 18 Apr 2007 21:01:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-7921</guid>
		<description>Hey, ok with the help of Daniel and information at sites:

http://sswf.sourceforge.net/SWFalexref.html
http://www-lehre.informatik.uni-osnabrueck.de/~fbstark/diplom/docs/swf/Flash_Uncovered.htm

i managed to decipher the header.

Now i can calculate where the flash header ends and i can get the first tag. But if i generate a Flash8 the first tag is not FILEATTRIBUTES as it should be.

Anyway, can somebody tell specifically what bite to change? Some bite in the FILEATTRIBUTE tag? This apparently won&#039;t be enough: http://www.mail-archive.com/swftools-common@nongnu.org/msg00900.html</description>
		<content:encoded><![CDATA[<p>Hey, ok with the help of Daniel and information at sites:</p>
<p><a href="http://sswf.sourceforge.net/SWFalexref.html" rel="nofollow">http://sswf.sourceforge.net/SWFalexref.html</a><br />
<a href="http://www-lehre.informatik.uni-osnabrueck.de/~fbstark/diplom/docs/swf/Flash_Uncovered.htm" rel="nofollow">http://www-lehre.informatik.uni-osnabrueck.de/~fbstark/diplom/docs/swf/Flash_Uncovered.htm</a></p>
<p>i managed to decipher the header.</p>
<p>Now i can calculate where the flash header ends and i can get the first tag. But if i generate a Flash8 the first tag is not FILEATTRIBUTES as it should be.</p>
<p>Anyway, can somebody tell specifically what bite to change? Some bite in the FILEATTRIBUTE tag? This apparently won&#8217;t be enough: <a href="http://www.mail-archive.com/swftools-common@nongnu.org/msg00900.html" rel="nofollow">http://www.mail-archive.com/swftools-common@nongnu.org/msg00900.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregor Rot</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-7904</link>
		<dc:creator>Gregor Rot</dc:creator>
		<pubDate>Wed, 18 Apr 2007 16:10:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-7904</guid>
		<description>Ok thanks, the problem is: i can find how the window size is encoded like Mikael suggested but still from all this discussion i can&#039;t understand how to parse the header and find the right location, are there bits to change or bytes? And Mikaels formula to find the location is more then confusing :&#124; What are nbits? What is FWS?</description>
		<content:encoded><![CDATA[<p>Ok thanks, the problem is: i can find how the window size is encoded like Mikael suggested but still from all this discussion i can&#8217;t understand how to parse the header and find the right location, are there bits to change or bytes? And Mikaels formula to find the location is more then confusing :| What are nbits? What is FWS?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Hai</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-7903</link>
		<dc:creator>Daniel Hai</dc:creator>
		<pubDate>Wed, 18 Apr 2007 15:49:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-7903</guid>
		<description>hey Gregor, it&#039;s not byte 23 exactly.  ithe length of the header is variable due to the dimensions of the swf (look up nbits).  You&#039;ll have to parse the header and find out the rect size of the swf, then find the relevant bits to change.  If i get some time I&#039;ll post some code that i started that does some of this look-up.</description>
		<content:encoded><![CDATA[<p>hey Gregor, it&#8217;s not byte 23 exactly.  ithe length of the header is variable due to the dimensions of the swf (look up nbits).  You&#8217;ll have to parse the header and find out the rect size of the swf, then find the relevant bits to change.  If i get some time I&#8217;ll post some code that i started that does some of this look-up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregor Rot</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-7901</link>
		<dc:creator>Gregor Rot</dc:creator>
		<pubDate>Wed, 18 Apr 2007 14:44:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-7901</guid>
		<description>Can somebody point out what to do, from all this comments and can&#039;t really figure out which byte location to change according to my swf - i have an output from swftools, pdf2swf, and changing byte 23 to 08 doesnt work :&#124;</description>
		<content:encoded><![CDATA[<p>Can somebody point out what to do, from all this comments and can&#8217;t really figure out which byte location to change according to my swf &#8211; i have an output from swftools, pdf2swf, and changing byte 23 to 08 doesnt work :|</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Honselaar</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-5141</link>
		<dc:creator>Chris Honselaar</dc:creator>
		<pubDate>Tue, 13 Mar 2007 00:39:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-5141</guid>
		<description>Correction:
Its not the UseNetwork field itself that is significant, its the &quot;Reserved&quot; field just immediately preceding it, and more specifically the leftmost bit of this 3-bit field should be set to 1 for this hack to work. Apparently, this is always the case in files compiled to SWF9, and never in older SWF&#039;s (the SWF8 documentation requires it to be set to 0...).
My guess is a new security feature was added which now takes the place of the previously reserved field, and as far as i can tell it acts as a switch determining whether parent swf&#039;s are allowed to access the inner content of the current SWF.</description>
		<content:encoded><![CDATA[<p>Correction:<br />
Its not the UseNetwork field itself that is significant, its the &#8220;Reserved&#8221; field just immediately preceding it, and more specifically the leftmost bit of this 3-bit field should be set to 1 for this hack to work. Apparently, this is always the case in files compiled to SWF9, and never in older SWF&#8217;s (the SWF8 documentation requires it to be set to 0&#8230;).<br />
My guess is a new security feature was added which now takes the place of the previously reserved field, and as far as i can tell it acts as a switch determining whether parent swf&#8217;s are allowed to access the inner content of the current SWF.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Honselaar</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-5139</link>
		<dc:creator>Chris Honselaar</dc:creator>
		<pubDate>Tue, 13 Mar 2007 00:14:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-5139</guid>
		<description>Thanks for discovering and reporting this Daniel! I researched it a little bit using the SWF format documentation and a hex editor. This specific &quot;magic&quot; byte corresponds to the UseNetwork field of the new FileAttributes tag which is now required in SWF 8. According to the docs, this field can have either 1 or 0 as value, which denotes, respectively, network or local file access permissions. Interestingly, when compiling to SWF 9 with the Flash 9 beta, this field instead assumes the values 9 or 8 depending on the access permissions.
So, it appears what your method is doing is to set the Access permissions to local using an as yet undocumented change in the FileAttribute tag in SWF9.</description>
		<content:encoded><![CDATA[<p>Thanks for discovering and reporting this Daniel! I researched it a little bit using the SWF format documentation and a hex editor. This specific &#8220;magic&#8221; byte corresponds to the UseNetwork field of the new FileAttributes tag which is now required in SWF 8. According to the docs, this field can have either 1 or 0 as value, which denotes, respectively, network or local file access permissions. Interestingly, when compiling to SWF 9 with the Flash 9 beta, this field instead assumes the values 9 or 8 depending on the access permissions.<br />
So, it appears what your method is doing is to set the Access permissions to local using an as yet undocumented change in the FileAttribute tag in SWF9.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Hai</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-1772</link>
		<dc:creator>Daniel Hai</dc:creator>
		<pubDate>Mon, 18 Dec 2006 19:31:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-1772</guid>
		<description>thanks mikael.  I didn&#039;t realize swftools already could compile as3 swfs.

rock.</description>
		<content:encoded><![CDATA[<p>thanks mikael.  I didn&#8217;t realize swftools already could compile as3 swfs.</p>
<p>rock.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikael Möre</title>
		<link>http://www.danielhai.com/blog/?p=35#comment-1756</link>
		<dc:creator>Mikael Möre</dc:creator>
		<pubDate>Sun, 17 Dec 2006 18:37:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.danielhai.com/blog/?p=35#comment-1756</guid>
		<description>The more appropriate way to put f8bytes[22] = 8, would be, f8bytes[8 /* &quot;FWS&quot; + x08 or x09 + 4 bytes filesize */ + x + 6 /* 2 bytes framerate multiplied by 255 + 2 bytes frame count + 2 bytes for background frame tag marker */].

x is the size of the window rectangle, which is variable. For example, an 1x1px window is encoded as 30 0A 00 A0 (four bytes), while 200x200px is encoded as 00 1F 40 00 07 D0 00 (seven bytes). I don&#039;t have the time to tell how to tell how many bytes any window rectangle size is encoded as right now, but you can find it in swftools 0.7&#039;s lib\rfxswf.c on row 477 and further (swf_SetRect).

Modifying the 23:rd byte did not work for me, as my SWF was 1x1px.

Regards
Mikael Möre</description>
		<content:encoded><![CDATA[<p>The more appropriate way to put f8bytes[22] = 8, would be, f8bytes[8 /* "FWS" + x08 or x09 + 4 bytes filesize */ + x + 6 /* 2 bytes framerate multiplied by 255 + 2 bytes frame count + 2 bytes for background frame tag marker */].</p>
<p>x is the size of the window rectangle, which is variable. For example, an 1x1px window is encoded as 30 0A 00 A0 (four bytes), while 200x200px is encoded as 00 1F 40 00 07 D0 00 (seven bytes). I don&#8217;t have the time to tell how to tell how many bytes any window rectangle size is encoded as right now, but you can find it in swftools 0.7&#8242;s lib\rfxswf.c on row 477 and further (swf_SetRect).</p>
<p>Modifying the 23:rd byte did not work for me, as my SWF was 1x1px.</p>
<p>Regards<br />
Mikael Möre</p>
]]></content:encoded>
	</item>
</channel>
</rss>
