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

  • 湖南浏阳街道干部上门殴打居民被开除党籍、政务撤职

    湖南浏阳街道干部上门殴打居民被开除党籍、政务撤职

  • iwatch怎么录入公交卡(怎么在iwatch上添加公交卡)

    iwatch怎么录入公交卡(怎么在iwatch上添加公交卡)

  • keep有电脑版吗(keep 电脑端)

    keep有电脑版吗(keep 电脑端)

  • 华为手机上的gps在哪个设置里面打开(华为手机上的gps怎么打开)

    华为手机上的gps在哪个设置里面打开(华为手机上的gps怎么打开)

  • 为什么都没有耳机孔了(为什么有些人耳朵没有耳垂)

    为什么都没有耳机孔了(为什么有些人耳朵没有耳垂)

  • 苹果手机一个id两个手机来电话同时响(苹果手机一个id怎么关闭所有共享)

    苹果手机一个id两个手机来电话同时响(苹果手机一个id怎么关闭所有共享)

  • 手机出声孔进水(手机出声孔进水有杂音)

    手机出声孔进水(手机出声孔进水有杂音)

  • 基站延迟是什么意思(基站廷迟什么意思)

    基站延迟是什么意思(基站廷迟什么意思)

  • qq视频美颜对方知道吗(qq视频美颜对方能看到吗)

    qq视频美颜对方知道吗(qq视频美颜对方能看到吗)

  • 12.9寸ipad多大(12.9寸ipad多大第二代)

    12.9寸ipad多大(12.9寸ipad多大第二代)

  • 探探注销后手机号还可以注册吗(探探注销后手机还会收到短信吗)

    探探注销后手机号还可以注册吗(探探注销后手机还会收到短信吗)

  • 抖音选取音乐后怎么没声音(抖音选取音乐后没有声音)

    抖音选取音乐后怎么没声音(抖音选取音乐后没有声音)

  • 华为nova5pro声音小怎么解决(华为nova5pro声音有杂音怎么弄)

    华为nova5pro声音小怎么解决(华为nova5pro声音有杂音怎么弄)

  • 笔记本电脑上网课需要用麦吗(笔记本电脑上网的几种方式)

    笔记本电脑上网课需要用麦吗(笔记本电脑上网的几种方式)

  • 抖音有评论上限吗(抖音评论上限每天多少条)

    抖音有评论上限吗(抖音评论上限每天多少条)

  • 剪切板是什么中的一个临时存储区(剪切板是什么中的)

    剪切板是什么中的一个临时存储区(剪切板是什么中的)

  • 华为mate30por上市时间

    华为mate30por上市时间

  • 百度小程序申请条件  (百度小程序申请退款)

    百度小程序申请条件 (百度小程序申请退款)

  • 如何更新ios(如何更新ios16.6)

    如何更新ios(如何更新ios16.6)

  • sma5000三星什么型号

    sma5000三星什么型号

  • 5.5和6.0屏幕对比(5.8和6.0屏幕对比)

    5.5和6.0屏幕对比(5.8和6.0屏幕对比)

  • 手机信号边上出现hd是什么意思(手机信号边上出现米数什么情况)

    手机信号边上出现hd是什么意思(手机信号边上出现米数什么情况)

  • vivox27没有面部解锁吗(vivo手机找不到面部设置)

    vivox27没有面部解锁吗(vivo手机找不到面部设置)

  • iframe框架一个页面中嵌套到另外一个页面(如何进行iframe框架切换)

    iframe框架一个页面中嵌套到另外一个页面(如何进行iframe框架切换)

  • c语言中空指针是什么(c语言的空指针)

    c语言中空指针是什么(c语言的空指针)

  • 资产负债表应交税费
  • 新公司个税申报怎么操作
  • 外贸企业出口退税申报流程操作
  • 餐补如何入账
  • 残疾人保障金为什么是小数
  • 机械租赁小规模企业所得税
  • 费用化支出期末结转
  • 餐饮通用机打发票可以报销吗
  • 一次性收取全年培训费
  • 土地所有权可以出资吗
  • 外购自用需要缴纳增值税吗
  • 房产交易如何避免个税
  • 土地税退税做什么分录
  • 城市建设综合配套费征收管理办法
  • 境外企业提供软件使用权给境内企业
  • 外汇收支申报流程
  • 什么情况下需要写答
  • 小规模纳税人如何升级为一般纳税人
  • 外资企业需要遵守哪些法律
  • 企业以前年度的亏损在哪查
  • 长期待摊费用的内容和特征
  • 房地产会计分录大全
  • 公司经营权补偿款会计处理?
  • 企业合并中或有负债确认后期调整的项目
  • 怎么获得win10纯净版
  • PHP:ftp_nb_put()的用法_FTP函数
  • php ftp函数
  • PHP:spl_autoload()的用法_spl函数
  • Ant Design Pro(5)-7.高级表格ProTable
  • phpsutdy
  • 补缴房产税土地使用税怎么算
  • 特立尼达和多巴哥
  • 预支员工报销费用会计科目
  • 已抵扣增值税进什么科目
  • java+php
  • h5的开发
  • react roter
  • redis zset源码
  • chat的用法及短语
  • lvs命令
  • 查询的命令
  • 预缴与申报
  • 个体工商户生产经营所得税税率表2023
  • python的series
  • micro start
  • 党建工作经费使用流程
  • 上期金额是本年累计金额吗
  • 实收资本不能动吗
  • 发票上一定要盖章吗
  • 公司债券属于负债吗
  • 免税所得包括哪些
  • 追索权定义
  • 报表的应付账款怎么算
  • 工程检测单位
  • 公司租用员工车辆维修费能报销吗
  • 政府专款专用
  • 银行转出去的账可以追回吗?
  • 安全生产费用提取标准 最新
  • 什么是小规模纳税人2023
  • 什么是活页式账户
  • win7开机提示由于启动计算机时出现页面文件
  • thinkpad x230笔记本电脑
  • linux如何使用
  • WIN10系统中软件打开找不到网络共享盘
  • 苹果mac电脑怎么复制粘贴
  • linux带桌面
  • win7e盘不见了怎么恢复
  • Win7系统如何打开摄像头
  • Cocos2d-x +Android + Windows 7
  • 有关表格边框的快捷键
  • js实现登录界面
  • Node.js中的construct
  • unity update优化
  • unity获取物体位置代码
  • 安卓layout布局
  • 安卓开发常用代码
  • 获取手机信息的渠道
  • 河北市国家税务局官网
  • 东莞市官网
  • 企业间借款合同印花税怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设