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

  • 华为荣耀v20对比iqoo(荣耀v20和华为)

    华为荣耀v20对比iqoo(荣耀v20和华为)

  • 手机右上角显示电话hd的情况是什么(手机右上角显示耳机怎么关闭)

    手机右上角显示电话hd的情况是什么(手机右上角显示耳机怎么关闭)

  • 陌声到底能不能解封(陌声还能用吗)

    陌声到底能不能解封(陌声还能用吗)

  • 微信怎么看出对方把你删了了(微信怎么看出对方把你删了还是拉黑)

    微信怎么看出对方把你删了了(微信怎么看出对方把你删了还是拉黑)

  • z490主板支持什么cpu(z490主板支持什么硬盘)

    z490主板支持什么cpu(z490主板支持什么硬盘)

  • 荣耀x10发布会具体时间(荣耀x10新闻发布会)

    荣耀x10发布会具体时间(荣耀x10新闻发布会)

  • 微信登录的时候显示英文(微信登录的时候显示在另一台登录怎么办)

    微信登录的时候显示英文(微信登录的时候显示在另一台登录怎么办)

  • plc继电器输出和晶体管输出的区别(继电器控制电路图)

    plc继电器输出和晶体管输出的区别(继电器控制电路图)

  • 三星s10能不能用25瓦快充(三星s10能不能用北斗导航)

    三星s10能不能用25瓦快充(三星s10能不能用北斗导航)

  • win10右键菜单无法弹出(win10右键菜单没反应)

    win10右键菜单无法弹出(win10右键菜单没反应)

  • wps表格拆分单元格(wps表格拆分单元格一分三)

    wps表格拆分单元格(wps表格拆分单元格一分三)

  • ipad第七代什么时候出(ipad第七代什么处理器)

    ipad第七代什么时候出(ipad第七代什么处理器)

  • 苹果11为什么没有电池百分比(苹果11为什么没有专注模式)

    苹果11为什么没有电池百分比(苹果11为什么没有专注模式)

  • 前程无忧简历怎么撤销(前程无忧简历怎么删除)

    前程无忧简历怎么撤销(前程无忧简历怎么删除)

  • 苹果11pro信号有改善吗(iphone11pro信号差到爆)

    苹果11pro信号有改善吗(iphone11pro信号差到爆)

  • 电脑乘号怎么打(电脑乘号怎么打出来快捷键)

    电脑乘号怎么打(电脑乘号怎么打出来快捷键)

  • 蜂窝数据一直字节为0(蜂窝数据一直是个e)

    蜂窝数据一直字节为0(蜂窝数据一直是个e)

  • 怎么更新app版本(如何更新手机app版本)

    怎么更新app版本(如何更新手机app版本)

  • iphonex如何实现双卡(iphonex如何实现双卡双待)

    iphonex如何实现双卡(iphonex如何实现双卡双待)

  • 怎样设置手机锁屏密码和图案(怎样设置手机锁屏显示时间)

    怎样设置手机锁屏密码和图案(怎样设置手机锁屏显示时间)

  • 微信如何把钱转到银行卡(微信如何把钱转到支付宝没有银行卡)

    微信如何把钱转到银行卡(微信如何把钱转到支付宝没有银行卡)

  • 怎么用手机开电视(怎么用手机开电动车)

    怎么用手机开电视(怎么用手机开电动车)

  • 在win7系统中无法创建文件夹怎么办?(win7系统为什么没有无线网络连接)

    在win7系统中无法创建文件夹怎么办?(win7系统为什么没有无线网络连接)

  • 蝴蝶兰的养殖方法和注意事项 (图文)(蝴蝶兰的养殖方法和注意事项 盆栽蝴蝶兰烂根)

    蝴蝶兰的养殖方法和注意事项 (图文)(蝴蝶兰的养殖方法和注意事项 盆栽蝴蝶兰烂根)

  • 唐朝的两税法是什么
  • 政府补贴的账务属于哪个科目
  • 个税哪种申报方式计税最好
  • 个体户的附加税表怎么填写
  • 公司给员工购买意外险怎么做账
  • 城市生活垃圾费是业主出还是物业出
  • 管家婆未开账可以录入单据吗
  • 外籍个人工资薪金汇出境
  • 劳动保护费通过什么确认
  • 工业企业外购存货的入账价值一般包括增值税吗
  • 申报过的印花税怎么删除
  • 企业购进货物发生的下列相关税费中,应计入货物
  • 大米加工厂加工技术培训总结
  • 分公司是否可以贷款
  • 一般纳税人房租没有发票怎么办
  • 法人股东获得分红的规定
  • 开给客户的发票对方已认证
  • 土地在会计中怎么处理
  • 各行业增值税税负率表2022年
  • 发票未到计提房租费用会计分录
  • iphone制造成本
  • 货币资金资产处置损益表如何填
  • nclaunch.exe - nclaunch进程有什么用 是什么意思
  • 买股指期货有什么条件
  • php单例模式例子
  • 给企业法人缴纳社保流程
  • 购买免税农产品可以抵扣进项税
  • vue click触发两次
  • 新罕布什尔州的邮政编码
  • 出售低值易耗品的成本
  • 劳务报酬个税计算器2021计算器
  • 工业 智能
  • 来料加工成品如何入库
  • 普通发票收款人填管理员可以吗
  • 计提预付账款会计分录
  • 金蝶软件资产负债表怎么生成
  • 税控盘抵扣怎么做账
  • 延迟开票如何规避风险
  • 结转本期损益怎么看亏损
  • 两个mysql冲突怎么办
  • 短期借款属于经营活动还是筹资活动
  • 财务报表年报应怎么做
  • 血液制品增值税税率
  • 生产部门包括
  • 委托开户银行发放上月工资
  • 小企业会计准则适用于哪些企业
  • 背书的行为
  • 个体户和公司的税收相差多少
  • 销售设备提供安装服务
  • 长期股权投资股利确认时间点
  • 个体工商户不经营需要税务登记吗
  • 以存货抵偿债务
  • 银行承兑汇票怎么做账务处理
  • 哪些行业可以开收购发票
  • 劳务费免税发票怎么开
  • 关于发票丢失的处罚
  • 工程款结清确认书模板
  • 私人边际成本怎么算
  • sqlserver高级教程
  • xp系统怎么设置系统启动项
  • 苹果mac系统怎么截屏快捷键
  • win7连接宽带
  • windows系统后台不显示QQ等软件(任务栏右侧不显示QQ图标)
  • mac怎么设计网页
  • steam怎么sl
  • u盘设置背景音乐怎么弄
  • mmtray2k.exe有什么作用 是什么进程 mmtray2k进程查询
  • WIN7系统如何恢复出厂系统
  • win8快速启动怎么开启
  • 简单的jquery插件实例
  • 输出语句的执行过程
  • unity3d坐标系
  • jQuery+formdata实现上传进度特效遇到的问题
  • python爬取某人所有朋友圈
  • 纸质发票怎么查电子发票
  • 青岛地税局 局长
  • 长春税务局待遇如何
  • 营业税发票现在可以冲红么
  • 电信宽带绑定的手机号怎么解除绑定
  • 领完发票后 怎么读取
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设