From 5e9315033a4f0ec714438e997c28f1ca61939fe0 Mon Sep 17 00:00:00 2001 From: n0p <0x90@n0p.cc> Date: Sat, 10 Mar 2018 19:30:58 +0100 Subject: System calls aren't reanalyzed upon refresh. System call list is refreshed when a system call is noped. --- SystemCalls.py | 18 +++++++----------- 1 file 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)) -- cgit v1.2.3