Binary Software Analyzer for Metadata-Free Security Inspection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Analyzing binary software code for security risks is challenging when submitted without metadata, as it is in an unreadable format, making it difficult to identify malicious code or vulnerabilities.
Innovation Solution
A binary software analyzer is used to scan for text strings, associate the software platform, disassemble, and decompile the code to detect security risks, even without metadata, by identifying keywords and patterns specific to different platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If binary software code is submitted without metadata, then submission flexibility is improved, but code analysis capability deteriorates
Solution Approach 1:
The system performs preliminary actions by scanning the binary code to identify text strings and keywords before the actual security analysis. This preliminary identification of platform-specific keywords enables the system to determine the software platform and configure appropriate disassembly and decompilation parameters, thus preparing the analysis environment in advance despite the absence of metadata
Solution Approach 2:
Text strings and keywords serve as intermediaries between the binary code and the analysis engine. By extracting and analyzing these text elements, the system can infer the software platform and configure the appropriate analysis tools, bridging the gap caused by missing metadata without requiring direct metadata input
2Measurement precision
If comprehensive disassembly and decompilation operations are performed, then security detection precision is improved, but processing time increases
Solution Approach 1:
The system performs preliminary disassembly operations first, which are faster and provide initial structural information. Based on the results of this preliminary analysis and identified text strings, the system then selectively performs decompilation operations only when necessary, avoiding unnecessary full decompilation and thus reducing overall processing time while maintaining detection precision
Solution Approach 2:
The analysis process is segmented into distinct stages: text string extraction, platform identification, disassembly, and decompilation. Each stage builds upon the previous one and can be selectively executed, allowing the system to perform comprehensive analysis when needed while optimizing for speed in cases where earlier stages provide sufficient information
Data Source
Figure 1~3
Figure 2
AI summary
Systems, methods, and software can be used to analyze binary software codes. In some aspects, a computer-implemented method comprises: scanning, by at least one hardware processor, a binary software code to identify one or more text strings; associating, by the at least one hardware processor, the binary software code with a software platform based on the identified one or more text strings; disassembling, by the at least one hardware processor, the binary software code based on the software platform associated with the binary software code; and detecting, by the at least one hardware processor, a security risk in the disassembled binary software code.