开发者_高级运维
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this questionAdobe Flash has some interesting and, at times, frustrating security rules that prevent lots of things from happening, like writing files to disk.
Swf Studio and Flash Jester allow Flash to "break out" of the security sandbox that prevents file IO operations. How are these programs written? Is this something that I can do in any of the .NET languages? Is there an API that I can use? (I'd rather not pay these people money that I can't afford...)
Do these guys use an undocumented API? (If yes, how can I learn about the said API?)
Yes, I would say that you can do it yourself in .Net, and it's not very hard to get the grip of.
I don't know exactly how Swf Studio and Flash Jester do it, how they provide an API for ActionScript, but if what you are after is to build a Flash wrapper that enables file IO and such (in a desktop environment, not a web browser), it can be done using ActionScript's ExternalInterface.
I have done some stuff like that myself, a couple of years ago, for a digital signage application built on .Net/C# and Flash. Basically the Flash Player ActiveX control and the container application communicates using a protocol base on XML-RPC. Here are some basic examples:
http://blog.another-d-mention.ro/tag/external-interface/
The custom ActionScript classes that make up the SWF Studio ActionScript API are contained in a SWF that we load BEFORE your main SWF is loaded into the player. Our API SWF actually takes care of the loading and making our AS classes available to your SWF. You compile against our SWC or AS class definitions but the API SWF is where those references are resolved at runtime. Our API uses ExternalInterface and FSCommand under the covers to do its work.
精彩评论