简体   繁体   中英

uncompyle pyc file => names in output only have underscores, "0"s, "O"s, "o"s, "l"s and "1"s

im trying to reverse engineer pyc file. so i'm running uncompyle and i'm getting very strange output.

import os, sys, shutil, re, base64, inspect, socket, datetime, itertools, random, colorsys
from functools import partial
import collections, uuid
from string import ascii_uppercase
o___O_0___0___O_O____0_0__O_____o_o____1 = uuid.getnode
o___o__1___o_O_o_____O____O____0_l___O_0 = os.path.getmtime
o__l_____o_o____o____O_o____1___0 = os.path.getctime

class o____l____1_l__O__1____l__o__1(object):
    _o___O___o___1___1___1_0_O_____o____O_O__O_____1_____l___o = {}

    def __getattr__(o___l___1____1___l_____O_l_____1_0_____o__0___O_____0_o____O_O, propertyName):
        o___l___1____1___l_____O_l_____1_0_____o__0___O_____0_o____O_O.__dict__[propertyName] = None
        return

    def o_O__l_0_____0__0_____0_____O____1___O(o___l___1____1___l_____O_l_____1_0_____o__0___O_____0_o____O_O, propertyName):
        try:

is there any way to uncompyle file properly ?

Typically this means whoever built the file used obfuscation tools. If those tools are well-built, the original names aren't there at all anymore, and you need to infer them from context. (Whoever ran the tool will typically have a map from the generated name back to the original name, but that doesn't do you any good).

– answered by Charles Duffy

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM