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 --- binaryview.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'binaryview.cpp') diff --git a/binaryview.cpp b/binaryview.cpp index 861c7eb2..01ab7b95 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -5297,6 +5297,38 @@ std::vector> BinaryView::GetExternalLocations() } +Confidence BinaryView::GetGlobalPointerValue() const +{ + BNRegisterValueWithConfidence value = BNGetGlobalPointerValue(m_object); + return Confidence(RegisterValue::FromAPIObject(value.value), value.confidence); +} + + +bool BinaryView::UserGlobalPointerValueSet() const +{ + return BNUserGlobalPointerValueSet(m_object); +} + + +void BinaryView::ClearUserGlobalPointerValue() +{ + return BNClearUserGlobalPointerValue(m_object); +} + + +void BinaryView::SetUserGlobalPointerValue(const Confidence& value) +{ + BNRegisterValueWithConfidence v; + v.confidence = value.GetConfidence(); + v.value.value = value.GetValue().value; + v.value.state = value.GetValue().state; + v.value.size = value.GetValue().size; + v.value.offset = value.GetValue().offset; + BNSetUserGlobalPointerValue(m_object, v); +} + + + Relocation::Relocation(BNRelocation* reloc) { m_object = reloc; -- cgit v1.3.1