隐写术——计算机中数据隐藏的艺术

本贴最后更新于 997 天前,其中的信息可能已经沧海桑田

dog.png

当你看到上面这张图片时,你认为这是一张普通不过的图片。你使用肉眼读出了图片本身的信息,但诚然,它还隐藏着你看不到的信息。

将该图片使用 StegSolve 打开,将红绿蓝任一通道调整至 0 时,惊奇的一幕出现了,图片左上方多了一个二维码。

202208221403.gif

使用微信或其他扫码工具查看得到了如下内容。

image.png

其实该图片是通过将原图像素值的 n 个最低有效位替换为与二维码图片像素值相同数量的最高有效位所得到的。该方法也称为 LSB 隐写(最低有效位隐写),该兴趣的朋友可以自行科普这方面的具体知识。


当你听到上面这段音频时,你认为这只是一段普通不过的曲子。仅凭耳朵你只能听到声音表面的信息,其实它的信息远不止这些。

将该音频拖入 SilentEye 中,使用 Decode 尝试解码,我们得到了一串由 1、0 和\组成的字符串。

image.png

显然这串字符串还有更深层的含义。正当你没了头绪的时候,突然想到了可以用“—”代表 1,“.”代表 0,这样就组成了一串 摩斯电码

转换之如下所示:

---.-.--.-.----/---..-.--....-./--..--....-----/--..---...-----/-.-.--.--.--.--/-..----.--...../--....---....-./---.--.-....-..

此时使用在线摩斯电码转换器或其他工具,你惊奇地还原出了一句地球人都懂的暗语。

image.png

上述隐藏数据的方法原理类似于图片的 LSB 隐写。当然,音频还能通过波形来隐藏数据,但或许听着会有些刺耳。音频 + 摩斯码的组合也曾被用于谍战中。


info.zip

当你打开上面的这个压缩包时,你变得比先前更为谨慎,虽然其中只有一个文档,但你却仔细观察文档的每一个角落,生怕会错过任何重要的信息。

image.png

文中只有一行字,但你 Ctrl+A 全选文档后,似乎在中间选中了什么,恭喜你发现了信息之外的信息,这是一行隐藏的文字。

image.png

通过打开 Word 选项并勾选“隐藏文字”后,方可查看到被隐藏的信息。

image.png

image.png

但这真的就结束了吗?

显然没有这么简单,问题并不出在这个文档上,而是蕴藏在这个压缩包上。

image.png

将其拖进 winhex 查看其十六进制,可以看到底部有一部分数据较其他数据完全不同,它十分的工整有序。

image.png

这里不卖关子了,其实这是一串通过 Base64 加密的字符串,通过在线的解密软件即可获得最终的信息。

image.png

上述数据隐藏的方法是通过将两个文件合并到达的,你也可以通过文件分离工具将其分离。


本文只是浅显的讲述了隐写术的奥秘,除了上面所提到的数据隐写的方法,还有数不胜数的方法。

如果你也和博主一样对隐写术感兴趣的话,推荐学习和阅读书籍 《数据隐藏技术揭秘》,如果你想进一步学习隐写术,你可以通过练习 CTF 杂项,解出难题后你一定会惊呼玄妙。

文章编写与素材制作不易,忘转载时附上文章来源,谢谢!

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 1 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖 • 3 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    188 引用 • 1057 回帖 • 1 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖 • 2 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1742 回帖 • 7 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 2 关注
  • Follow
    4 引用 • 12 回帖 • 11 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    369 引用 • 1846 回帖 • 3 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 249 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 727 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    315 引用 • 547 回帖 • 1 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 432 关注
  • 笔记

    好记性不如烂笔头。

    310 引用 • 794 回帖
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    181 引用 • 821 回帖 • 1 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 3 关注
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 28 回帖 • 2 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 399 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 2 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    290 引用 • 4494 回帖 • 654 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    59 引用 • 25 回帖 • 3 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 113 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • danl
    167 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 60 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