From abbae639d8ba182e8b3cf2d5a9844a9b1f9844a1 Mon Sep 17 00:00:00 2001 From: Xusheng Date: Fri, 26 Jul 2024 15:57:14 +0800 Subject: Support setting user global pointer value --- binaryninjaapi.h | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 4cac3ff3..59c79631 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -4251,6 +4251,25 @@ namespace BinaryNinja { bool AutoDefined() const; }; + struct RegisterValue + { + BNRegisterValueType state; + int64_t value; + int64_t offset; + size_t size; + + bool operator==(const RegisterValue& a) const; + bool operator!=(const RegisterValue& a) const; + + RegisterValue(); + + bool IsConstant() const; + bool IsConstantData() const; + + static RegisterValue FromAPIObject(const BNRegisterValue& value); + BNRegisterValue ToAPIObject(); + }; + struct QualifiedNameAndType; struct PossibleValueSet; class Metadata; @@ -6730,6 +6749,11 @@ namespace BinaryNinja { void RemoveExternalLocation(Ref sourceSymbol); Ref GetExternalLocation(Ref sourceSymbol); std::vector> GetExternalLocations(); + + Confidence GetGlobalPointerValue() const; + bool UserGlobalPointerValueSet() const; + void ClearUserGlobalPointerValue(); + void SetUserGlobalPointerValue(const Confidence& value); }; class MemoryMap @@ -10286,22 +10310,6 @@ namespace BinaryNinja { /*! \ingroup function */ - struct RegisterValue - { - BNRegisterValueType state; - int64_t value; - int64_t offset; - size_t size; - - RegisterValue(); - - bool IsConstant() const; - bool IsConstantData() const; - - static RegisterValue FromAPIObject(const BNRegisterValue& value); - BNRegisterValue ToAPIObject(); - }; - struct ConstantData : public BNRegisterValue { Ref func = nullptr; -- cgit v1.3.1