summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binaryninjaapi.h2
-rw-r--r--databuffer.cpp15
2 files changed, 17 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index ce5e95ae..50a67b3f 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -192,6 +192,8 @@ namespace BinaryNinja
std::string ToEscapedString() const;
static DataBuffer FromEscapedString(const std::string& src);
+ std::string ToBase64() const;
+ static DataBuffer FromBase64(const std::string& src);
};
class TemporaryFile: public RefCountObject
diff --git a/databuffer.cpp b/databuffer.cpp
index 6a0748b4..7814b14e 100644
--- a/databuffer.cpp
+++ b/databuffer.cpp
@@ -136,6 +136,21 @@ DataBuffer DataBuffer::FromEscapedString(const string& src)
}
+string DataBuffer::ToBase64() const
+{
+ char* str = BNDataBufferToBase64(m_buffer);
+ string result = str;
+ BNFreeString(str);
+ return result;
+}
+
+
+DataBuffer DataBuffer::FromBase64(const string& src)
+{
+ return DataBuffer(BNDecodeBase64(src.c_str()));
+}
+
+
string BinaryNinja::EscapeString(const string& s)
{
DataBuffer buffer(s.c_str(), s.size());