コード例 #1
0
    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)
コード例 #2
0
 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))  
コード例 #3
0
    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))
コード例 #4
0
 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)