diff options
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 61 |
1 files changed, 54 insertions, 7 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 1cb9f1be..e70490f3 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1179,6 +1179,8 @@ __attribute__ ((format (printf, 1, 2))) BNTypeReferenceType type; }; + + struct InstructionTextToken { enum @@ -1239,6 +1241,8 @@ __attribute__ ((format (printf, 1, 2))) Ref<Function> function; Ref<BasicBlock> block; DisassemblyTextLine contents; + + static LinearDisassemblyLine FromAPIObject(BNLinearDisassemblyLine* line); }; class DisassemblySettings; @@ -1726,17 +1730,36 @@ __attribute__ ((format (printf, 1, 2))) void RegisterPlatformTypes(Platform* platform); - bool FindNextData(uint64_t start, const DataBuffer& data, uint64_t& addr, BNFindFlag flags = FindCaseSensitive); - bool FindNextText(uint64_t start, const std::string& data, uint64_t& addr, Ref<DisassemblySettings> settings, + bool FindNextData(uint64_t start, const DataBuffer& data, uint64_t& result, BNFindFlag flags = FindCaseSensitive); - bool FindNextConstant(uint64_t start, uint64_t constant, uint64_t& addr, Ref<DisassemblySettings> settings); + bool FindNextText(uint64_t start, const std::string& data, uint64_t& addr, + Ref<DisassemblySettings> settings, BNFindFlag flags = FindCaseSensitive, + BNFunctionGraphType graph = NormalFunctionGraph); + bool FindNextConstant(uint64_t start, uint64_t constant, uint64_t& addr, + Ref<DisassemblySettings> settings, BNFunctionGraphType graph = NormalFunctionGraph); - bool FindNextData(uint64_t start, uint64_t end, const DataBuffer& data, uint64_t& addr, BNFindFlag flags, - const std::function<bool(size_t current, size_t total)>& progress); - bool FindNextText(uint64_t start, uint64_t end, const std::string& data, uint64_t& addr, Ref<DisassemblySettings> settings, + bool FindNextData(uint64_t start, uint64_t end, const DataBuffer& data, uint64_t& addr, BNFindFlag flags, const std::function<bool(size_t current, size_t total)>& progress); - bool FindNextConstant(uint64_t start, uint64_t end, uint64_t constant, uint64_t& addr, Ref<DisassemblySettings> settings, + bool FindNextText(uint64_t start, uint64_t end, const std::string& data, uint64_t& addr, + Ref<DisassemblySettings> settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function<bool(size_t current, size_t total)>& progress); + bool FindNextConstant(uint64_t start, uint64_t end, uint64_t constant, uint64_t& addr, + Ref<DisassemblySettings> settings, BNFunctionGraphType graph, + const std::function<bool(size_t current, size_t total)>& progress); + + bool FindAllData(uint64_t start, uint64_t end, const DataBuffer& data, BNFindFlag flags, + const std::function<bool(size_t current, size_t total)>& progress, + const std::function<bool(uint64_t addr, const DataBuffer& match)>& matchCallback); + bool FindAllText(uint64_t start, uint64_t end, const std::string& data, + Ref<DisassemblySettings> settings, BNFindFlag flags, BNFunctionGraphType graph, + const std::function<bool(size_t current, size_t total)>& progress, + const std::function<bool(uint64_t addr, const std::string& match, + const LinearDisassemblyLine& line)>& matchCallback); + bool FindAllConstant(uint64_t start, uint64_t end, uint64_t constant, + Ref<DisassemblySettings> settings, BNFunctionGraphType graph, + const std::function<bool(size_t current, size_t total)>& progress, + const std::function<bool(uint64_t addr, + const LinearDisassemblyLine& line)>& matchCallback); void Reanalyze(); @@ -2953,6 +2976,8 @@ __attribute__ ((format (printf, 1, 2))) bool IsMediumLevelILBlock() const; Ref<LowLevelILFunction> GetLowLevelILFunction() const; Ref<MediumLevelILFunction> GetMediumLevelILFunction() const; + + bool GetInstructionContainingAddress(uint64_t addr, uint64_t* start); }; struct VariableNameAndType @@ -3289,6 +3314,12 @@ __attribute__ ((format (printf, 1, 2))) BNDeadStoreElimination GetVariableDeadStoreElimination(const Variable& var); void SetVariableDeadStoreElimination(const Variable& var, BNDeadStoreElimination mode); + + uint64_t GetHighestAddress(); + uint64_t GetLowestAddress(); + std::vector<BNAddressRange> GetAddressRanges(); + + bool GetInstructionContainingAddress(Architecture* arch, uint64_t addr, uint64_t* start); }; class AdvancedFunctionAnalysisDataRequestor @@ -5529,4 +5560,20 @@ __attribute__ ((format (printf, 1, 2))) const char** m_rust_array; uint64_t m_length; }; + + struct FindParameters + { + BNFindType type; + BNFindRangeType rangeType; + BNFunctionGraphType ilType; + std::string string; + BNFindFlag flags; + bool findAll; + + uint64_t findConstant; + DataBuffer findBuffer; + + std::vector<BNAddressRange> ranges; + uint64_t totalLength; + }; } |
