当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程技术分享 > python怎样进行反编译

python怎样进行反编译

发布时间:2020年09月27日 10:43:41 来源: 点击量:1105

【摘要】python进行反编译的方法:可以利用第三方库uncompyle来实现。该库可以将代码反编译成字节码指令和源代码。例如:【uncompyle_file(& 39;tes

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

1、使用第三方库uncompyle

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

(推荐教程:Python入门教程)

举例:

from uncompyle2 import *
fp = open("code.txt","wb")
uncompyle_file('test.pyc',fp,showasm=1,showast=0)
fp.close()

2、使用python自带的dis模块

>>> 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

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部