From 0b1529934c59645c895590997b919d2f0870f891 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Thu, 14 Mar 2019 17:48:10 -0400 Subject: BinaryView API for entropy. --- binaryview.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'binaryview.cpp') diff --git a/binaryview.cpp b/binaryview.cpp index 690ccee1..b4ca2fd9 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -890,6 +890,24 @@ size_t BinaryView::InsertBuffer(uint64_t offset, const DataBuffer& data) } +vector BinaryView::GetEntropy(uint64_t offset, size_t len, size_t blockSize) +{ + if (!blockSize) + blockSize = len; + + float* entopy = new float[(len / blockSize) + 1]; + len = BNGetEntropy(m_object, offset, len, blockSize, entopy); + + vector result; + result.reserve(len); + for (size_t i = 0; i < len; i++) + result.push_back(entopy[i]); + + delete[] entopy; + return result; +} + + vector BinaryView::GetModification(uint64_t offset, size_t len) { BNModificationStatus* mod = new BNModificationStatus[len]; -- cgit v1.3.1