summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2022-11-20 21:35:06 -0500
committerBrian Potchik <brian@vector35.com>2022-11-20 21:35:06 -0500
commit0763a5064d53a6ec58b7bd40e8c47679d55a81d0 (patch)
treebedd36cb2c0c857ab438389c2ac3e0bdb97b7012 /binaryninjaapi.h
parentae69370eb054e2d1679aff0247ad3e217df62a62 (diff)
Initial constant expression builtin outliner.
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index c59b554a..ccf72b0a 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -1316,7 +1316,7 @@ namespace BinaryNinja {
bool operator==(const DataBuffer& other) const;
bool operator!=(const DataBuffer& other) const;
- std::string ToEscapedString() const;
+ std::string ToEscapedString(bool nullTerminates = false) const;
static DataBuffer FromEscapedString(const std::string& src);
std::string ToBase64() const;
static DataBuffer FromBase64(const std::string& src);
@@ -4289,6 +4289,13 @@ namespace BinaryNinja {
*/
size_t GetInstructionLength(Architecture* arch, uint64_t addr);
+ /*! Get the constant data at an address. Temporary API for debug only.
+
+ \param[in] addr Address of the constant data
+ \return DataBuffer containing the constant data
+ */
+ DataBuffer GetConstantData(uint64_t addr);
+
/*! Get the string at an address
\param[in] addr Address of the string
@@ -9564,6 +9571,7 @@ namespace BinaryNinja {
ExprId AddressOf(const Variable& var, const ILSourceLocation& loc = ILSourceLocation());
ExprId AddressOfField(const Variable& var, uint64_t offset, const ILSourceLocation& loc = ILSourceLocation());
ExprId Const(size_t size, uint64_t val, const ILSourceLocation& loc = ILSourceLocation());
+ ExprId ConstData(size_t size, uint64_t addr, const ILSourceLocation& loc = ILSourceLocation());
ExprId ConstPointer(size_t size, uint64_t val, const ILSourceLocation& loc = ILSourceLocation());
ExprId ExternPointer(
size_t size, uint64_t val, uint64_t offset, const ILSourceLocation& loc = ILSourceLocation());
@@ -9932,6 +9940,7 @@ namespace BinaryNinja {
const ILSourceLocation& loc = ILSourceLocation());
ExprId AddressOf(ExprId src, const ILSourceLocation& loc = ILSourceLocation());
ExprId Const(size_t size, uint64_t val, const ILSourceLocation& loc = ILSourceLocation());
+ ExprId ConstData(size_t size, uint64_t addr, const ILSourceLocation& loc = ILSourceLocation());
ExprId ConstPointer(size_t size, uint64_t val, const ILSourceLocation& loc = ILSourceLocation());
ExprId ExternPointer(
size_t size, uint64_t val, uint64_t offset, const ILSourceLocation& loc = ILSourceLocation());