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

  • 税务网上清卡流程
  • 公司购入烟酒会计处理
  • 施工劳务企业要交增值税吗
  • 经营性应收项目和经营性应付项目
  • 有差价的商品发票如何开具及注意事项
  • 支付专家劳务费什么意思
  • 股权转让个人交的印花税可以入账吗
  • 2021年2月适合公司开业的日子
  • 应交增值税账面数
  • 用户风险是什么意思
  • 国家税务总局关于取消增值税扣税凭证
  • 纳税人跨县(市、区)提供建筑服务
  • 城市公交可以承包吗
  • 应交税费属于什么费用科目
  • 和别人合作投资后悔了怎么说
  • 最新消费税税目顺口溜
  • 增值税加计扣除政策
  • win11系统更新卡在25%
  • 网页读出来
  • php sybase_fetch_array使用方法
  • 哪些情形不属于伪现金
  • 公司购买二手车需要交什么税
  • 辅导期一般纳税人标准
  • 控制器code是什么意思
  • 最小的电池是多大
  • 销售地下车库缴纳哪些税
  • 公司交纳社会保险多少钱
  • css滚动条自动滚动
  • 坏账准备账务处理程序
  • php邮箱smtp发信源码
  • 什么发票可以抵扣企业所得税
  • 公司股权转移怎么办理
  • 工会会费收取
  • 发票校验码是什么在哪
  • 帝国cms移动端
  • 帝国cms使用手册
  • cmd 访问mysql
  • 契税计税依据是否包含耕地占用税
  • 投资款印花税税源采集表税目
  • 银行支付利率的含义是什么
  • 什么情况下会被判死刑
  • 现代服务税目包括哪些具体分类
  • 小企业会计准则调整以前年度费用分录
  • sqlserver判断查询结果是否为空
  • mysql sqlyog
  • 一般纳税人销售旧货税率
  • 以前年度损益调整结转到哪里
  • 账面价值低于可抵税收
  • 会计利润调增调减项目
  • 现金日记账是会计人员根据审核后的
  • 增值税申报销项数据怎么自动带出来
  • 电脑折旧多少钱
  • 公司场地租赁交什么税
  • 小企业会计应交所得税
  • 酒店会计做账流程
  • win10打开cad出现致命错误
  • sel 日志
  • unsecapp.exe - unsecapp是什么进程
  • centos5.5网络配置
  • win7怎么设置快
  • android开发环境配置
  • js实现倒计时60s
  • BootStrap glyphicons 字体图标实现方法
  • jquery实现回到顶部
  • JQuery 又谈ajax局部刷新
  • unity小例子
  • 原生js实现路由
  • jquery函数定义
  • JavaScript instanceof 的使用方法示例介绍
  • Node.js中的全局变量有哪些
  • Windows10下安装fastdfs
  • 查看本机开放端口号
  • sdk有问题
  • hashmap详细讲解
  • 详解杭州亚运会会徽和口号
  • Android开发使用的官方IDE是
  • 美国进口税起征点
  • 研发费用加计扣除2022政策
  • 2022年印花税最新规定反映了什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设