Reverse Engineering
Our Reverse Engineering experts can dissect and disassemble programs and data that the original source or specifications are unavailable for.
Sometimes a program’s source code is unavailable for analysis, either through accidental loss or adverse conditions. Our expert reverse engineering staff can disassemble almost any compiled or assembled program code for any platform (Windows, Linux, MacOS, iOS, Android) and language (C, C++, C#, .Net, Objective C, Java). Disassembled and decompiled code can be analyzed, commented, annotated, diagrammed and explained clearly in layman’s terms to compare it against patented or otherwise protected algorithms and intellectual property.
We can also advise on how similar code might be to protected processes and suggest ways of re-engineering a design to no longer infringe upon protected IP.
For clean-room implementations, we can assume either side of the Wall, either generating abstract specifications or implementing new non-infringing code based on clean specifications.
We also specialize in reverse engineering data formats to extract data from proprietary data formats for compatibility or validation purposes. Our engineers have decades of experience in reading, writing and designing data formats for diverse applications, so we know how data is usually structured.
We also specialize in encryption breaking and password recovery. Many file formats (Word/MS-Office, ZIP, etc) allow documents to be protected with a password to encrypt them with varying degrees of sophistication. Where necessary, this encryption can often be broken and sometimes the original password recovered. We can also perform decryption and password recovery of common desktop operating system passwords and encryption.