Reverse engineering: Understand software
Reverse engineering enables us to understand how software works without having access to the source code.
Software is everywhere today, running on every kind of machine. Most software packages have many dependencies that the buyer is not informed of. So what exactly does the software you're using contain? What exactly does it do? Does it enhance security, or might it actually weaken system defense?
To fathom out a binary file without having access to the source code we need specific tools and advanced know-how. It's a highly complex matter. That's our everyday business at Quarkslab: software investigation, and development of specialized tools addressing today's reverse engineering challenges.
Reverse engineering can be used for various purposes that are legal in France:
- Improve understanding of code such as malware or overlooked software
- Provide patches
- Test protections (DRM, gaming, payment, etc.)
- Reconstruct exact code from a binary file (e.g. intellectual property theft)
- Examine interoperability, building third-party clients for protocol
- Use hardware attacks to understand software
- Reports explaining the code we've analyzed
- Extracts of code developed to reproduce or interact with the program analyzed