{'fraction_non_alphanumeric': 0.014577259475218658, 'fraction_numerical': 0.0, 'mean_word_length': 4.953757225433526, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Retrieving the useful information from the binary files compiled by C compiler

In order to reuse a software component or verify it, the information about compiler, that is used for compilation of the component, is very significant. Due to unknown build flags and compiler information, third party components usually cannot be reused. When it comes to the matter of software components developed in C language, the only place to look for this information is in compiled binary file. Since there are no standards for C language that bind compiler to leave any information about itself in binary file, the information is not expected to be found. However, the information can be found in most of the binary files. This paper investigates what is the possibility of retrieving the information about compiler name and version based on the content of the binary code, without decompiling the binary code. The information retrieving opens up new possibilities for reusing the components and verifying the software requirements as well.