11. An apparatus comprising processing circuitry configured to execute instructions for: receiving binary code; breaking the binary code into code portions that correspond to respective functional components by converting the code portions into functional representation code and breaking the functional representation code into individual functional units; generating a compressed representation of the code portions; and storing the compressed representation of each code portion for comparison to at least one other compressed representation of a code portion to determine a similarity measure between at least some of the code portions, wherein generating the compressed representation comprises assigning a respective token to each corresponding unit portion of each respective one of the individual functional units, and mapping each token to a character to define an ordered string of characters that form the compressed representation.
12. The apparatus of claim 11 , wherein the similarity measure comprises a similarity score determined using feature based scoring.