diff options
| author | Xusheng <xusheng@vector35.com> | 2021-02-05 20:28:13 +0800 |
|---|---|---|
| committer | Xusheng <xusheng@vector35.com> | 2021-04-22 10:52:39 +0800 |
| commit | c4b1dd712783e7474570705e6d95183a0c02a76e (patch) | |
| tree | 0393986e0078cb20610c8ad091db061f8f41a08b /function.cpp | |
| parent | a355d5c9aa1978d10f378931bfd5f06be60bae98 (diff) | |
add persistent search result
Diffstat (limited to 'function.cpp')
| -rw-r--r-- | function.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/function.cpp b/function.cpp index b671f283..45333ebf 100644 --- a/function.cpp +++ b/function.cpp @@ -2169,6 +2169,37 @@ vector<VariableReferenceSource> Function::GetHighLevelILVariableReferencesInRang } +uint64_t Function::GetHighestAddress() +{ + return BNGetFunctionHighestAddress(m_object); +} + + +uint64_t Function::GetLowestAddress() +{ + return BNGetFunctionLowestAddress(m_object); +} + + +std::vector<BNAddressRange> Function::GetAddressRanges() +{ + size_t count; + BNAddressRange* ranges = BNGetFunctionAddressRanges(m_object, &count); + + std::vector<BNAddressRange> result; + copy(&ranges[0], &ranges[count], back_inserter(result)); + BNFreeAddressRanges(ranges); + return result; +} + + +bool Function::GetInstructionContainingAddress(Architecture* arch, + uint64_t addr, uint64_t* start) +{ + return BNGetInstructionContainingAddress(m_object, arch->GetObject(), addr, start); +} + + AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor(Function* func): m_func(func) { if (m_func) |
