aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn0p <0x90@n0p.cc>2018-03-10 19:30:58 +0100
committern0p <0x90@n0p.cc>2018-03-10 19:30:58 +0100
commit5e9315033a4f0ec714438e997c28f1ca61939fe0 (patch)
tree8e6512c4ab4f5b03584334a40ddac37b731191e6
parent9180bcea6ae9ebda5c4b1542d00a48d350c05608 (diff)
downloadidaSystemCalls-5e9315033a4f0ec714438e997c28f1ca61939fe0.tar.gz
idaSystemCalls-5e9315033a4f0ec714438e997c28f1ca61939fe0.zip
System calls aren't reanalyzed upon refresh. System call list is refreshed when a system call is noped.
-rw-r--r--SystemCalls.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/SystemCalls.py b/SystemCalls.py
index 7b007f9..2e71f3b 100644
--- a/SystemCalls.py
+++ b/SystemCalls.py
@@ -1,8 +1,6 @@
""" IDAPython plugin to display all system calls of AMD/Intel 32/64bit
Linux userland binaries.
- Work in progress...
-
The system call ABI from the following link are supported.
http://esec-lab.sogeti.com/posts/2011/07/05/linux-syscall-abi.html
@@ -38,11 +36,11 @@ class SystemCallView(idaapi.Choose2):
self.systemCalls = systemCalls
- idaapi.Choose2.__init__(self, 'System call', [['Address', 13],
- ['Type', 10],
- ['Number', 10],
- ['Name', 20],
- ['Pointer Size', 12]])
+ idaapi.Choose2.__init__(self, 'System calls', [['Address', 13],
+ ['Type', 10],
+ ['Number', 10],
+ ['Name', 20],
+ ['Pointer Size', 12]])
self.items = list()
@@ -55,7 +53,6 @@ class SystemCallView(idaapi.Choose2):
self.initialized = False
def __fillView(self):
-
start = time.time()
self.systemCalls.searchSystemCalls()
@@ -118,6 +115,8 @@ class SystemCallView(idaapi.Choose2):
ida_bytes.patch_bytes(start_ea, (end_ea - start_ea) * '\x90')
+ self.Refresh()
+
def OnGetIcon(self, n):
if not len(self.items) > 0:
return -1
@@ -140,9 +139,6 @@ class SystemCallView(idaapi.Choose2):
def OnGetSize(self):
return len(self.items)
- def OnRefresh(self, n):
- self.__fillView()
-
def OnSelectLine(self, n):
idaapi.jumpto(int(self.items[n][0], 16))