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

  • 外贸企业进项税不抵扣分录
  • 企业增值税会计科目
  • 认缴制的注册资本实缴时存哪里
  • 结转和分配制造费用会计分录
  • 盈余公积发放现金股利分录怎么写
  • 跨年租赁费如何处理
  • 什么经营范围可以开茶叶发票
  • 小规模纳税人免征增值税政策
  • 分公司独立核算的利弊
  • 债券折价发行的会计分录
  • 外商投资企业土地使用税什么时候交
  • 融资租入固定资产属于资产吗
  • 进项税有余额但没有余额
  • 普通商户怎么开小票
  • 存货报废应如何记账
  • 劳保费计入管理费用的什么
  • 购进原材料没有发票怎么做分录
  • 小规模纳税人可以开3%的专票吗
  • 对方增值税发票丢失怎么办
  • 财税[2012]15
  • 从租计征的房产税减半政策
  • 会计明细账簿包括哪些
  • 购进要不要交印花税
  • 公共基础设施折旧年限表 20
  • 2019年一般纳税人附加税减免政策
  • 以自有资金进行股权投资
  • 2021windows10专业版
  • win7纯净版系统
  • 电视柜尺寸一般是多少厘米的
  • PHP:mb_send_mail()的用法_mbstring函数
  • 怎么扣除购入的物品
  • 总公司拨给分公司的钱怎么平账
  • 计提固定资产折旧怎么做会计科目
  • windows搭建dvwa
  • 进料加工与来料加工均为一进一出的两笔交易
  • 存货跌价准备减少
  • 固定资产提足折旧后报废怎么处理
  • 职工取得全年一次性奖金如何计算缴纳个人所得税?
  • 预提费用会计处理
  • 土方工程公司账务实例
  • 资产负债表中投资总额是什么
  • transformers document
  • lama羊驼
  • echarts中国地图代码
  • 实收资本退回给股东需要交印花税吗
  • mysql 字符集
  • python 操作数据库
  • 商业收入税收怎么收费
  • 哪些合同不用计提印花税
  • 联营扣点怎么做账
  • 以无形资产换入固定资产发生的净损益
  • 公司销售一批物品怎么做
  • 事业单位研究开设的课题
  • 房屋免租期的房子能卖吗
  • 开具红字发票后所冲销的销项税应该怎么处理?
  • 建筑设计行业收费标准
  • 汇算清缴前取得发票可以税前扣除吗
  • 亏损弥补的会计处理方法
  • 银行账户维护费收费标准
  • 为什么总成本费用不变
  • 企业净资产怎么填
  • sql server2012操作步骤
  • sqlserver2005iis警告
  • 关机并重启是怎么回事
  • 电脑开机显示xp后无反应
  • win10技巧 新功能
  • win7桌面右下角输入法图标不见了
  • win7任务栏怎么全部显示出来
  • win8功能
  • Jqprint实现页面打印
  • android aidl binder
  • three.js碰撞检测
  • 深入理解计算机系统
  • javascript简明教程
  • javascript学习指南
  • python迭代类型
  • jquery 购物车
  • 江苏税务查询电子发票
  • 股东向公司借款合法吗
  • 西安市人力资源和社会保障局关于2020年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设