Quote:
Originally Posted by sandsnip3r
That wasnt too bad. Is this still the proper approach with vsro? I imagine not for isro.
|
Imagine all the
legitimate traffic flowing horizontally and
injected traffic flowing vertically for the following diagrams.
1. Legacy approach
[Only registered and activated users can see links. Click Here To Register...]
In the legacy setup, legit traffic flows through the proxy and can only be blocked by a configurable list of opcodes.
Injected traffic is generated by the
optionally connected application.
2. Modern approach
[Only registered and activated users can see links. Click Here To Register...]
The modern setup allows the legit packets to flow through the application's packet handlers and be modified or blocked dynamically. Injected traffic is generated by the application itself.
3. Client(less) approach
[Only registered and activated users can see links. Click Here To Register...]
But Daxter, you only moved the SR_Client to the bottom :babyrage:
Yes, and it means that the SR_Client now generating our injected traffic.
The application is generating "legit" traffic without the need of the Client.
The client connection is
optional (unless they have a HWID system) and should be isolated. Only certain packets are allowed to flow through when the application and client are in the same state.
Think of it as a plug-and-play rendering/input device, you can disconnect and reconnect (
[Only registered and activated users can see links. Click Here To Register...]) it as you wish.
4. florian0ish approaches
Hook DLLs to the SR_Client and send packets through the internal functions or hack through memory because why not.
Summary
All approaches have their pros and cons and ultimately it comes down to your preference and skill.
The legacy approach will need the least amount of network understanding as you only hold a single connection.
The modern approach requires you to know how to write the proxy and perform handshake logic (although
[Only registered and activated users can see links. Click Here To Register...] takes that away).
The client(less) approach is tricky and requires decent knowledge of the packets because you want to puppeteer the client.