API Extraction for Software Piracy Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic analysis for identifying software piracy is time-consuming due to the large amount of data that needs to be analyzed, which hinders efficient detection and identification.

Innovation Solution

A data processing method that extracts API names from software programs, converts them into unique text sequences, establishes a frequency table, records these sequences in a log file, and compresses the data using schemes like Repeated Call Compression, Repeated Call Pattern Compression, or Pattern-set Replacement Compression to reduce the data volume for similarity comparison.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If dynamic analysis is used to identify software piracy, then identification accuracy is improved, but analysis time increases significantly

Engineering Contradiction:
Improveidentification accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the essential API call information from the complete execution data, separating the critical identification features from the large volume of redundant execution data. This extraction process maintains identification accuracy while reducing the data volume requiring analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the analysis process into distinct stages: data collection, API extraction, frequency table generation, and similarity comparison. By dividing the workflow, the system processes only necessary information at each stage, reducing overall analysis time while preserving accuracy.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If complete execution data is analyzed for software piracy identification, then identification accuracy is improved, but data processing complexity increases

Engineering Contradiction:
Improveidentification accuracyVSAvoiddata processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential API call information from the complete execution data, separating the critical identification features from the large volume of redundant execution data. This extraction process maintains identification accuracy while reducing the data volume requiring analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the raw execution data into frequency tables that represent API call patterns. By changing the data representation from detailed execution traces to aggregated frequency statistics, the system reduces processing complexity while preserving the essential characteristics needed for accurate piracy identification.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If API call data is extracted and recorded in detail, then similarity comparison accuracy is improved, but data volume increases

Engineering Contradiction:
Improvesimilarity comparison accuracyVSAvoiddata volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent transforms the raw execution data into frequency tables that represent API call patterns. By changing the data representation from detailed execution traces to aggregated frequency statistics, the system reduces processing complexity while preserving the essential characteristics needed for accurate piracy identification.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent combines multiple API call occurrences into frequency counts, merging redundant information into compact representations. This consolidation maintains the essential pattern information for accurate similarity comparison while dramatically reducing the total data volume that must be processed and stored.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9122543B2Data processing method, apparatus and computer program product for similarity comparison of software programs
Publication Date: 2015.09.01 FOUND OF SOONGSIL UNIV IND COOP
  • US9122543B2 patent drawing
  • US9122543B2 patent drawing
  • US9122543B2 patent drawing

AI summary

A data processing method, apparatus, and computer program product for performing a similarity comparison between software programs are provided. An aspect of the invention provides a data processing method for performing a similarity comparison between two programs, where the data processing method includes: (a) extracting API names from each program and converting the API names to unique text sequences of a particular byte; (b) establishing a frequency table by counting a frequency of the extracted API names; (c) recording the API names converted into the unique text sequences in a log file in the order of extraction; and (d) saving the frequency table as a file and compressing the log file.