Binary diagnosis is the art of understanding the properties of an unknown binary stream of data without any additional information. Usually done as a last resort due to lack of related code to reverse engineer or format specifications. Examples include understanding a network protocol or a file format with only the messages or files available for analysis.

Binary diagnosis is the art of understanding the properties of an unknown binary stream of data without any additional information. Usually done as a last resort due to lack of related code to reverse engineer or format specifications.

Examples:

  1. Understanding a file format without reviewing it's sepcifications and documentation.
  2. creating a simulator for a CRC algorithm using only generated messages using that CRC.
  3. Mapping a network protocol by only analyzing messages constructed as part of the protocol.
  4. Providing a decryption algorithm when only the keys, plain-texts and cypher-texts are at hand.

The task of diagnosing is usually considered more difficult than when additional information such as documentation or code is available. Binary diagnosis usually requires familiarity with similar protocols/algorithms and a decent understanding of statistics and other mathematical skills.