V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhanghk668
V2EX  ›  2015

python 的混淆后的代码可以还原么

  •  
  •   zhanghk668 · 2015-09-28 10:24:01 +08:00 · 3413 次点击
    这是一个创建于 3135 天前的主题,其中的信息可能已经有所发展或是发生改变。

    code 类似这样子
    import sys
    sys.dont_write_bytecode = True
    import imp
    if 64 - 64:
    i11iIiiIii
    if 65 - 65:
    O0 / iIii1I11I1II1 % OoooooooOO - i1IIi
    if 73 - 73:
    II111iiii
    if 22 - 22:
    I1IiiI * Oo0Ooo / OoO0O00.OoOoOO00.o0oOOo0O0Ooo / I1ii11iIi11i
    if 48 - 48:
    oO0o / OOooOOo / I11i / Ii1I
    if 48 - 48:
    iII111i % IiII + I1Ii111 / ooOoO0o * Ii1I
    if 46 - 46:
    ooOoO0o * I11i - OoooooooOO
    if 30 - 30:
    o0oOOo0O0Ooo - O0 % o0oOOo0O0Ooo - OoooooooOO * O0 * OoooooooOO

    def OO00Oo(type, value, tb):
    iIIIIii1.critical(''.join(traceback.format_exception(type, value, tb)))

    sys.excepthook = OO00Oo
    if 51 - 51:
    IiII * o0oOOo0O0Ooo + I11i + OoO0O00

    def o0O0O00(fmt, *args):
    global ooO0oo0oO0
    global o00
    global o0oOoO00o
    if 0:
    I11i / IiII % i11iIiiIii
    if 0:
    ooOoO0o * OoO0O00 % oO0o.IiII
    if o00 or sys.flags.debug or not ooO0oo0oO0:
    o0oOoO00o.acquire()
    print fmt % args
    o0oOoO00o.release()
    if 0:
    i11iIiiIii * II111iiii % iIii1I11I1II1 + I1ii11iIi11i - Ii1I
    if 0:
    IiII
    if 0:
    iIii1I11I1II1 * OoOoOO00

    我知道这是混淆后的代码,有没有办法使得其还原的

    2 条回复    2015-09-28 11:02:09 +08:00
    goodan
        1
    goodan  
       2015-09-28 10:32:09 +08:00
    全局批量替换变量名吧?
    那你就全局查找,一个一个理顺就好哇。又不是什么加密。
    oott123
        2
    oott123  
       2015-09-28 11:02:09 +08:00   ❤️ 1
    混淆是丢失信息量的操作。
    没有办法找回丢失的信息量。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3519 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:53 · PVG 12:53 · LAX 21:53 · JFK 00:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.