Patent Document ID: 8997256
Application ID: 14314407
Patent Status: 1

Claim One:
1. A method comprising: receiving, by a computer, a first compiled computer binary; generating, by the computer, a first fingerprint of the first compiled computer binary; receiving, by the computer, a second compiled computer binary; generating, by the computer, a second fingerprint of the second compiled computer binary; comparing, by the computer, the first fingerprint of the first compiled computer binary with the second fingerprint of the second compiled computer binary; and determining, by the computer, whether at least some of the first compiled computer binary is present in the second compiled computer binary based on the comparison, wherein the generation of the first fingerprint of the first compiled computer binary comprises generating, by the computer, a call graph using the first compiled computer binary; generating, by the computer, a control flow graph for each of a plurality of functions in the call graph; selecting, by the computer, one of the plurality of functions; calculating, by the computer for the selected one of the plurality of functions, a leading Eigenvector of an adjacency matrix of the selected function's control flow graph; generating, by the computer for the selected one of the plurality of functions, an edge-connected path starting from a node corresponding to a largest element in the leading Eigenvector of the adjacency matrix and appending connected nodes corresponding to successively smaller elements of the leading Eigenvector; and calculating, by the computer for the selected one of the plurality of functions, unique spectra of the control flow graph for the selected function using the generated edge-connected path.