On the unix side you can dump a file to the terminal with the more
command. So the dump was simply the result of saying more md.swf. I
believe that binary values that map to an ASCII character are simply
output while other hex values are output with <> around the hex value.
The results obtained are simply a boolean as to whether something is
actively using MSAA. Usually that means Jaws or the like is running but
you really don't know. It is used as part of my axs library which has a
number of little methods for making web apps work more like desktop apps.
http://dev.aol.com/downloads/axs1.2/readme.html#md
CB
Chris Hofstader wrote:
Even though they are compiled, has anyone opened such a file with a
hex editor and poked around looking for human readable text? Dumping
it as ASCII will almost always give gibberish because of odd
compilation artifacts. But a hex editor in a debugger will translate
text information into ASCII nicely. There are lots of tools to do this
on GNU/Linux platforms but I don't know about Macintosh.
Also, is the dump you included that of your little test program or of
the results it obtained when used? The latter would be more interesting.
Happy Hacking,
cdh
cdh
information
On Jan 26, 2010, at 3:12 PM, Chris Blouch wrote:
The difficulty is that the swf files are compiled binary data so
there's not much there to read. I've heard there are various efforts
to make a swf de-comopiler but I've not found one working yet. For
example, attached (assuming attachments works) is a small 149 byte
swf I made to detect MSAA being used on windows. The whole thing is
just a few lines of actionscript on one frame:
//Load up JavaScript communications libraries
import flash.external.ExternalInterface;
//Look for MSAA use and pass to axs.md.cb javascript method
ExternalInterface.call("axs.md.cb",Accessibility.isActive());
//Only do this once
stop();
but if you try to view the md.swf as text it will just be gibberish.
If I do a 'more' on md.swf in terminal I get
CW<B1>^...@^@^...@x<9C><AB>``<8D>g`<E0>_<C0><C0><C0><C3><C9><E0>"<C8>^...@^d<CE>L<FF><FF><FF>w`@<85><F6><CC>
<E5>@<A9>i^R^Ll^L0<E0><98><9C><9C>Z\<9C><99><94><99><93>YR<C9>
3<8D><8B><81>!<B3><D8>1<B9>$<B3>,<95>
!h<9A>8^CCbE<B1>^n<8A>^r^R^C;^SHCZNbq^FDajEIjQ^b^N<83><DF>4a^F^FW(<CF>3^OH<A7>%&<A7>^B<85><81><F6>$'
<E6><E4>0^D<89><B3>^C<AD>g...@^@<F5><A3>'U
If someone can use this as a Rosetta stone to decompile SWFs, more
power to them.
CB
James & Nash wrote:
Hi list,
Can't something be done in UNIX? I.e. a Flash to text converter or
something? I know that FF on Linux uses the Graphical User
interface, but can Flash be used on a text-based distribution such
as Gentoo? If so, perhaps something can be done in Darwin on Mac OS.
Just a thought
TC
James
On 26 Jan 2010, at 19:20, Chris Blouch wrote:
Short of some browser plugin I think the flash container is pretty
well sealed off from inspection in Safari. Maybe something else can
be done in FF but then that doesn't get us anywhere for voiceover
support. Too many gaping holes. Jump over one and land in another.
CB
Chris Hofstader wrote:
Q: Is MSAA info even accessible on the Mac?
A: All information can be found if one knows how and where to
look for it. MSAA data is attached to the controls in one of their
object description fields. Finding the controls will give us the
place to find the MSAA information which, in most cases is as
valuable as, "button 1," "button 2," etc. but that's all one gets
on Windows too and with a little poking around, we can find the
location information which maybe something we can pull out of the
browser when it renders the Flash object.
This is all quite hypothetical, I haven't opened up a debugger to
try to find anything within a Flash object yet (before or after
it's rendered) so this more of a thought experiment than anything
else.
cdh
CB
Chris Hofstader wrote:
Could it be possible, if we know what we're looking for, to find the MSAA
information in a Flash object? It could give us the names and locations
relative to the Flash window from which we could easily calculate the raw
screen coordinates and provide a crufty facility for users to click buttons and
such.
cdh
On Jan 26, 2010, at 12:58 PM, Chris Blouch wrote:
I don't know how much access the Flash object gives to external scripts so you
might hit similar roadblocks in Applescript. You can probably get general infor
about the entire flash object (height, width etc) but being able to trigger
internal actionscripts probably requires some glue code inside the flash object.
CB
Yuma Antoine Decaux wrote:
Yep, there's got to be a callback between js and flash, and i don't know which
part of the api is set to open on a per publication basis.
I'm wondering if there isn't a way to access it differently, as in js firs
extracting the labels, and calling applescript's OSAX which is the extended
suite of commands, which then move the mouse cursor to the label called by js,
then the user clicks. It's a bit GUI scripting, but that method might work
since the mouse cursor can access flash buttons without the use of voice over,
which in this method is just an external call inherent to the system.
I might get my devver to check this out when he's got time. I myself don't have
time right now.
Cheers
--
You received this message because you are subscribed to the Google Groups
"MacVisionaries" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.
--
You received this message because you are subscribed to the
Google Groups "MacVisionaries" group.
To post to this group, send email to
[email protected]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.
--
You received this message because you are subscribed to the Google
Groups "MacVisionaries" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.
--
You received this message because you are subscribed to the Google
Groups "MacVisionaries" group.
To post to this group, send email to
[email protected]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.
--
You received this message because you are subscribed to the Google
Groups "MacVisionaries" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.
--
You received this message because you are subscribed to the Google
Groups "MacVisionaries" group.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.
<md.swf>
--
You received this message because you are subscribed to the Google
Groups "MacVisionaries" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.
--
You received this message because you are subscribed to the Google Groups
"MacVisionaries" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/macvisionaries?hl=en.