summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2017-09-21 16:27:04 -0400
committerPeter LaFosse <peter@vector35.com>2017-09-21 16:27:04 -0400
commiteecc63abf9c528ab209d56fef62cb3be7518f4e2 (patch)
tree7cf300f35299cce2b38748b57f3a71f8de61bc99
parent652b830e5cb46ed2677e7639462f597b8e5f47c4 (diff)
Add segment permission properties
-rw-r--r--python/binaryview.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/python/binaryview.py b/python/binaryview.py
index 19af6264..9304d412 100644
--- a/python/binaryview.py
+++ b/python/binaryview.py
@@ -413,6 +413,18 @@ class Segment(object):
self.flags = flags
@property
+ def executable(self):
+ return (self.flags & SegmentFlag.SegmentExecutable) != 0
+
+ @property
+ def writable(self):
+ return (self.flags & SegmentFlag.SegmentWritable) != 0
+
+ @property
+ def readable(self):
+ return (self.flags & SegmentFlag.SegmentReadable) != 0
+
+ @property
def end(self):
return self.start + self.length
@@ -421,9 +433,9 @@ class Segment(object):
def __repr__(self):
return "<segment: %#x-%#x, %s%s%s>" % (self.start, self.end,
- "r" if (self.flags & SegmentFlag.SegmentReadable) != 0 else "-",
- "w" if (self.flags & SegmentFlag.SegmentWritable) != 0 else "-",
- "x" if (self.flags & SegmentFlag.SegmentExecutable) != 0 else "-")
+ "r" if self.readable else "-",
+ "w" if self.writable else "-",
+ "x" if self.executable else "-")
class Section(object):