What are the best de-swfing tools that allow you to decompile the shockwave files? I need to see if I can extract certian objects, ActionScripting, etc....
these days most developers do not put actionscript in swf files but save it external in .as files. i always do this as pirates attempting to steal my work cannot then get at the actionscript....well all they will get are the include statements.
its also much better coding practise to do this things way and once written code can then be used simultaneously by many swf and you no longer have to go digging around a swf trying to find a line of code as its all in the one place.
id urge everyone to adopt this best practise ...it makes life easier and prevents theft of your actionscript.
no way...the .as files are kept well away from public domain in a secure area....same sort of place you would keep passwords etc.....anyone trying to hack in would doubtless get nowhere or set off alarms.
Then fine! Keep your precious scripts for yourself!
Can't change Bush's mind either but I still would vote against his (are they really his?) keeping scripts secret! Regards,
billwatson. why don't you post an example swf with your include statements in it? I bet you I can get to your AS files. I've done it before with a fortune 500 company.
onClipEvent (mouseMove)
{
if (scrolling == "scrollbar2"
{
lineheight = 161 / (TextBox.maxScroll - 1);
TextBox.scroll = Math.round(scrollbar2._y / lineHeight + 1);
} // end if
updateAfterEvent();
}
onClipEvent (data)
{
loaded = true;
}
=============================
Looks like you're loading variables too... here the txt file...
=============================
textbox=matrix {matrixType:"box", x:dt._x, y:dt._y, w:dt._width, h:dt._height, r:Math.PI/2};
lineto(dt._x+dt._width, dt._y+dt._height);
lineto(dt._x, dt._y+dt._height);
lineto(dt._x, dt._y);
endFill();
here come
the real rubbish
now
will it scroll
hum de hum
and more rubbish
and more rubbishtextbox=matrix {matrixType:"box", x:dt._x, y:dt._y, w:dt._width, h:dt._height, r:Math.PI/2};
lineto(dt._x+dt._width, dt._y+dt._height);
lineto(dt._x, dt._y+dt._height);
lineto(dt._x, dt._y);
endFill();
here come
the real rubbish
now
will it scroll
hum de hum
#include happens at compile time: in other words the actionscript is taken in by the authoring tool and built into the .swf as it's being published. It doesn't work like javascript or php where the include brings the code in at runtime. It's still a cool thing to use in order to build up a reusable code library so it's good practice to use it (saves a ton of time too).
There are a couple of utilities out there which 'obfuscate' your code and make it incredibly hard to read, and therefore rip off, even with a .swf decompiler.
As for sharing code, if I've just put together a site and worked non-stop for a month, twelve hour plus days to build something cool that the client loves and I can charge ten grand for then I don't want exactly the same code appearing elsewhere a week later for a fraction of the price supplied by someone who doesn't understand it but simply lifted it wholesale because they couldn't be bothered or weren't capable of writing it themselves. The client feels that I ripped them off and won't want to pay a sensible price if they ever come back to me. Fair's fair - I like to contribute to forums and help out when I have time, and Flash is a fun hobby etc. but for some people this is a job too and it's one that gets heavily devalued by piracy.
wangbar. Thanks for the feedback. Regarding your statement about the #includes occurring at compile time, if code in the ".as" files (via #include) are updated after the .swf is compiled then the FLA will have to be recomiled to a SWF for the new ".as" script to be available to the app/movie? right?
I thought the #include was useful in multi-user development environments so the developers could update their AS files and not have to re-swf their apps/movies. Please provide your wisdom here.
Exactly - the code is fixed into the swf at compile time so any updates to the .as file after that point will not appear.
It's still useful, though not as convenient as in other languages, in multi-developer environments - you just have to remember to republish the movie every time the code is updated.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.