Exemple #1
0
 def __call__(self):
     if self.op == "hex":
         ida_bytes.op_hex(self.ea, self.n)
     if self.op == "bin":
         ida_bytes.op_bin(self.ea, self.n)
     if self.op == "dec":
         ida_bytes.op_dec(self.ea, self.n)
     if self.op == "chr":
         ida_bytes.op_chr(self.ea, self.n)
     if self.op == "oct":
         ida_bytes.op_oct(self.ea, self.n)
     if self.op == "offset":
         ida_idc.op_plain_offset(self.ea, self.n, 0)
     if self.op == "enum":
         id = ida_enum.get_enum(self.extra["ename"])
         ida_bytes.op_enum(self.ea, self.n, id, self.extra["serial"])
     if self.op == "struct":
         path_len = len(self.extra["spath"])
         path = ida_pro.tid_array(path_len)
         for i in range(path_len):
             sname = self.extra["spath"][i]
             path[i] = ida_struct.get_struc_id(sname)
         insn = ida_ua.insn_t()
         ida_ua.decode_insn(insn, self.ea)
         ida_bytes.op_stroff(insn, self.n, path.cast(), path_len,
                             self.extra["delta"])
     if self.op == "stkvar":
         ida_bytes.op_stkvar(self.ea, self.n)
 def __call__(self):
     if self.op == 'hex':
         ida_bytes.op_hex(self.ea, self.n)
     if self.op == 'bin':
         ida_bytes.op_bin(self.ea, self.n)
     if self.op == 'dec':
         ida_bytes.op_dec(self.ea, self.n)
     if self.op == 'chr':
         ida_bytes.op_chr(self.ea, self.n)
     if self.op == 'oct':
         ida_bytes.op_oct(self.ea, self.n)
     if self.op == 'enum':
         id = ida_enum.get_enum(Event.encode(self.extra['ename']))
         ida_bytes.op_enum(self.ea, self.n, id, self.extra['serial'])
     if self.op == 'struct':
         path_len = len(self.extra['spath'])
         path = ida_pro.tid_array(path_len)
         for i in xrange(path_len):
             sname = Event.encode(self.extra['spath'][i])
             path[i] = ida_struct.get_struc_id(sname)
         insn = ida_ua.insn_t()
         ida_ua.decode_insn(insn, self.ea)
         ida_bytes.op_stroff(insn, self.n, path.cast(), path_len,
                             self.extra['delta'])
     if self.op == 'stkvar':
         ida_bytes.op_stkvar(self.ea, self.n)
Exemple #3
0
 def _on_optypechanged(self, ea, n, op, extra):
     if op == 'hex':
         ida_bytes.op_hex(ea, n)
     if op == 'bin':
         ida_bytes.op_bin(ea, n)
     if op == 'dec':
         ida_bytes.op_dec(ea, n)
     if op == 'chr':
         ida_bytes.op_chr(ea, n)
     if op == 'oct':
         ida_bytes.op_oct(ea, n)
     if op == 'stkvar':
         ida_bytes.op_stkvar(ea, n)
     if op == 'enum':
         enum_id = ida_enum.get_enum(str(extra['ename']))
         ida_bytes.op_enum(ea, n, enum_id, extra['serial'])
     if op == 'struct':
         path_length = len(extra['spath'])
         path = ida_pro.tid_array(path_length)
         for i in range(path_length):
             sname = str(extra['spath'][i])
             path[i] = ida_struct.get_struc_id(sname)
         insn = ida_ua.insn_t()
         ida_ua.decode_insn(insn, ea)
         ida_bytes.op_stroff(insn, n, path.cast(), path_length,
                             extra['delta'])