diff options
| author | Stephen Tong <v35stong@users.noreply.github.com> | 2019-05-23 16:51:03 -0400 |
|---|---|---|
| committer | Stephen Tong <v35stong@users.noreply.github.com> | 2019-05-28 13:17:54 -0400 |
| commit | 46ea950b5d147e14348806ab8ce6b0265efee06f (patch) | |
| tree | 6246e4753beda08f4d3cb5abb950a68ac37de71c | |
| parent | 131952a79f4efebd71117376310f2a8726e118b0 (diff) | |
WIP: Support adding user-defined xrefs
| -rw-r--r-- | binaryninjaapi.h | 2 | ||||
| -rw-r--r-- | binaryninjacore.h | 2 | ||||
| -rw-r--r-- | function.cpp | 5 | ||||
| -rw-r--r-- | python/function.py | 3 |
4 files changed, 12 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index e9277d65..1d22652d 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -2588,6 +2588,8 @@ namespace BinaryNinja void SetComment(const std::string& comment); void SetCommentForAddress(uint64_t addr, const std::string& comment); + void SetUserXref(uint64_t addr, uint64_t target); + Ref<LowLevelILFunction> GetLowLevelIL() const; size_t GetLowLevelILForInstruction(Architecture* arch, uint64_t addr); std::vector<size_t> GetLowLevelILExitsForInstruction(Architecture* arch, uint64_t addr); diff --git a/binaryninjacore.h b/binaryninjacore.h index cc707770..c1397596 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -2528,6 +2528,8 @@ extern "C" BINARYNINJACOREAPI void BNSetFunctionComment(BNFunction* func, const char* comment); BINARYNINJACOREAPI void BNSetCommentForAddress(BNFunction* func, uint64_t addr, const char* comment); + BINARYNINJACOREAPI void BNSetUserXref(BNFunction* func, uint64_t addr, uint64_t target); + BINARYNINJACOREAPI BNBasicBlock* BNNewBasicBlockReference(BNBasicBlock* block); BINARYNINJACOREAPI void BNFreeBasicBlock(BNBasicBlock* block); BINARYNINJACOREAPI BNBasicBlock** BNGetFunctionBasicBlockList(BNFunction* func, size_t* count); diff --git a/function.cpp b/function.cpp index 5b65be00..7ef0926c 100644 --- a/function.cpp +++ b/function.cpp @@ -245,6 +245,11 @@ void Function::SetCommentForAddress(uint64_t addr, const string& comment) BNSetCommentForAddress(m_object, addr, comment.c_str()); } +void Function::SetUserXref(uint64_t addr, uint64_t target) +{ + BNSetUserXref(m_object, addr, target); +} + Ref<LowLevelILFunction> Function::GetLowLevelIL() const { diff --git a/python/function.py b/python/function.py index 9d70d5be..1aea500d 100644 --- a/python/function.py +++ b/python/function.py @@ -1293,6 +1293,9 @@ class Function(object): """ core.BNSetCommentForAddress(self.handle, addr, comment) + def set_user_xref(self, addr, target): + core.BNSetUserXref(self.handle, addr, target) + def get_low_level_il_at(self, addr, arch=None): """ ``get_low_level_il_at`` gets the LowLevelILInstruction corresponding to the given virtual address |
