LOADING
Loading
Hi , welcome back.
LogoutLOGOUT
 
  Lost password?  
Hi
 




 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 11-02-2005, 07:56 AM
susanzheng susanzheng is offline
Registered User
 
Join Date: Aug 2005
Posts: 9
Rep Power: 0
susanzheng is on a distinguished road
A useful tips about how to extract .swf file from a PowerPoint file

I saw an article online about how to extract.swf file from PowerPoint file, I think it quite useful, maybe it can help you in certain way.

-------------------------------------------------------------------

We had a Power Point Presentation file given us a few days ago with an
embedded flash file which we needed to extract to use on the website.


We couldn't find any way to do this. We could drag and drop the swf
onto another presentation, we could even drag the object onto the
desktop. This created a scrap file which was rather annoying.


However, this led me to the discovery of the NeverShowExt registry key.
I managed to rename the scrap to a have a .swf extension, but still no
cookie.


So I started digging around the scrap to see if I could find the swf
object inside and after reading an introduction to SWF I found what I
was looking for.


Now I just wanted to extract this binary data from the scrap file, and
I wanted to do it the hard way!


So I wrote a small amount of code to look through a file and extract
the goodies. The main part of the code was to take a byte array and
copy that into my SWF struct - using the
System.Runtime.InteropServices.Marshal class.


After a bit of messing around the code runs like a dream. The final
executable takes 2 parameters the first is the file containing the SWF
and the second is the file to write the SWF.


using System;
using System.IO;
using System.Runtime.InteropServices;


namespace FlashExtractor
{
///
/// Summary description for Class1.
///
class Class1
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
//assume param 1 is the location of the shockwave file
byte[] file = new byte[Marshal.SizeOf(typeof(swf))];


FileStream fs = File.Open(args[0], FileMode.Open,
FileAccess.Read,FileShare.Read);
int i=0;
//go through the file byte by byte
//could I have seeked this?
while (i {
//set the position in the file
fs.Position = i;
//read off 8 bytes worth of data to put into the swf struct
fs.Read(file,0, 8);
IntPtr ptr = Marshal.AllocHGlobal(file.Length);
Marshal.Copy(file, 0x0, ptr, file.Length);
swf s = (swf) Marshal.PtrToStructure(ptr, typeof(swf));


// if the struct header is FWS then we may have a flash file
if (s.header1==0x46 && s.header2==0x57 && s.header3==0x53)
{
//we have the identity of a flash file
Console.WriteLine("Found the header of a flash file");
Console.WriteLine("Version: {0}", s.version);
Console.WriteLine("Size: {0}", s.size);


//if the size of the fws is < length of the file
if (s.size + i<=fs.Length)
{
Console.WriteLine("Attempting to write the file to {0}",
args[1]);
FileStream fw = File.OpenWrite(args[1]);


Console.WriteLine("Allocation byte array of {0} length", s.size);
byte[] b=new byte[s.size];


Console.WriteLine("Reseting the file back to position: {0}", i);
fs.Position = i;


Console.WriteLine("Reading from {0} to {1}", i, s.size);
fs.Read(b,0,(int)s.size);


Console.WriteLine("Writing byte array back to disk");
fw.Write(b, 0, b.Length);


fw.Close();
break;
}
else
{
Console.WriteLine("The file is not of the correct size file: {0},
{1}", s.size, fs.Length);
}


}
i++;
}
fs.Close();


}


}


[StructLayout (LayoutKind.Sequential, Pack = 0x1)]
struct swf
{
public byte header1;
public byte header2;
public byte header3;
public byte version;
public UInt32 size;
}



}


In theory this could be used to extract many forms of embedded binary data.
---------------------------------------------------------------

http://www.sameshow.com
A practical yet easy-to-use software to convert PowerPoint to Flash for publishing on Web or email to others
Reply With Quote
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Edit Flash File frankmoncrief1 Flash CS4 2 06-01-2009 06:30 PM
original .fla file accidentally turned into .swf file mrpoate Newbies 2 07-10-2007 01:25 AM
dynamic text in embedded .swf file doesnt work zubins Flash MX ActionScript 1 01-22-2005 05:37 AM
Runtime .swf file (sourcecode of .swf) johns221b Advanced Flash 0 11-12-2004 08:07 AM
Loading a .swf file into a .fla file Ice Tea Flash MX ActionScript 6 02-19-2003 10:57 AM




All times are GMT. The time now is 01:29 PM.