位置: 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 数据库配置文件)

  • 社保由税务局统一征收的地区
  • 金融资产交易增值税
  • 软件产品即征即退条件
  • 买交强险需要把车开过去吗
  • 高校报销需要增值税专用发票吗
  • 付款人常驻国家(地区)代码及名称RU
  • 企业其他综合收益减少应该怎么处理
  • 平价转让股权如何交税
  • 资本化的借款利息支出计入什么科目
  • 一般借款资本化加权平均数
  • 航天金税服务费诈骗
  • 买了两个可以退一个吗
  • 拨款和支出的区别
  • 企业所得税中的不征税收入有哪些
  • 投资公司的利息支出可抵扣吗
  • 承接所有业务
  • 绿化工程企业所得税减免吗
  • 增值税纳税表销售额的填写
  • 2021年新疆果业灰枣销售情况
  • 生产成本为什么不属于费用
  • 接受捐赠收入要计入企业所得税应纳税所得额吗
  • 已交税金怎么做账
  • 基金公司管理费收入增值税
  • 包装物租金怎么算
  • 印花税的计税依据是销项和进项的金额
  • 其他债权投资发生减值会影响所有者权益总额吗
  • 注销公司如何清算
  • 差旅费报销需要提交的单据有
  • 供应商收费标准
  • 服务业结转成本与收入如何配比
  • 软件登记费用
  • cmd. exe 程序错误
  • messenger 是什么意思
  • 集团公司内部结构是什么
  • vue ui怎么用
  • 旋转 目标检测
  • 增值税专用发票几个点
  • 固定资产一次性折旧账务处理
  • 金融资产发生减值的客观证据包括哪些
  • discuz设置门户
  • 增值税纳税申报类型怎么填
  • 预计表示什么意思
  • 预计净残值的计算公式excel
  • 消费税会计处理的设置
  • 一般纳税人增值税结转账务处理
  • 合并财务报表内部往来如何抵消
  • 直接人工成本包括管理人员开的工资吗
  • 0税率出口退税
  • 公司买的车如何入账举例说明
  • 餐饮店赠品
  • 存货盘亏的账务处理怎么做
  • 应收账款坏账准备借贷方向
  • 速动资产包括哪些流动资产
  • 开设明细账
  • mysql sql 基础教程
  • mysql5.7.22安装配置教程
  • ubuntu支持软件
  • ubuntu20.04 u盘
  • explorer.exe是啥意思
  • bootcamp安装windows一直小白杠
  • js实现日历效果
  • js时间倒计时定时器怎么弄
  • 导入项目出现这个问题
  • k-means聚类算法例题
  • perl中qw
  • 全面理解全面把握全面落实
  • Node.js中的全局变量有哪些
  • 表单元素的基本语法
  • JavaScript instanceof 的使用方法示例介绍
  • linux命令行常用操作
  • python django事务transaction源码分析详解
  • unity编辑器安装
  • js相等和全等
  • javascript基础教程pdf
  • python listnode
  • CA证书如何办理?
  • 陕西省附加税减免政策
  • 马来西亚到中国机票多少钱
  • 常设机构怎么缴纳所得税
  • 曲靖注册公司要哪些条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设