Classes | |
| struct | BinaryNinja::TransformParameter |
| class | BinaryNinja::Transform |
| Allows users to implement custom transformations. More... | |
| class | BinaryNinja::CoreTransform |
| class BinaryNinja::Transform |
Allows users to implement custom transformations.
New transformations may be added at runtime, so an instance of a transform is created like
Getting a list of registered transforms:
From the interactive python console:
At Runtime:
Public Member Functions | |
| Transform (BNTransformType type, const std::string &name, const std::string &longName, const std::string &group) | |
| Transform (BNTransformType type, BNTransformCapabilities capabilities, const std::string &name, const std::string &longName, const std::string &group) | |
| BNTransformType | GetType () const |
| BNTransformCapabilities | GetCapabilities () const |
| bool | SupportsDetection () const |
| bool | SupportsContext () const |
| std::string | GetName () const |
| std::string | GetLongName () const |
| std::string | GetGroup () const |
| virtual std::vector< TransformParameter > | GetParameters () const |
| virtual bool | Decode (const DataBuffer &input, DataBuffer &output, const std::map< std::string, DataBuffer > ¶ms=std::map< std::string, DataBuffer >()) |
| virtual bool | Encode (const DataBuffer &input, DataBuffer &output, const std::map< std::string, DataBuffer > ¶ms=std::map< std::string, DataBuffer >()) |
| virtual bool | DecodeWithContext (Ref< TransformContext > context, const std::map< std::string, DataBuffer > ¶ms=std::map< std::string, DataBuffer >()) |
| virtual bool | CanDecode (Ref< BinaryView > input) const |
| Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNTransform > | |
| StaticCoreRefCountObject () | |
| virtual | ~StaticCoreRefCountObject () |
| BNTransform * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Static Public Member Functions | |
| static void | Register (Transform *xform) |
| static Ref< Transform > | GetByName (const std::string &name) |
| static std::vector< Ref< Transform > > | GetTransformTypes () |
Protected Member Functions | |
| Transform (BNTransform *xform) | |
Static Protected Member Functions | |
| static BNTransformParameterInfo * | GetParametersCallback (void *ctxt, size_t *count) |
| static void | FreeParametersCallback (BNTransformParameterInfo *params, size_t count) |
| static bool | DecodeCallback (void *ctxt, BNDataBuffer *input, BNDataBuffer *output, BNTransformParameter *params, size_t paramCount) |
| static bool | EncodeCallback (void *ctxt, BNDataBuffer *input, BNDataBuffer *output, BNTransformParameter *params, size_t paramCount) |
| static bool | DecodeWithContextCallback (void *ctxt, BNTransformContext *context, BNTransformParameter *params, size_t paramCount) |
| static bool | CanDecodeCallback (void *ctxt, BNBinaryView *input) |
| static std::vector< TransformParameter > | EncryptionKeyParameters (size_t fixedKeyLength=0) |
| static std::vector< TransformParameter > | EncryptionKeyAndIVParameters (size_t fixedKeyLength=0, size_t fixedIVLength=0) |
Protected Attributes | |
| BNTransformType | m_typeForRegister |
| BNTransformCapabilities | m_capabilitiesForRegister |
| std::string | m_nameForRegister |
| std::string | m_longNameForRegister |
| std::string | m_groupForRegister |
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::StaticCoreRefCountObject< BNTransform > | |
| std::atomic< int > | m_refs |
| BNTransform * | m_object |
|
protected |
| BinaryNinja::Transform::Transform | ( | BNTransformType | type, |
| const std::string & | name, | ||
| const std::string & | longName, | ||
| const std::string & | group ) |
| BinaryNinja::Transform::Transform | ( | BNTransformType | type, |
| BNTransformCapabilities | capabilities, | ||
| const std::string & | name, | ||
| const std::string & | longName, | ||
| const std::string & | group ) |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
static |
| BNTransformType Transform::GetType | ( | ) | const |
| BNTransformCapabilities Transform::GetCapabilities | ( | ) | const |
| bool Transform::SupportsDetection | ( | ) | const |
| bool Transform::SupportsContext | ( | ) | const |
| string Transform::GetName | ( | ) | const |
| string Transform::GetLongName | ( | ) | const |
| string Transform::GetGroup | ( | ) | const |
|
virtual |
Reimplemented in BinaryNinja::CoreTransform.
|
virtual |
Reimplemented in BinaryNinja::CoreTransform.
|
virtual |
Reimplemented in BinaryNinja::CoreTransform.
|
virtual |
Reimplemented in BinaryNinja::CoreTransform.
|
virtual |
Reimplemented in BinaryNinja::CoreTransform.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| class BinaryNinja::CoreTransform |
Public Member Functions | |
| CoreTransform (BNTransform *xform) | |
| virtual std::vector< TransformParameter > | GetParameters () const override |
| virtual bool | Decode (const DataBuffer &input, DataBuffer &output, const std::map< std::string, DataBuffer > ¶ms=std::map< std::string, DataBuffer >()) override |
| virtual bool | Encode (const DataBuffer &input, DataBuffer &output, const std::map< std::string, DataBuffer > ¶ms=std::map< std::string, DataBuffer >()) override |
| virtual bool | DecodeWithContext (Ref< TransformContext > context, const std::map< std::string, DataBuffer > ¶ms=std::map< std::string, DataBuffer >()) override |
| virtual bool | CanDecode (Ref< BinaryView > input) const override |
| Public Member Functions inherited from BinaryNinja::Transform | |
| Transform (BNTransformType type, const std::string &name, const std::string &longName, const std::string &group) | |
| Transform (BNTransformType type, BNTransformCapabilities capabilities, const std::string &name, const std::string &longName, const std::string &group) | |
| BNTransformType | GetType () const |
| BNTransformCapabilities | GetCapabilities () const |
| bool | SupportsDetection () const |
| bool | SupportsContext () const |
| std::string | GetName () const |
| std::string | GetLongName () const |
| std::string | GetGroup () const |
| Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNTransform > | |
| StaticCoreRefCountObject () | |
| virtual | ~StaticCoreRefCountObject () |
| BNTransform * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Additional Inherited Members | |
| Static Public Member Functions inherited from BinaryNinja::Transform | |
| static void | Register (Transform *xform) |
| static Ref< Transform > | GetByName (const std::string &name) |
| static std::vector< Ref< Transform > > | GetTransformTypes () |
| Public Attributes inherited from BinaryNinja::StaticCoreRefCountObject< BNTransform > | |
| std::atomic< int > | m_refs |
| BNTransform * | m_object |
| Protected Member Functions inherited from BinaryNinja::Transform | |
| Transform (BNTransform *xform) | |
| Static Protected Member Functions inherited from BinaryNinja::Transform | |
| static BNTransformParameterInfo * | GetParametersCallback (void *ctxt, size_t *count) |
| static void | FreeParametersCallback (BNTransformParameterInfo *params, size_t count) |
| static bool | DecodeCallback (void *ctxt, BNDataBuffer *input, BNDataBuffer *output, BNTransformParameter *params, size_t paramCount) |
| static bool | EncodeCallback (void *ctxt, BNDataBuffer *input, BNDataBuffer *output, BNTransformParameter *params, size_t paramCount) |
| static bool | DecodeWithContextCallback (void *ctxt, BNTransformContext *context, BNTransformParameter *params, size_t paramCount) |
| static bool | CanDecodeCallback (void *ctxt, BNBinaryView *input) |
| static std::vector< TransformParameter > | EncryptionKeyParameters (size_t fixedKeyLength=0) |
| static std::vector< TransformParameter > | EncryptionKeyAndIVParameters (size_t fixedKeyLength=0, size_t fixedIVLength=0) |
| Protected Attributes inherited from BinaryNinja::Transform | |
| BNTransformType | m_typeForRegister |
| BNTransformCapabilities | m_capabilitiesForRegister |
| std::string | m_nameForRegister |
| std::string | m_longNameForRegister |
| std::string | m_groupForRegister |
| CoreTransform::CoreTransform | ( | BNTransform * | xform | ) |
|
overridevirtual |
Reimplemented from BinaryNinja::Transform.
|
overridevirtual |
Reimplemented from BinaryNinja::Transform.
|
overridevirtual |
Reimplemented from BinaryNinja::Transform.
|
overridevirtual |
Reimplemented from BinaryNinja::Transform.
|
overridevirtual |
Reimplemented from BinaryNinja::Transform.