Reverse Engineering Flash- SWF : an overview...
Reverse Engineering exes and linus applications is known.
However another interesting thing to learn is flash reversing. This can be used for action-script analysis or offensive hacking both!
Applying reverse engineering to browser components helps in catching vulnerabilities early in the software development life cycle.
Reverse engineering can help in identifying resources bundled on the browser side and one can dissect them to determine different security issues and concerns.
It contains reverse engineering the architecture of browser layer, fingerprinting components, discovery of cross domain interactions, debugging calls, DOM inspection, decompiling components, inter-platform communication, socket calls inspection and vulnerability tracing
Static code analysis– It is simple to perform static analysis across code running in the browser.
It is also possible to do hybrid analysis to reduce the scope by capturing codebase at runtime (DOMTracer).
Object code analysis– Flash and Silverlight run on the browser stack as plug-ins.
It is possible to retrieve their object code which runs on their own sandbox or platform within the browser.
Both SWF (Flash/Flex) and XAP/DLL (Silverlight) have their object code that can be decompiled and analyzed.
It is also possible to reconstruct the code in human understandable languages using decompilers like Lutz, SWFdump, Trilix etc.
This method can be applied to mobile applications (Android/iPhone) as well to determine issues.
Reverse Engineering and Protocol analysis– the traditional way to discover and monitor HTTP traffic going over SSL or non-SSL is by using a proxy.
It’s important to observer AMF, SOAP and WCF traffic to discover server side vulnerabilities.