Public Member Functions | |
| CoreStringRecognizer (BNStringRecognizer *recognizer) | |
| bool | IsValidForType (HighLevelILFunction *func, Type *type) override |
| Determines if the string recognizer should be called for the given expression type. | |
| std::optional< DerivedString > | RecognizeConstant (const HighLevelILInstruction &instr, Type *type, int64_t val) override |
| Can be overridden to recognize strings for a constant that is not a pointer. | |
| std::optional< DerivedString > | RecognizeConstantPointer (const HighLevelILInstruction &instr, Type *type, int64_t val) override |
| Can be overridden to recognize strings for a constant pointer. | |
| std::optional< DerivedString > | RecognizeExternPointer (const HighLevelILInstruction &instr, Type *type, int64_t val, uint64_t offset) override |
| Can be overridden to recognize strings for an external symbol. | |
| std::optional< DerivedString > | RecognizeImport (const HighLevelILInstruction &instr, Type *type, int64_t val) override |
| Can be overridden to recognize strings for an imported symbol. | |
| Public Member Functions inherited from BinaryNinja::StringRecognizer | |
| StringRecognizer (const std::string &name) | |
| StringRecognizer (BNStringRecognizer *renderer) | |
| std::string | GetName () const |
| Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNStringRecognizer > | |
| StaticCoreRefCountObject () | |
| virtual | ~StaticCoreRefCountObject () |
| BNStringRecognizer * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Additional Inherited Members | |
| Static Public Member Functions inherited from BinaryNinja::StringRecognizer | |
| static void | Register (StringRecognizer *recognizer) |
| Registers the string recognizer. | |
| static Ref< StringRecognizer > | GetByName (const std::string &name) |
| static std::vector< Ref< StringRecognizer > > | GetRecognizers () |
| Public Attributes inherited from BinaryNinja::StaticCoreRefCountObject< BNStringRecognizer > | |
| std::atomic< int > | m_refs |
| BNStringRecognizer * | m_object |
| CoreStringRecognizer::CoreStringRecognizer | ( | BNStringRecognizer * | recognizer | ) |
|
overridevirtual |
Determines if the string recognizer should be called for the given expression type.
It is optional to override this method. If the method isn't overridden, all expression types are passed to the string recognizer.
| func | HighLevelILFunction representing the high level function to be queried |
| type | Type of the expression |
true if the expression should be passed to the string recognizer, false otherwise Reimplemented from BinaryNinja::StringRecognizer.
|
overridevirtual |
Can be overridden to recognize strings for a constant that is not a pointer.
The expression type and value of the expression are given. If no string is found for this expression, this method should return std::nullopt
If a string is found, return a DerivedString with the string information.
| instr | High level expression |
| type | Type of the expression |
| val | Value of the expression |
DerivedString for any string that is found Reimplemented from BinaryNinja::StringRecognizer.
|
overridevirtual |
Can be overridden to recognize strings for a constant pointer.
The expression type and value of the expression are given. If no string is found for this expression, this method should return std::nullopt
If a string is found, return a DerivedString with the string information.
| instr | High level expression |
| type | Type of the expression |
| val | Value of the expression |
DerivedString for any string that is found Reimplemented from BinaryNinja::StringRecognizer.
|
overridevirtual |
Can be overridden to recognize strings for an external symbol.
The expression type and value of the expression are given. If no string is found for this expression, this method should return std::nullopt
If a string is found, return a DerivedString with the string information.
| instr | High level expression |
| type | Type of the expression |
| val | Value of the expression |
| offset | Offset into the external symbol |
DerivedString for any string that is found Reimplemented from BinaryNinja::StringRecognizer.
|
overridevirtual |
Can be overridden to recognize strings for an imported symbol.
The expression type and value of the expression are given. If no string is found for this expression, this method should return std::nullopt
If a string is found, return a DerivedString with the string information.
| instr | High level expression |
| type | Type of the expression |
| val | Value of the expression |
DerivedString for any string that is found Reimplemented from BinaryNinja::StringRecognizer.