{'fraction_non_alphanumeric': 0.016722408026755852, 'fraction_numerical': 0.0, 'mean_word_length': 6.126984126984127, '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}}
BEST: An Assembler Structural Representation Tool Based on Flow Analysis

When mining security vulnerabilities in software, a structural intermediate representation of binary code should be obtained first. In this paper, we propose PANDA, a vulnerability-mining-oriented intermediate language and a series of algorithms for assembler understanding based on flow analysis. We implement a lightweight prototype system named BEST for assembler structural representation. The system uses control flow analysis and data flow analysis techniques to identify common control structures, analyze executive flow of a program, reconstruct expressions and functions, find data dependency, finally transform the assembler into a structured PANDA intermediate language program. Experiment results show that our system produces high quality intermediate language programs for further automatic security analysis.