Reverse engineering is the art of extracting knowledge or design information from a built artifact. Understanding the nitty-gritty details of a proprietary network protocol, extrapolating vulnerability details from a binary patch, or simplifying and reproducing obfuscated routines are just a few examples of the reverse engineering challenges successfully executed by our team. We enjoy solving technical puzzles and are well-equipped to provide tailored services in this space.

Binary Analysis

We have years of experience working on x86, x64, ARM, JVM's bytecode and other more. We read and write assembly code and understand how crashes happen. We have experience dissecting patches and cracking protected binaries to figure out exactly how they work.

Native binaries are handled through manual reverse engineering, debugging, and instrumentation. Mostly through manual study, we are able to determine the functionalities provided by the binaries under examination. Using fuzzing and other dynamic techniques, we elicit unintended behaviors that could be used to subvert the security of a system.

Protocols and File Formats Reversing

We're passionate about reverse engineering challenges as they provide a unique opportunity to learn how things work under the hood. Being very familiar with complex protocol designs and file formats, our team can derive formats and specifications from samples. As we've done several times, we can create interoperable implementations of protocols and parsers to be used in both offensive security and software engineering applications.

While reversing activities are tailored to the specific customer's need, we generally kick off these engagements by collecting and categorizing samples of network traffic or files. We manually study the interaction between systems using those protocols and files, and derive the underlying design. Whenever required, we build custom tools to be able to generate or parse those formats and messages. To end, we document all processes and results in a concise but precise report.

US Office
1250 Clay Street, Suite 208
94108 San Francisco - USA

John Villamil

EMEA Office
Ul. Florianska 6, Suite 1B
03-707 Warsaw - Poland

Luca Carettoni

When working with Doyensec, you will be working directly with its founders. We are the points of contact, the negotiators, the problem solvers, and the hackers.

For proposals or questions: or +1 (628) 333 9093