• 技术文章 >Python技术 >Python高级

    python怎样进行反编译

    FXLFXL2020-08-24 11:41:04原创7655
    python进行反编译的方法:可以利用第三方库uncompyle来实现。该库可以将代码反编译成字节码指令和源代码。例如:【uncompyle_file('test.pyc',fp,showasm=1,showast=0)】。

    1、使用第三方库uncompyle

    这个库可以将代码反编译成字节码指令和源代码

    (推荐教程:Python入门教程

    举例:

    1

    2

    3

    4

    from uncompyle2 import *

    fp = open("code.txt","wb")

    uncompyle_file('test.pyc',fp,showasm=1,showast=0)

    fp.close()

    2、使用python自带的dis模块

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    >>> import dis

    >>> def inplace_add():

    ...     a = 0

    ...     a += 1

    ...

    >>> def add_and_assign():

    ...     a = 0

    ...     a = a + 1

    ...

    >>> dis.dis(inplace_add)

      2           0 LOAD_CONST               1 (0)

                  3 STORE_FAST               0 (a)

      

      3           6 LOAD_FAST                0 (a)

                  9 LOAD_CONST               2 (1)

                 12 INPLACE_ADD        

                 13 STORE_FAST               0 (a)

                 16 LOAD_CONST               0 (None)

                 19 RETURN_VALUE       

    >>> dis.dis(add_and_assign)

      2           0 LOAD_CONST               1 (0)

                  3 STORE_FAST               0 (a)

      

      3           6 LOAD_FAST                0 (a)

                  9 LOAD_CONST               2 (1)

                 12 BINARY_ADD         

                 13 STORE_FAST               0 (a)

                 16 LOAD_CONST               0 (None)

                 19 RETURN_VALUE

    专题推荐:python 反编译
    上一篇:怎样用python进行数据可视化 下一篇:python中如何绘制等边三角形

    相关文章推荐

    • 如何防止python反编译• python函数怎么返回值• python如何查看字符集

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网