Projects STRLCPY IDAGolangHelper Commits 6ff1d3f6
🤬
  • ■ ■ ■ ■ ■
    GO_Utils/Firstmoduledata.py
    skipped 3 lines
    4 4   
    5 5  def findFirstModuleData(addr, bt):
    6 6   #addr_st = "".join(["%s "% x.encode('hex') for x in ("%x" % addr).decode('hex')[::-1]])
    7  - #print addr_st
     7 + print '%x' % addr
    8 8   possible_addr = idautils.XrefsTo(addr).next().frm
    9 9   if Utils.is_hardcoded_slice(possible_addr, bt):
    10 10   return possible_addr
    skipped 1 lines
    12 12   
    13 13  def isGo17(addr, bt):
    14 14   addr += bt.size * 27
    15  - return Utils.is_hardcoded_slice(addr, bt)
     15 + addr2 = addr + bt.size * 6 # for go1.7 this addr will be for modulename
     16 + return Utils.is_hardcoded_slice(addr, bt) and (not Utils.is_hardcoded_slice(addr2, bt))
     17 + 
     18 + 
     19 +def isGo18_10(addr, bt):
     20 + addr += bt.size * 27
     21 + addr2 = addr + bt.size * 6 # for go1.8 this addr will be for itablinks
     22 + return Utils.is_hardcoded_slice(addr, bt) and (Utils.is_hardcoded_slice(addr2, bt))
    16 23   
    17 24  def getTypeinfo17(addr, bt):
    18 25   addr2 = addr + bt.size * 25
    skipped 21 lines
    40 47   return beg, beg+size*bt.size
    41 48   
    42 49  """
     50 +1.10 - same as 1.10
    43 51  1.9 - same as 1.8
    44 52  1.8
    45 53  type moduledata struct {
    skipped 106 lines
  • ■ ■ ■ ■ ■
    GO_Utils/__init__.py
    skipped 42 lines
    43 43   return "This should be go <= 1.4 : No module data found"
    44 44   vers = "go1.5 or go1.6"
    45 45   if Firstmoduledata.isGo17(fmd, self.bt_obj) is True:
    46  - vers = "go1.7, go1.8 or go1.9"
     46 + vers = "go1.7"
     47 + elif Firstmoduledata.isGo18_10(fmd, self.bt_obj) is True:
     48 + vers = "go1.8 or go1.9 or go1.10"
    47 49   return "According to moduleData struct is should be %s" % (vers)
    48 50   
    49 51   def renameFunctions(self):
    skipped 63 lines
Please wait...
Page is in error, reload to recover