diff options
| author | Brian Potchik <brian@vector35.com> | 2025-10-10 09:34:08 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2025-10-10 09:34:08 -0400 |
| commit | 5c41155a46f93ead2b1d7feda8e6bc6f5b4f9549 (patch) | |
| tree | dda665f5ec8b8e92d490f6b1efea3e35868ee096 /binaryninjacore.h | |
| parent | 47f5c67fd7f68dfd95392531431a3efca0ccda3c (diff) | |
Add password prompting for encrypted containers in Container Browser.
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 3ea122bd..619b1c98 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -37,14 +37,14 @@ // Current ABI version for linking to the core. This is incremented any time // there are changes to the API that affect linking, including new functions, // new types, or modifications to existing functions or types. -#define BN_CURRENT_CORE_ABI_VERSION 135 +#define BN_CURRENT_CORE_ABI_VERSION 136 // Minimum ABI version that is supported for loading of plugins. Plugins that // are linked to an ABI version less than this will not be able to load and // will require rebuilding. The minimum version is increased when there are // incompatible changes that break binary compatibility, such as changes to // existing types or functions. -#define BN_MINIMUM_CORE_ABI_VERSION 134 +#define BN_MINIMUM_CORE_ABI_VERSION 136 #ifdef __GNUC__ #ifdef BINARYNINJACORE_LIBRARY @@ -364,6 +364,14 @@ extern "C" TransformSessionModeOnDemand = 2, // Proceed step-by-step, requesting input at each stage } BNTransformSessionMode; + typedef enum BNTransformResult + { + TransformSuccess = 0, + TransformNotAttempted = 1, + TransformFailure = 2, + TransformRequiresPassword = 3 + } BNTransformResult; + typedef enum BNBranchType { UnconditionalBranch = 0, @@ -4650,26 +4658,31 @@ extern "C" BINARYNINJACOREAPI char* BNGetTransformGroup(BNTransform* xform); BINARYNINJACOREAPI BNTransformParameterInfo* BNGetTransformParameterList(BNTransform* xform, size_t* count); BINARYNINJACOREAPI void BNFreeTransformParameterList(BNTransformParameterInfo* params, size_t count); - BINARYNINJACOREAPI bool BNDecode( - BNTransform* xform, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount); - BINARYNINJACOREAPI bool BNEncode( - BNTransform* xform, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount); + BINARYNINJACOREAPI bool BNDecode(BNTransform* xform, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount); + BINARYNINJACOREAPI bool BNEncode(BNTransform* xform, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount); BINARYNINJACOREAPI bool BNDecodeWithContext(BNTransform* xform, BNTransformContext* context, BNTransformParameter* params, size_t paramCount); BINARYNINJACOREAPI bool BNCanDecode(BNTransform* xform, BNBinaryView* input); // Transform Context BINARYNINJACOREAPI BNTransformContext* BNNewTransformContextReference(BNTransformContext* context); BINARYNINJACOREAPI void BNFreeTransformContext(BNTransformContext* context); - BINARYNINJACOREAPI char* BNTransformContextGetTransformName(BNTransformContext* context); - BINARYNINJACOREAPI char* BNTransformContextGetFileName(BNTransformContext* context); BINARYNINJACOREAPI BNBinaryView* BNTransformContextGetInput(BNTransformContext* context); + BINARYNINJACOREAPI char* BNTransformContextGetFileName(BNTransformContext* context); + BINARYNINJACOREAPI char* BNTransformContextGetTransformName(BNTransformContext* context); + BINARYNINJACOREAPI void BNTransformContextSetTransformParameters(BNTransformContext* context, BNTransformParameter* params, size_t paramCount); + BINARYNINJACOREAPI void BNTransformContextSetTransformParameter(BNTransformContext* context, const char* name, BNDataBuffer* data); + BINARYNINJACOREAPI bool BNTransformContextHasTransformParameter(BNTransformContext* context, const char* name); + BINARYNINJACOREAPI void BNTransformContextClearTransformParameter(BNTransformContext* context, const char* name); + BINARYNINJACOREAPI char* BNTransformContextGetExtractionMessage(BNTransformContext* context); + BINARYNINJACOREAPI BNTransformResult BNTransformContextGetExtractionResult(BNTransformContext* context); + BINARYNINJACOREAPI BNTransformResult BNTransformContextGetTransformResult(BNTransformContext* context); BINARYNINJACOREAPI BNMetadata* BNTransformContextGetMetadata(BNTransformContext* context); BINARYNINJACOREAPI BNTransformContext* BNTransformContextGetParent(BNTransformContext* context); BINARYNINJACOREAPI size_t BNTransformContextGetChildCount(BNTransformContext* context); BINARYNINJACOREAPI BNTransformContext** BNTransformContextGetChildren(BNTransformContext* context, size_t* count); BINARYNINJACOREAPI void BNFreeTransformContextList(BNTransformContext** contexts, size_t count); BINARYNINJACOREAPI BNTransformContext* BNTransformContextGetChild(BNTransformContext* context, const char* filename); - BINARYNINJACOREAPI BNTransformContext* BNTransformContextCreateChild(BNTransformContext* context, BNDataBuffer* data, const char* filename); + BINARYNINJACOREAPI BNTransformContext* BNTransformContextSetChild(BNTransformContext* context, BNDataBuffer* data, const char* filename, BNTransformResult result, const char* message); BINARYNINJACOREAPI bool BNTransformContextIsLeaf(BNTransformContext* context); BINARYNINJACOREAPI bool BNTransformContextIsRoot(BNTransformContext* context); BINARYNINJACOREAPI char** BNTransformContextGetAvailableFiles(BNTransformContext* context, size_t* count); @@ -4690,6 +4703,7 @@ extern "C" BINARYNINJACOREAPI BNBinaryView* BNTransformSessionGetCurrentView(BNTransformSession* session); BINARYNINJACOREAPI BNTransformContext* BNTransformSessionGetRootContext(BNTransformSession* session); BINARYNINJACOREAPI BNTransformContext* BNTransformSessionGetCurrentContext(BNTransformSession* session); + BINARYNINJACOREAPI bool BNTransformSessionProcessFrom(BNTransformSession* session, BNTransformContext* context); BINARYNINJACOREAPI bool BNTransformSessionProcess(BNTransformSession* session); BINARYNINJACOREAPI bool BNTransformSessionHasAnyStages(BNTransformSession* session); BINARYNINJACOREAPI bool BNTransformSessionHasSinglePath(BNTransformSession* session); |
