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

  • 网页设计模板企业网站是用来展示自身实力和形象的利器

    网页设计模板企业网站是用来展示自身实力和形象的利器

  • opporeno4pro是否有耳机孔(opporeno4pro有什么新功能)

    opporeno4pro是否有耳机孔(opporeno4pro有什么新功能)

  • 抖音beta过期了怎么办(91抖音过期了)

    抖音beta过期了怎么办(91抖音过期了)

  • 打对方电话嘀一声就断(打对方的电话嘟嘟声音是什么原因)

    打对方电话嘀一声就断(打对方的电话嘟嘟声音是什么原因)

  • 怎么把好评改成差评(怎么更改好评为差评)

    怎么把好评改成差评(怎么更改好评为差评)

  • 钉钉文件可以知道哪些人在看吗(钉钉文件知识库删除了对方还能看见吗)

    钉钉文件可以知道哪些人在看吗(钉钉文件知识库删除了对方还能看见吗)

  • 适应边框打印是什么意思(适应边框打印是不是无边框是什么意思)

    适应边框打印是什么意思(适应边框打印是不是无边框是什么意思)

  • 小米充电器可以充华为手机吗(小米充电器可以充苹果手机吗)

    小米充电器可以充华为手机吗(小米充电器可以充苹果手机吗)

  • 探探活跃时间说明什么(探探上显示的活跃时间是准确的吗)

    探探活跃时间说明什么(探探上显示的活跃时间是准确的吗)

  • 苹果x充电口接触不好怎么办(苹果x充电口接触不灵敏修多少钱)

    苹果x充电口接触不好怎么办(苹果x充电口接触不灵敏修多少钱)

  • oppo手机怎么设置陌生号码打不进来(oppo手机怎么设置电池电量显示)

    oppo手机怎么设置陌生号码打不进来(oppo手机怎么设置电池电量显示)

  • 微信语音有回音是怎么回事(微信语音有回音是怎么回事 被监听)

    微信语音有回音是怎么回事(微信语音有回音是怎么回事 被监听)

  • 麒麟980和骁龙710差距(麒麟980和骁龙710谁好)

    麒麟980和骁龙710差距(麒麟980和骁龙710谁好)

  • ipad能外接鼠标吗(ipad能外接鼠标键盘吗)

    ipad能外接鼠标吗(ipad能外接鼠标键盘吗)

  • ps怎么解锁图层锁(ps怎样解锁图层)

    ps怎么解锁图层锁(ps怎样解锁图层)

  • 微信第二次封号封几天(微信第二次封号了,功能限制了什么)

    微信第二次封号封几天(微信第二次封号了,功能限制了什么)

  • 通常所说的计算机的主机是指什么(通常所说的计算机电脑配有多少内存)

    通常所说的计算机的主机是指什么(通常所说的计算机电脑配有多少内存)

  • 苹果公开版什么意思(苹果公开版和快充套装有什么区别)

    苹果公开版什么意思(苹果公开版和快充套装有什么区别)

  • 如何隐藏qq消息内容(如何隐藏qq消息提醒)

    如何隐藏qq消息内容(如何隐藏qq消息提醒)

  • 手机微信群怎么踢人(手机微信群怎么删除)

    手机微信群怎么踢人(手机微信群怎么删除)

  • pd双向快充是什么意思(pd快充和双向快充)

    pd双向快充是什么意思(pd快充和双向快充)

  • 小度在家支持腾讯视频吗(小度可以打开腾讯视频吗)

    小度在家支持腾讯视频吗(小度可以打开腾讯视频吗)

  • 华为拍照选哪个分辨率(华为拍照选哪个型号好)

    华为拍照选哪个分辨率(华为拍照选哪个型号好)

  • 华为magic book笔记本怎么下载软件(华为magicbook笔记本官网)

    华为magic book笔记本怎么下载软件(华为magicbook笔记本官网)

  • 朋友圈怎么把小人去掉(朋友圈怎么把小红点关掉)

    朋友圈怎么把小人去掉(朋友圈怎么把小红点关掉)

  • 退出微信群会提示吗(退出微信群会提示什么)

    退出微信群会提示吗(退出微信群会提示什么)

  • 网页加载不出来(为什么有的网页加载不出来)

    网页加载不出来(为什么有的网页加载不出来)

  • 无法访问您可能没有权限使用网络资源解决方法(无法访问您可能没有权限使用资源)

    无法访问您可能没有权限使用网络资源解决方法(无法访问您可能没有权限使用资源)

  • 艾琳多南堡,苏格兰 (© CBW/Alamy)(wnba艾琳娜多恩)

    艾琳多南堡,苏格兰 (© CBW/Alamy)(wnba艾琳娜多恩)

  • 个税要计提吗?
  • 增值税专用发票有效期是多长时间
  • 分期付款发票开具
  • 律师事务所的所训
  • 仓库盘亏怎么处理
  • 收取职工工会会费收据
  • 税控盘和税控钥匙一样吗
  • 政府补助确认递延所得税
  • 已核销的坏账又收回会计分录
  • 冲销以前年度营业外支出
  • 公司买车可以抵扣哪些税
  • 集团公司及子公司员工安排工作
  • 预付货款核销如何做会计摘要呢?
  • 对供应商的罚款怎么入账
  • 调表不调账最后会有什么问题
  • 收到一张建筑服务*施工费发票
  • 出口退税代理费用大概多少
  • 企业如何做好税务管理工作
  • 企业的不征税收入用于支出所形成的资产,其计算的折旧
  • 固定资产净残值是什么意思
  • 应付职工薪酬核算内容不包括
  • 电子商业承兑与银行承兑哪个好
  • 戴尔开启vt教程
  • window如何打开控制台
  • linux系统怎么安装网卡驱动
  • 如何在win7中查找文件
  • 预付账款补付货款分录
  • 重复确认收入是什么意思
  • PHP:mb_encode_numericentity()的用法_mbstring函数
  • 苹果电脑 浏览器
  • kb4579311安装失败
  • 借条怎么写有法律效力范本长期有效
  • taro-ui-vue3
  • anaconda虚拟机
  • phpstudy删除
  • 农业经营许可证范围
  • bert获取中文词向量
  • 基建账如何并入会计科目
  • 小程序官方组件展示
  • c语言的空指针
  • 季报弥补亏损,财报怎么填
  • 不接受商业承兑会怎么样
  • 商品流通企业库存商品的核算方法有以下几种
  • 工资是当月计提当月发放还是当月计提下月发放
  • 无锡政府回购安置房
  • 关于工程施工的法律法规
  • 携程代订住宿发票
  • 参展企业收到展览费用
  • 财务报表中预收账款
  • 工资可以当月发放当月计提吗
  • 汽车销售公司代购汽车有风险吗
  • 研发费用账务处理实例
  • 以前年度损益调整属于哪类科目
  • sql server常规错误
  • 三种实现方法实现的特点
  • window部署服务
  • mac的qq缓存在哪里怎么打开
  • win8系统本地连接在哪
  • iphone中的照片如何导入mac
  • eudcedit.exe
  • winxp系统和win7系统有什么区别
  • ubuntu root账户默认密码
  • Win7系统如何清理本地硬盘
  • winxp破解登录密码
  • linux磁盘分区表
  • Win10系统怎么使用经典事件查看器?
  • win10/win8.1/win7系统遇到中英文输入法无法切换怎么办?
  • 32/64位Win10预览版11102(中英日韩等)多国语言包官方iso镜像下载大全
  • win10英文版系统怎么完全改为中文
  • win10手写输入法怎么设置
  • opengl画矩形函数
  • node.js document
  • cocos2dx 3.3 tilemap 缩放滑动并且准确点击对象
  • javascript对象的种类
  • Shell中使用scp命令实现文件上传代码
  • 20行的python编程题
  • bud3d跑酷
  • javascript面向对象精要pdf下载
  • python djang
  • 无锡市高新区税务局张贤平
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设