public interface

INativeSignature

com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature

Class Overview

A native signature is composed of a collection of INativeFeature identifying one or several native item(s) -- the target(s) --, and a collection of INativeAttribute representing what is known about the target(s).

Summary

Nested Classes
enum INativeSignature.ConfidenceLevel Confidence level associated with a signature. 
Public Methods
abstract List<String> getAlternateNames()
Provides alternate names for the signature target(s).
abstract List<INativeAttribute> getAttributes()
Provides the attributes associated with the signature target(s).
abstract INativeSignature.ConfidenceLevel getConfidenceLevel()
Provides the confidence level of this signature, see INativeSignature.ConfidenceLevel.
abstract NativeSignatureFlags getFlags()
Provides signature flags.
abstract List<String> getPossibleNames()
Provides a series of meaningful names to use when a signature target name is meaningless.
abstract String getTargetName()
Provides the name of the signature target(s).
abstract boolean match(INativeSignature signature)
Check if this signature's features are all matched by one of the given signature's features.
abstract boolean matchExactly(INativeSignature signature)
Exact match, i.e.

Public Methods

public abstract List<String> getAlternateNames ()

Provides alternate names for the signature target(s). These are meaningful names, only used when the target name is itself meaningful.

Returns
  • list of alternate names, possibly null or empty

public abstract List<INativeAttribute> getAttributes ()

Provides the attributes associated with the signature target(s).

Returns
  • attributes of the target(s)

public abstract INativeSignature.ConfidenceLevel getConfidenceLevel ()

Provides the confidence level of this signature, see INativeSignature.ConfidenceLevel.

public abstract NativeSignatureFlags getFlags ()

Provides signature flags.

Returns
  • signature flags

public abstract List<String> getPossibleNames ()

Provides a series of meaningful names to use when a signature target name is meaningless.

Returns
  • list of possible names, possibly null or empty

public abstract String getTargetName ()

Provides the name of the signature target(s). The name might not be meaningful, e.g. when the signature has been created by merging several signatures, see hasMeaningfulTargetName().

Returns
  • signature target name

public abstract boolean match (INativeSignature signature)

Check if this signature's features are all matched by one of the given signature's features. Note that the given signature do not need to be exactly equals to this one for this method to return true, see matchExactly(INativeSignature).

Returns
  • true if this signature's features are all matched by one feature of the given signature, false otherwise

public abstract boolean matchExactly (INativeSignature signature)

Exact match, i.e. both signatures have exactly the same features.

Returns
  • true if both signatures have exactly the same features