Smali Code Sequence Analysis for Objective App Evaluation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application evaluation techniques are subjective and lack objectivity, failing to accurately reflect the actual execution of applications due to reliance on permissions, user reviews, and simple machine learning methods that cannot identify the actual usage relationship of APIs.
Innovation Solution
A code sequence based intelligent key code identification method that extracts Smali code sequences by decompiling applications, vectorizes them to construct a training dataset, trains a deep learning model to generate a classifier, and uses Local Interpretable Model-Agnostic Explanation (LIME) to identify important Smali code sequences contributing to the application's classification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If permission and description are used for application evaluation, then the evaluation process is simple to implement, but the evaluation result is subjective and lacks objectivity
Solution Approach 1:
The patent replaces subjective mechanical evaluation methods (permission checking and user review analysis) with an automated deep learning-based code sequence analysis system. The system extracts Smali code sequences from applications, vectorizes them, and uses trained deep learning models to objectively classify applications, eliminating the subjectivity inherent in manual permission and description evaluation.
Solution Approach 2:
The patent introduces Smali code sequences as an intermediary representation between the application binary and the evaluation model. By extracting and vectorizing the Smali code sequences, the system creates a bridge that enables objective analysis of actual code execution behavior, mediating between the raw application data and the evaluation criteria.
2Device complexity
If simple machine learning methods are used for application classification, then the model is easy to train and deploy, but it cannot identify the actual usage relationship of APIs
Solution Approach 1:
The patent changes the input parameters from simple permission arrays or high-level API calls to detailed Smali code sequences that capture low-level execution behavior. This parameter transformation enables the deep learning model to detect subtle usage patterns and relationships between APIs that simpler methods miss, while the vectorization process keeps the model manageable.
Solution Approach 2:
The patent segments the application code into individual Smali method sequences, each representing a discrete functional unit. This segmentation allows the deep learning model to process and analyze specific code segments independently, identifying usage relationships between different APIs and methods while maintaining overall system understanding.
3Device complexity
If applications are classified into only benign or malicious categories, then the classification is simple, but it fails to provide detailed and accurate application evaluation
Solution Approach 1:
The patent segments the application evaluation into multiple fine-grained categories beyond simple benign/malicious dichotomy. By analyzing Smali code sequences at the method level and using deep learning models trained on detailed feature representations, the system can classify applications into specific functional categories and detect nuanced security issues, providing both granularity and accuracy.
Solution Approach 2:
The patent adds multiple dimensions to the classification problem by analyzing code sequences at different levels (method level, class level, package level) and using deep learning models that process multiple feature representations simultaneously. This dimensional expansion enables detailed classification that captures both security attributes and functional characteristics.
Data Source
AI summary
A code sequence based intelligent key code identification method includes extracting Smali code sequence by decompiling an application, vectorizing the extracted Smali code sequence to construct a training dataset, training a deep learning model with the vectorized Smali code sequence to generate a classifier, generating a category classification result using Smali code sequence of a target application as input of the classifier, and identifying and providing important Smali code sequence from which the classification result of the target application is derived. Accordingly, it is possible to objectively evaluate the application using Smali code sequence of the application being actually run.


