问题
I have this flash application that opens a socket connection with a server. What I need to do is to read packets sent and received byt he application to write a sort of "history" ( in WIndows). Now, questions are:
- How is the simplest way to do it? Application hooking? Load the flash application in my application and take control over it? No packet sniffing allowed.
- Is it possible to do it in C++, or you think it's better to use another programming language? My first choice was java, but it seems that do it is troublesome...
回答1:
The simplest way to do it (by far) is to use a socket proxy. The flash application connects to the proxy, the proxy connects to the server and relays streams both ways while logging.
As far as I know, the flash application can only connects to the server where it was donwloaded, so it means you may have to host the flash localy, setting up a little http server.
Take a look at Socket Workbench for an example of a socket proxy. You can also roll your own with java or c#. c++ seems a bit overkill here.
回答2:
you can sniffer packets on application level by injecting your code in network calls, check Detours: http://research.microsoft.com/en-us/projects/detours/
来源:https://stackoverflow.com/questions/4517832/tracking-flash-application-packets