Perhaps you can get control text using your little test program and, if so, we can probably extract location and force a mouse click?
You could run the program using gdb in emacs and dump the data in a nice, easy way to both dissect and save. On Jan 27, 2010, at 10:10 AM, Chris Blouch wrote: > 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 macvisionar...@googlegroups.com. >>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>> macvisionaries+unsubscr...@googlegroups.com. >>>>>>>>> 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 macvisionar...@googlegroups.com. >>>>>>> To unsubscribe from this group, send email to >>>>>>> macvisionaries+unsubscr...@googlegroups.com. >>>>>>> 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 macvisionar...@googlegroups.com. >>>>>> To unsubscribe from this group, send email to >>>>>> macvisionaries+unsubscr...@googlegroups.com. >>>>>> 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 macvisionar...@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> macvisionaries+unsubscr...@googlegroups.com. >>>>> 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 macvisionar...@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> macvisionaries+unsubscr...@googlegroups.com. >>>> 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 macvisionar...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> macvisionaries+unsubscr...@googlegroups.com. >>> 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 macvisionar...@googlegroups.com. >> To unsubscribe from this group, send email to >> macvisionaries+unsubscr...@googlegroups.com. >> 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 macvisionar...@googlegroups.com. > To unsubscribe from this group, send email to > macvisionaries+unsubscr...@googlegroups.com. > 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 macvisionar...@googlegroups.com. To unsubscribe from this group, send email to macvisionaries+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/macvisionaries?hl=en.