diff options
| author | Rusty Wagner <rusty@vector35.com> | 2015-08-18 02:21:22 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2015-08-18 02:21:22 -0400 |
| commit | 5714f4fc71e6cff04ec025c9976f0e223514e284 (patch) | |
| tree | 6b59f724c57a23c6c9a2420b6161efb61dfc76bc | |
| parent | f4bc1d02a7b4c395338311fb3bcb016cf54f3400 (diff) | |
Allow plugins to specify ELF relocation types, add imported data symbol support
| -rw-r--r-- | architecture.cpp | 18 | ||||
| -rw-r--r-- | binaryninjaapi.h | 5 |
2 files changed, 23 insertions, 0 deletions
diff --git a/architecture.cpp b/architecture.cpp index 16ea982f..ae4dd225 100644 --- a/architecture.cpp +++ b/architecture.cpp @@ -490,6 +490,24 @@ void Architecture::RegisterFunctionRecognizer(FunctionRecognizer* recog) } +bool Architecture::IsBinaryViewTypeConstantDefined(const string& type, const string& name) +{ + return BNIsBinaryViewTypeArchitectureConstantDefined(m_arch, type.c_str(), name.c_str()); +} + + +uint64_t Architecture::GetBinaryViewTypeConstant(const string& type, const string& name, uint64_t defaultValue) +{ + return BNGetBinaryViewTypeArchitectureConstant(m_arch, type.c_str(), name.c_str(), defaultValue); +} + + +void Architecture::SetBinaryViewTypeConstant(const string& type, const string& name, uint64_t value) +{ + BNSetBinaryViewTypeArchitectureConstant(m_arch, type.c_str(), name.c_str(), value); +} + + CoreArchitecture::CoreArchitecture(BNArchitecture* arch): Architecture(arch) { } diff --git a/binaryninjaapi.h b/binaryninjaapi.h index c875eb5b..de03b078 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -887,6 +887,11 @@ namespace BinaryNinja virtual bool SkipAndReturnValue(uint8_t* data, uint64_t addr, size_t len, uint64_t value); void RegisterFunctionRecognizer(FunctionRecognizer* recog); + + bool IsBinaryViewTypeConstantDefined(const std::string& type, const std::string& name); + uint64_t GetBinaryViewTypeConstant(const std::string& type, const std::string& name, + uint64_t defaultValue = 0); + void SetBinaryViewTypeConstant(const std::string& type, const std::string& name, uint64_t value); }; class CoreArchitecture: public Architecture |
