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) | |
BNTransformType | GetType () 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 >()) |
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 () |
Static Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNTransform > | |
static BNTransform * | GetObject (StaticCoreRefCountObject *obj) |
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 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 |
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 ) |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
static |
BNTransformType Transform::GetType | ( | ) | 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.
|
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 |
Public Member Functions inherited from BinaryNinja::Transform | |
Transform (BNTransformType type, const std::string &name, const std::string &longName, const std::string &group) | |
BNTransformType | GetType () 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 () |
Static Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNTransform > | |
static BNTransform * | GetObject (StaticCoreRefCountObject *obj) |
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 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 |
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.