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.

Reply via email to