Example #1
0
 def info(self, addr):
     v = [
         pluginsdk.ReadDword(addr),
         pluginsdk.ReadWord(addr + 4),
         pluginsdk.ReadWord(addr + 6), []
     ]
     addr += 8
     for i in range(8):
         v[3] += [pluginsdk.ReadByte(addr)]
         addr += 1
     h = GuidHelper()
     g = h.guidOfVals(v)
     info = h.findGuid(g)
     if not info:
         Logger.info("Guid %s not found", str(g))
     else:
         Logger.info(str(info))
Example #2
0
 def find(self, **kwargs):
     res = []
     if kwargs.get('func'):
         f = kwargs.get('func')
         if isinstance(f, basestring):
             f = idaapi.get_name_ea(idc.BADADDR, f)
         res = self.checkFunc(f, **kwargs) or []
     else:
         for funcea in idautils.Functions():
             tp = idc.GetType(funcea)
             if tp is None or self.stname not in tp:
                 continue
             r = self.checkFunc(funcea, **kwargs)
             if r:
                 res += r
     if kwargs.get("silent"):
         return res
     if len(res):
         dictchooser.DictChooser('.'.join(self.name) + " usage",
                                 res,
                                 jumpProc=self.jump).Show()
     else:
         Logger.info("Nothing found")
Example #3
0
 def reload(self):
     Logger.info("Reloading pyout")
     MODS.reload()
Example #4
0
 def verbose(self):
     Logger.setVerbose(not Logger.isVerbose())
     Logger.info("Verbose mode is %s.",
                 "ON" if Logger.isVerbose() else "OFF")
Example #5
0
 def version(self):
     Logger.info("Pyout package v%s.", pyout.__version__)
Example #6
0
 def printGuid(self, addr=None, **kwargs):
     addr = addr or idaapi.get_screen_ea()
     Logger.info(self.guidAtAddr(addr))
Example #7
0
 def run():
     x = Breaks.x64
     Logger.info("break at %08X", x.rip)
     proc = Breaks.callbacks.get(x.rip)
     if proc:
         proc(x)