深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
听觉感知
- 听觉感受到的刺激是:能量、频率。遵从Fechner定律。
- 掩蔽效应:频域掩蔽、时域掩蔽
- 频域掩蔽阈值:人耳能感知的最低频率成分的声压级。
- 绝对听觉阈值:安静环境中,能被人耳感知的纯音最小值。
通信隐写模型
通信系统模型
隐写术安全模型
隐写术安全模型
数字水印空间模型
数字水印空间模型
典型隐写模型
典型隐写模型
- 评价隐写术的标准核心标准:隐蔽程度隐蔽程度越高,直接导致检测有效信息越困难
- 其他标准:隐写算法的好坏、隐写手段的复杂度、提取信息的难易度
隐写术分类
隐写术分类
CTF隐写术现状
CTF隐写术现状
LSB隐写介绍
一种常见的方式是利用LSB来进行隐写,LSB也就是最低有效位 (Least Significant Bit)。原理就是图片中的像数一般是由三种颜色组成,即三原色,由这三种原色可以组成其他各种颜色,例如在PNG图片的储存中,每个颜色会有8bit,LSB隐写就是修改了像数中的最低的1bit,在人眼看来是看不出来区别的,也把信息隐藏起来了。譬如我们想把’A’隐藏进来的话,如下图,就可以把A转成16进制的0x61再转成二进制的01100001,再修改为红色通道的最低位为这些二进制串。
红色通道最后一位被修改
每个通道都修改最后一位,修改8次就能隐藏一个ASCII码
如果是要寻找这种LSB隐藏痕迹的话,Stegsolv.e是个神器,可以来辅助我们进行分析。
注:jpg是有损压缩,无法LSB隐藏信息;png虽有压缩却是无损的,bmp没有被压缩,这两者都可用LSB隐藏信息。
0x10 工具介绍
- binwalk
Binwalk是一个固件的分析工具,多用于逆向工程、取证、隐写分析。更多…
$ binwalk firmware.bin //最简单的操作
$ binwalk --enable-plugin=zlib firmware.bin //有些签名无法识别,利用zlib插件扫描zlib压缩包可识别
$ binwalk -y filesystem firmware.bin //指定字符串“filesystem”搜索(正则),-Y 输出结果只包含文本字符串
$ binwalk -x filename firmware.bin //排除搜索结果中指定’filename’字符串(正则)
$ binwalk -y filesystem -x jffs2 firmware.bin //输出既包含’filesystem’又排除’jffs2’的字符串
$ binwalk --dd=‘zip archive:zip:unzip %e’ firmware.bin //:[:]. type 是签名中描述的小写字符串(支持正则表达式);extension 是将数据保存到磁盘时使用的文件扩展名;command 是当数据已保存到磁盘后可选的命令执行语句
$ binwalk -e firmware.bin //自动提取
$ binwalk --extract=./my_extract.conf firmware.bin //自定义提取规则’my_extract.conf’
$ binwalk -Me firmware.bin //递归提取(8层)
$ binwalk -A firmware.bin //扫描与功能相关联的各种框架操作码
$ binwalk -W firmware1.bin firmware2.bin firmware3.bin //比较, 在文件当中相同字节的是绿色显示,不同的是红色显示,蓝色表示只是有些文件当中的不同部分
$ binwalk -S firmware.bin //字符串搜索
$ binwalk -E firmware.bin //熵分析
$ binwalk -AE firmware.bin //签名或字符串以及熵分析
$ binwalk --heuristic firmware.bin //启发式扫描, 加密或压缩的高熵的数据块进行分类
$ binwalk --list-plugins //插件列表
$ binwalk --enable-plugin=foo firmware.bin //启用插件扫描
$ binwalk --disable-plugin=foo firmware.bin //禁用插件扫描
$ binwalk -f binwalk.log firmware.bin //日志记录功能
$ sudo binwalk -u //升级binwalk
- WinHex
Winhex是在Windows下执行的十六进制编辑软件,此软件功能很强大,有完好的分区管理功能和文件管理功能。能自己主动分析分区链和文件簇链。在CTF中一般用来查看文件头格式、直接修改16进制数据,等等。更多…
- 010 Editor
010 Editor是一款非常强大的文本/十六进制编辑器,除了文本/十六进制编辑外,还包括文件解析、计算器、文件比较等功能,但它真正的强大之处还在于文件的解析功能。我们可以使用010Editor官方网站提供的解析脚本(Binary Template)对avi、bmp、png、exe等简单格式的文件进行解析,当然也可以根据需求来自己编写文件解析脚本。
- Stegsolve
Stegsolve是一款图片分析工具,具体功能如下:
功能
- Stegdetect
stegdetect是一种数字图像隐写分析工具,主要实现JPEG图像的隐秘信息的嵌入的检测。更多…
功能:
q – 仅显示可能包含隐藏内容的图像
n – 启用检查JPEG文件头功能,以降低误报率。如果启用,所有带有批注区域的文件将被视为没有被嵌入信息。
如果JPEG文件的JFIF标识符中的版本号不是1.1,则禁用OutGuess检测。
s – 修改检测算法的敏感度,该值的默认值为1。检测结果的匹配度与检测算法的敏感度成正比,
算法敏感度的值越大,检测出的可疑文件包含敏感信息的可能性越大。
d – 打印带行号的调试信息。
t – 设置要检测哪些隐写工具(默认检测jopi),可设置的选项如下:
j – 检测图像中的信息是否是用jsteg嵌入的。
o – 检测图像中的信息是否是用outguess嵌入的。
p – 检测图像中的信息是否是用jphide嵌入的。
i – 检测图像中的信息是否是用invisible secrets嵌入的。
- ffmpeg
ffmpeg作为媒体文件处理软件,基本用法:
ffmpeg -i INPUTfile [OPTIONS] OUTPUTfile
输入输出文件通常就是待处理的多媒体文件了。可以是纯粹的音频文件,纯粹的视频文件,或者混合的。ffmpeg支持绝大部分的常见音频,视频格式,像常见的mpeg,AVI封装的DIVX和Xvid等等,具体的格式支持列表可以使用ffmpeg -formats查看或直接查阅文档。更多…
- MSU Stego
用于对 AVI 文件进行隐写\提取操作. 官方介绍如下:
MSU StegoVideo allows hiding any file in a video sequence.Different popular codecs were analyzed and an algorithm, providing the smallest data loss after compression, was chosen. Convolutional codes with Viterbi decoding are used to correct occurred errors. 更多…
Main features
Small video distortions after hiding info.
It is possible to extract info after video compression.
Information is protected with passcode.
- QR Reader
二维码扫描工具可自定义参数,可以自动识别二维码反色,自动识别电脑屏幕二维码,识别率比手机扫码高,非常强大。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
4759)]
[外链图片转存中…(img-p1BvkD6t-1715807594759)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!