什么是隐写术?

就编程来说,隐写的信息通过加密或混淆,其内容例如一张购物清单,一篇文章,一篇图画或者其他“伪装”(cover)的消息。
隐写的信息通常用一些传统的方法进行加密,然后用某种方法修改一个“伪装文本”(covertext),使其包含被加密过的消息,形成所谓的“隐秘文本”(stegotext)。例如,文字的大小、间距、字体,或者掩饰文本的其他特性可以被修改来包含隐藏的信息。只有接收者知道所使用的隐藏技术,才能够恢复信息,然后对其进行解密。

隐写的效果


图1: 这并非原图,copy使用无效

图2:在非特定环境中测试破坏效果,其背景为Image类型的无破坏,其image为解释性image图片类型的,达到了破坏效果

图3:将原图保存到手机相册中,打开后 无法预览。也无法查看到索引图
更高级写法可以保存后连图片都找不到,但它真实存在!

图4:如果你使用任何能够编译图片的工具尝试查看图片的原直方图,会提示错误,当你点击错误提示后,依然能够载入!
不同于其他加密混淆的写法,其他写法是不能正常预览和拖入工具中的。
将色系拉高,可以看到隐藏的第二个图片,3303那个蝴蝶。

实现原理


在UE中打开3303png,你也可以尝试你自己的任何png图片
必要知识
点击跳转隐写术入门
当你看完后,有了入门知识
回头来看 - IDHR- 整个图片的头部

结尾正常是 60 80,但是这里的是 60 0D 0A 82,似乎不太正常
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210423211814370.png
将多余的信息删除掉保存看下图片,然后在?这里,以十六进制编辑下,添加一个?再删除2个?号
保存预览图片,你会发现索引图被修改了。
没有修改的
随后将你的原图和已经乱码3/1的图片一起拖入UE中, 以对比模式打开
将两个编码全部改为 OEM模式

将你要修改的图片里的 所有正常的符号 如:, . / ? ; ’ “”{|——} 什么之类的,全部改为?

比较麻烦。你执行起来后,如果错了一个字符或者遗漏,都会造成图片无法正常显示了,而且再来一次恐怕会更难。所以尽量一次到位

为什么替换符号,它实现了什么?

所有的软件工具都是由各个编程语言组成的,那么它们的底层都是2进制或8进制或16进制,这不同于某些他们的组件,而在图片里替换的符号,没有改变图片的正常头尾体显示。所以基于显示 是可以正常显示的,比如在Windows下,而在Linux下就无法显示。但是基于Unix的系统又可以显示。很奇怪吧?
当然实现它肯定不是仅仅文章写得这么简单,还需要一些算法来实现对图片的转码,比如二值化,通道,傅立叶。


微乎其微很小的细节,这里有一些基本注意项
1.总十六进制的长度大小不能改变
2.总十六进制的编码必须适度的更改
3.总十六进制的编码改变后必须改变回去
4.图片的位图类型必须一致
把修改后的图片,放到分析器里面看看

位图为8bit,但事实上它是一个24位图
将图片拖入IDA里,将代码拉到最后

确认修改后的图片无误是 6082.

试图拖入PS中,无法查看;回到IDA中查看文件头

将’XtXML:com.adobe.xmp’整句noop掉


这样在图片解释器中,就能引用了,然后我们将它在网页中引用看看会怎么样
这里以浏览器作为调试语言为JS,实现快速预览


不论是什么浏览器,只要其是解释类型,统统可以利用,这一点

网页JS是解释型

在上图测试中,使用是正常的,而且是可以正常读取,但在显示时会被破坏
这里没有隐写CE,如果写入了CE,那么执行端将会在读取时就被执行释放!
换而言之,你看到了这个图片,就意味着你已经中了我的道。

在CocosCreator中使用

\3303.png, message: Error: vipspng: libpng read error
混编的解释器,无法直接使用这种图片,原因是不针对游戏

隐写术 能够做什么?

针对前端,我不方便多说什么,我是第一个实现的!隐写之王
针对所有有图片的地方!

我是大菠萝,欢迎各位切磋技术

有疑问或者问题尽管提问,或者PK一下
我很闲,没有工作的!!!!!

