位置: IT常识 - 正文

[Python]解密pyc文件(python解密加密文件)

编辑:rootadmin
公司的pyc做了加密, 前段时间研究了一下怎么解密. 最开始的思路是反汇编pypy的dll, 找到import代码的实现, 然后写一个解码的函数. 但是对反编译的东西不熟悉, 想要找到解密的地方比较困难. 最后放弃了这个思路. 后面看到了一篇pyc文件格式的文章, 得知pyc文件其实就是文件头+ma ...

推荐整理分享[Python]解密pyc文件(python解密加密文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python解密加密文件,python密文解密为明文,python解密算法,python加解密文本文件,python解密算法,python 解密,python 解密,python解密密文,内容如对您有帮助,希望把文章链接给更多的朋友!

公司的pyc做了加密, 前段时间研究了一下怎么解密.

最开始的思路是反汇编pypy的dll, 找到import代码的实现, 然后写一个解码的函数. 但是对反编译的东西不熟悉, 想要找到解密的地方比较困难. 最后放弃了这个思路.

后面看到了一篇pyc文件格式的文章, 得知pyc文件其实就是文件头+marshal编码后的python vm字节码, 所以尝试了hook一下marshal.loads

import marshalcount = 0old_loads = marshal.loadsdef marshal_loads(s): global count pyc_hash = hashlib.md5(s).hexdigest() if pyc_hash in pyc_set: return old_loads(s) pyc_set.add(pyc_hash) count += 1 x = "O_" + str(count) with open("./dumps/%s.pyc" % x, "wb") as f: f.write(base64.b32decode('BLZQ2CR54CUFU===')) f.write(s) print(1, len(s)) return old_loads(s)marshal.loads = marshal_loads[Python]解密pyc文件(python解密加密文件)

然后去import那个pyc, 他自己修改过的python解释器会先解码加密过的pyc文件, 然后再走到marshal.loads, 这时候已经不是加密的内容, 所以我们可以加一个标准的pyc头重新组装成一个pyc, 只是不清楚当前这段bytes是哪个pyc文件的, 这个不是很重要, 反正所有import到的模块都会被dump出来.

下来用uncompyle6反编译就行了. 反编译出来的代码, 头部会标明自己是哪个模块, 再写一个脚本重新rename一下, 就可以了. 不过有少数代码会反编译失败.

文中那个'BLZQ2CR54CUFU===' magic number, 应该是我随便找了一个正常的pyc文件, 应该是python 2.7的, 如果是python 3的话, 找一个正常的pyc文件看看, 替换一下就行了.

最后吐槽一下, 把pyc文件加密有什么意义, 为啥要把脑子浪费在这种地方上???

参考:

1.PYC文件格式分析 (kdr2.com)

2.uncompyle6 · PyPI

本文链接地址:https://www.jiuchutong.com/zhishi/304695.html 转载请保留说明!

上一篇:Apache Druid 数据摄取---本地数据和kafka流式数据(apache druid使用)

下一篇:PHPCMS怎么配置https?(phpcms 数据库配置文件)

  • 增值税销项进项什么意思
  • 长期股权投资的入账价值怎么算
  • 计税价格是什么税
  • 发票未到怎么暂估入账
  • 法人股东分红交什么税
  • 发货就要开票吗是真的吗
  • 租金是含税的吗
  • 税费的计提和缴纳
  • 销项抵扣需要缴纳城建税吗
  • 出口货款收不回来怎么办
  • 冲销暂估入库如何做会计核算?
  • 进口缴纳的关税通过什么核算
  • 工程预付款包括工人工资吗
  • 工程投标保证金最新规定
  • 小规模纳税人税率有几种
  • 企业发工资交税
  • 国税几年都没有缴纳
  • 增值税留抵税额账务处理
  • 福利费税前扣除标准2023
  • etc发票抵扣进项
  • 所得税的税率有哪几种
  • 企业筹建期间开办费计入什么科目计入借方还是贷方
  • 所得税报表里的资产总额在哪里取数
  • 一般纳税人怎么计算增值税
  • 监证方什么意思
  • 4s店以车换车怎么算的
  • configureandwatch
  • 惠普笔记本电源适配器
  • 对违规送礼行为怎么处理
  • 公司出售已经提完折旧的机器
  • 民营非盈利机构
  • 毛地黄长什么样
  • 购买了金税盘以后怎么使用
  • js实现dialog
  • 结转销售成本的分录怎么写
  • vue的路由器
  • egi脑电数据处理
  • vue中的路由守卫有哪些
  • 交易性金融资产的入账价值
  • 什么叫资本退出
  • 帝国cms生成app
  • MYSQL数据库设计与应用第二版
  • 织梦是啥
  • 费用报销审批单和费用报销单区别
  • MYSQL的select 学习笔记
  • 金融商品转让一半增值税
  • 增值税纳税申报实训报告
  • sql死锁的简单例子
  • 经营租赁方式租入再转租的建筑物
  • 独资合伙企业的特点
  • 收到的出口退税款需要并入利润总额吗
  • 视同销售和不视同销售的区别?
  • 外购材料用于建筑工程会计分录
  • 党委经费是国家政府出吗?
  • 银行回单超过三个月可以补打吗
  • 电子支付支付是什么意思
  • 团体意外保险能赔多少钱
  • 财务费用的科目编码是多少
  • 增发股票会计科目
  • 分公司有独立账套吗
  • mysql 5.7.24安装
  • Windows 10 PC/Mobile Build 14965预览版推送:改进PC端
  • winxp如何删除网卡驱动
  • mac安装win10键盘失灵
  • centos 安装
  • win7网络连接不显示
  • cocos2d-x2.2.3和android平台环境的搭建
  • Shell正则表达式获取指定字符串
  • selenium csdn
  • unity3ds
  • js中断点用法
  • 电脑自动检测硬盘怎么取消
  • js 实现跳转页面
  • 安卓手机自定义ua
  • bud3d跑酷
  • 前端框架到底是什么
  • 广东电子税务局手机版
  • 纳税申报模拟
  • 党建引领安全宣传美篇幼儿园
  • 包头市税务局赵文胜
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设