def r_code(self, obj): #print "[*] argcount" argcount = parse.pyLong(0, long(obj.co_argcount), "NA") #print "[*] nlocals" nlocals = parse.pyLong(0, long(obj.co_nlocals), "NA") #print "[*] stacksize" stacksize = parse.pyLong(0, long(obj.co_stacksize), "NA") #print "[*] flags" flags = parse.pyLong(0, long(obj.co_flags), "NA") #print "[*] code" code = parse.pyString(0, obj.co_code, "NA") #print "[*] consts" consts = self.r_object(obj.co_consts) #print "[*] names" names = self.r_object(obj.co_names) #print "[*] varnames" varnames = self.r_object(obj.co_varnames) #print "[*] freevars" freevars = self.r_object(obj.co_freevars) #print "[*] cellvars" cellvars = self.r_object(obj.co_cellvars) #print "[*] filename" filename = parse.pyString(0, obj.co_filename, "NA") #print "[*] name" name = parse.pyString(0, obj.co_name, "NA") #print "[*] firstlineno" firstlineno = parse.pyLong(0, long(obj.co_firstlineno), "NA") #print "[*] lnotab" lnotab = parse.pyString(0, obj.co_lnotab, "NA") return parse.pyCode(0, argcount, nlocals, stacksize, flags, code, consts, names, varnames, freevars, cellvars, filename, name, firstlineno, lnotab, self.verboseDisasm, False)
def r_object(self, obj): if type(obj) == types.StringType: return parse.pyString(0, obj, "NA") elif type(obj) == types.UnicodeType: return parse.pyUnicode(0, obj, "NA") elif type(obj) == types.NoneType: return parse.pyNone(0) elif type(obj) == types.IntType: return parse.pyLong(0, long(obj), "NA") elif type(obj) == types.FloatType: return parse.pyFloat(0, float(obj), "NA") elif type(obj) == types.TupleType: return self.r_tuple(obj) elif type(obj) == types.CodeType: return self.r_code(obj) #return parse.pyString(0, obj.co_code, "NA") else: print "UNKNOWN DATA TYPE: %s"%(type(obj))
def r_object(self, obj): if type(obj) == types.StringType: return parse.pyString(0, obj, "NA") elif type(obj) == types.UnicodeType: return parse.pyUnicode(0, obj, "NA") elif type(obj) == types.NoneType: return parse.pyNone(0) elif type(obj) == types.IntType: return parse.pyLong(0, long(obj), "NA") elif type(obj) == types.FloatType: return parse.pyFloat(0, float(obj), "NA") elif type(obj) == types.TupleType: return self.r_tuple(obj) elif type(obj) == types.CodeType: return self.r_code(obj) #return parse.pyString(0, obj.co_code, "NA") else: print "UNKNOWN DATA TYPE: %s" % (type(obj))