2019独角兽企业重金招聘Python工程师标准>>>

比如我们现在有一个视频Video.mkv,我们想隐藏它,那么我们可以找一张背景图片谣言.jpg, 把他们放在同一目录下:

Video.mkv打包成压缩包Video.rar,为什么要打包呢? 因为这是为后面解压服务得~

在该目录下编写bat文件:

copy  /b  谣言.jpg+Video.rar 谣言2.jpg

双击运行压缩.bat,我们可以看到目录下生成了一张谣言2.jpg的图片,看看大小,整合等于压缩包文件和图片文件总和~

最后,那如何还原原文件呢?? 很简单,直接将文件后缀改为rar压缩包文件进行解压就可以了,因为rar解压有个专属的开始位置,解压程序会读到开始位置的标识符才执行解压程序,应该前面的jpg二进制会被忽略。

当然如果你希望获得更强大的加密可以自己编写加密解密策略。

附上Python代码: github地址 加密

#coding:utf-8import click
import random@click.command()
@click.option('--background', prompt=True, help='输入用于隐藏的背景图片文件.')
@click.option('--encryptfile', prompt=True, help='输入需要加密的文件.')
def encryptfile(background, encryptfile):seed = random.randint(1024, 2048)seeds = []for i in range(seed):seeds.append(random.randint(1, 128))confusion = bytes(seeds)with open(background, 'rb') as fr_bg:bg_body = fr_bg.read()with open(encryptfile, 'rb') as fr_enc:enc_body = fr_enc.read()confusion_bytes_index = random.randint(1, len(enc_body)//2)objectfile = "encry_%d_%d_%d_"%(len(bg_body), len(confusion), confusion_bytes_index) + backgrounddata = bg_body + confusion + enc_body[confusion_bytes_index:] + confusion + enc_body[:confusion_bytes_index]print(len(bg_body)+len(confusion))print(len(enc_body[confusion_bytes_index:]))print(len(enc_body[:confusion_bytes_index]))print(len(bg_body)+2*len(confusion)+len(enc_body[confusion_bytes_index:]))print(len(data))with open(objectfile, "wb") as fw_obf:fw_obf.write(data)if __name__ == "__main__":encryptfile()

解密:

#coding:utf-8import click@click.command()
@click.option('--inputfile', prompt=True, help='输入文件名及路径.')
@click.option('--outputfile', prompt=True, help='输出文件名及路径.')
def decryptFile(inputfile, outputfile):decryptfile = outputfileencryptfile = inputfileencrypt = encryptfile.split("_")bg_length, confuse_length, confusion_bytes_index = int(encrypt[1]), int(encrypt[2]), int(encrypt[3])headerindex = bg_length + confuse_lengthwith open(decryptfile, "wb") as fw:with open(encryptfile, "rb") as fr:data = fr.read()frist_data_num = len(data)-(headerindex + confusion_bytes_index + confuse_length)frist_data = data[-confusion_bytes_index:]second_data = data[headerindex:headerindex+frist_data_num]print(headerindex + confusion_bytes_index + confuse_length)print(len(frist_data),len(second_data))fw.write(frist_data+second_data)if __name__ == "__main__":decryptFile()

转载于:https://my.oschina.net/Kanonpy/blog/3028513

通过jpg图片隐藏文件相关推荐

  1. 分离图片中的隐藏文件方法总结

    文章目录 前言 1.图片分析: 2.如何分离: 2.1.binwalk 分离: 2.2.foremost 工具分离: 2.3.hex编辑器分离: 2.4.改后缀名: 前言 CTF中经常会碰见图片隐藏文 ...

  2. 怎么用matlab保存音频文件,Matlab用图片和音频藏文件(续)

    上一篇文章讲到通过Matlab实现图片隐藏文件,这一篇我使用C#调用Matlab编译的.Net程序集构建了一个小的应用程序. 原理很简单,使用上一篇文章中的Matlab代码,写成两个函数,分别用来隐藏 ...

  3. linux++查找隐藏文件,使用find命令查找Linux中的隐藏文件的方法

    我们可以在Linux 或者 Unix 系统上使用 find 命令去查询所有(全部)隐藏文件 基本语法如下: 复制代码 代码如下: [root@dabu.info ~]#find /要查找的文/件/夹/ ...

  4. 防灾科技学院GKCTF2020_misc wp

    GKCTF_2020_misc 0x01 签到 0x02 问卷调查 0x03 Pokémon 0x04 code obfuscation 0x05 Harley Quinn 0x06 Sail a ...

  5. ISCC_2021_WP

    练武题 MISC 小明的宠物兔 检查一下 美人计 李华的红包 Retrieve the passcode 海市蜃楼-1 我的折扣是多少 MISC 小明的宠物兔 题目: 小明的宠物兔总是发出一些神秘的声 ...

  6. Dest0g3 520迎新赛webmisc

    目录 <1> Web (1) phpdest (2) EasyPHP (3) ezrce (4) funny_upload (5) easySSTL (6) ezzip <2> ...

  7. WEB全套资料 干货满满

    sql注入 MySql MySQL False注入及技巧总结 MySQL 注入攻击与防御 sql注入学习总结  SQL注入防御与绕过的几种姿势 MySQL偏门技巧 mysql注入可报错时爆表名.字段名 ...

  8. 图片图层隐写_【软件】imageIN · 图影-隐藏文件到图片,简单轻快的图片隐写工具...

    还记得以前的图种制作吗,今天给大家分形下一个相关的工具. 度盘下载(imageIN Beta1.0 (2.18MB)) :pan.baidu.com/s/1hqve8YS 官网下载:本地下载 这是一个 ...

  9. 隐藏文件到图片或音频中——Kali linux Steghide工具

    1. 介绍 Kali Linux操作系统通常被一些安全专家和网络罪犯用来做渗透和审计工作,但是除此之外,这里介绍一个另外的特别的功能:将目标文件隐藏到图片或者音频中.(看起来好诱人的样子,有没有跃跃欲 ...

最新文章

  1. SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现
  2. Angular自学笔记(?)TemplateRef和ViewContainerRef
  3. MATLAB库函数unwrap(相位解卷绕)的C语言实现
  4. charles抓包工具使用指南
  5. uniapp 刷新后数据都没有了_环境温度传感器都没有连接,竟然还会有数据?
  6. 基于WF设计业务流程平台_权限在流程模板外部映射
  7. 微信小程序page设定css,微信小程序——启动,渲染与Page
  8. js正则替换字符串中的变量为变量的值
  9. 算法 Tricks(四)—— 判断序列中的字符/数值是否交替出现
  10. 沪江前端由H5页面引起的一场前端数据结构讨论
  11. ajax-page局部刷新分页实例
  12. Github 2019 年最值得关注的数据科学项目 Virgilio(维吉尔) 中文版
  13. 谷歌断网小游戏代码粗略解析
  14. Mysql官网下载教程
  15. fireworks html制作,fireworks怎么制作网页
  16. Linux 任务计划的三种实现方式(at、batch、cron)
  17. 安防想要抢食智能家居大蛋糕 应该如何转型?
  18. 二维码:Data Matrix和QRCode
  19. 中国流动人口动态监测调查数据(CMDS)2010-2018年
  20. makefile教程_Makefile教程

热门文章

  1. uniapp微信小程序数据导出表格
  2. python request url json和多层嵌套
  3. 机器学习: 如何防止过拟合
  4. 不安装任何软件,能否在线查看CAD图纸
  5. 上拉电阻和下拉电阻_以按键举例
  6. 风变编程python小课怎么样_风变编程Python小课最近很火,大家学完感受如何?
  7. 数字图像处理第四章——图像复原(下)
  8. linux vi/vim三种模式,保存退出,强制退出
  9. 关于Swagger报错java.lang.NumberFormatException: For input string: 的总结
  10. js字符串的大小写转换函数