From eecc63abf9c528ab209d56fef62cb3be7518f4e2 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Thu, 21 Sep 2017 16:27:04 -0400 Subject: Add segment permission properties --- python/binaryview.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'python') diff --git a/python/binaryview.py b/python/binaryview.py index 19af6264..9304d412 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -412,6 +412,18 @@ class Segment(object): self.data_length = data_length 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 "" % (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): -- cgit v1.3.1