java.lang.Object | |
↳ | com.pnfsoftware.jeb.core.units.code.asm.sig.codeless.CodelessSignatureManager |
Manage a set of ExecutableModel, such that an unknown binary can be matched against these
models (see {match(INativeCodeUnit, CodelessSignaturePackageEntry)
), or identified as
containing code from the models (see {identifyLibraries(INativeCodeUnit)
).
This manager is intended to be used in post analysis 'one shot' style; in particular it does not keep any storage of already loaded/matched signatures.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | CODELESS_FOLDER_DEFAULT_NAME | ||||||||||
String | CODELESS_SIGS_EXTENSION |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void | addFolder(File folder, boolean doRescan) | ||||||||||
List<CodelessSignaturePackageEntry> |
getAvailablePackages()
Provides the list of available signature packages entries (never null).
| ||||||||||
static CodelessSignatureManager | getInstance(IEnginesContext enginesContext) | ||||||||||
INativeCodeUnit<IInstruction> |
getMatchableUnit()
Search first suitable code unit that can be matched, in current project.
| ||||||||||
LibraryIdentificationResults | identifyLibraries(INativeCodeUnit<IInstruction> codeUnit) | ||||||||||
boolean | importState(INativeCodeUnit<IInstruction> codeUnit, MatchingState state) | ||||||||||
boolean |
isMatched(INativeCodeUnit<IInstruction> codeUnit, CodelessSignaturePackageEntry entry)
Check if a signature package has been matched against given code unit.
| ||||||||||
MatchingState |
match(INativeCodeUnit<IInstruction> codeUnit, CodelessSignaturePackageEntry entry)
Match given unit against given reference model.
| ||||||||||
void | onEvent(IEvent event) | ||||||||||
void | rescan() | ||||||||||
List<CodelessSignaturePackageEntry> |
scan()
Scan default folder to provide list of available packages.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
com.pnfsoftware.jeb.util.events.IEventListener
|
Provides the list of available signature packages entries (never null). The corresponding packages are not necessarily loaded.
Search first suitable code unit that can be matched, in current project.
FIXME: replace by a proper search for all compatible units, and let client decides which ones should be matched.
Check if a signature package has been matched against given code unit.
Match given unit against given reference model.
Note that a new Matcher is instantiated each time.
Scan default folder to provide list of available packages.
This method should be executed once at startup.