summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h61
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;
+ };
}