顶级隐写术,破坏一切解释器相关推荐

  1. python多线程操作字典_在Python中使用带有线程的全局字典

    Dirk.. 52 假设CPython:是的,不是.从多个并发读/写请求不会破坏字典的意义上来说,从共享字典中获取/存储值实际上是安全的.这是由于实现维护的全局解释器锁("GIL" ...

  2. 程序员必备的十大职业生存技巧,收藏保命!

    如果你想在众多程序员中脱颖而出,下面这个现象是值得你深思的:随着敏捷开发.开发运营和分布式版本控制系统的愈渐流行,开发的重心逐渐从个人能力向小组合作转移. 在大多数情况下,团队.部门和个人会自行解决问 ...

  3. java疯狂龙卷风游戏_疯狂龙卷风游戏手机版下载

    疯狂龙卷风,来体验最为刺激的黑洞游戏吧,跟着龙卷风一起肆掠城镇,游戏中玩家将分别操控不同的龙卷风,通过摧毁物品来壮大自身身躯,游戏中玩家的龙卷风可以互相冲击,拥有更大身躯的龙卷风将获胜,趣味十足,感兴 ...

  4. Python(十)模块与包

    1.构建一个模块的层级包 在文件系统上组织你的代码,并确保每个目录都定义了一个__init__.py文件 graphics/__init__.pyprimitive/__init__.pyline.p ...

  5. 中国顶级黑客45秒使用声音来破坏您的计算机

    近日,中国知名黑客教父,网络安全专家,东方联盟始创人郭盛华已经表明,您的文件可能会被声音损坏.那里已经有黑客窃取了破坏性的恶意软件,可以清除硬盘中的文件. 硬盘是一件奇迹般的事情,能够在极小的空间内存 ...

  6. 顶级“黑客”能厉害到什么地步?无信号也能上网,专家:高端操作!

    顶级"黑客"能厉害到什么地步?无信号也能上网,专家:高端操作! 随着时代的发展,科学技术不断飞升,网络时代占据了人们的日常生活.数据化时代的到来,串联了互联网与人类之间的密切联系, ...

  7. 设计模式之解释器模式(Interpreter)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  8. UC伯克利开源照片“隐写术”StegaStamp,打印照片能当二维码用!| 技术头条

    参加「CTA 核心技术及应用峰会」,请扫码报名 ↑↑↑ 作者 |CV君 来源 | 我爱计算机视觉(id:aicvml) 要说目前最火的用到手机摄像头的应用是什么,毫无疑问非二维码识别莫属了.微信带起来 ...

  9. 天昊Accu16S细菌绝对定量测序项目登陆顶级环境杂志《Journal of Hazardous Materials》...

    "昊"文章 期刊名: Journal of Hazardous Materials 使用技术: 微生物Accu16STM细菌绝对定量测序 近期,国际顶级环境科学类学术期刊<J ...

最新文章

  1. iSCSI软件套件 介绍
  2. CTreeCtrl标签的编辑
  3. 基于Android移动终端的微型餐饮管理系统的设计与实现2-侧滑菜单
  4. 【POJ2117】Electricity [tarjan 割点]
  5. CVPR 2021 分布对齐,长尾分布问题解决新思路
  6. QT每日一练day10:设计一个登陆界面
  7. Tomcat 工作原理【转】
  8. 关于文件上传,我要向struts提点意见
  9. Spring MVC框架-持久层用hibernate自动化(1)
  10. linux命令大全之ss命令详解(获取socket统计信息)
  11. SyntaxError: Non-ASCII character ‘\xe4‘ in file baseline.py on line 18, but no encoding declared;
  12. 关于win10优化问题
  13. 员工转正述职答辩问什么问题_新员工转正述职答辩PPT
  14. 电机控制方法以及区别
  15. Android 获取外网IP地址
  16. mysql 启动 spawn错误_supervisor ERROR (spawn error):错误解决
  17. 他励直流电机 | 根据铭牌参数估算结构参数
  18. Python学习笔记 | opencv图像处理(一)
  19. C语言初学基础篇:编译型语言和解释型语言
  20. 立足中国,聚焦欧洲,蔚来汽车的如意算盘真会打?

热门文章

  1. 智能工单处理,达观数据助力运营商实现业务流程智能化改造
  2. 前端开发者的福音!通过拖拽就可生成Vue代码的平台来了!
  3. com.sun.jersey.api.client.UniformInterfaceException:returned a response status of 403
  4. 【Codeforces 1096D】Easy Problem
  5. 洛谷 P1656 炸铁路
  6. 也来分析为什么支付宝要做社交
  7. javascript一些底层方法总结及用法
  8. ASP.NET MVC: 构建不带 Web 窗体的 Web 应用程序(转载)
  9. 计算机网络——差错控制
  10. 数据结构——队列的C++实现