MISC:杂项

一、文件类型识别

背景:遇到文件没有后缀,不知道文件类型。 

方法一、使用Linux中的file命令

原理:file命令会识别文件的文件头,通过文件头识别出文件类型。

命令格式:file <filename>

         而文件头则可通过010editor查看,以下是常见文件的文件头。

文件类型文件头
JPEG/JPG头:FF D8  FF E0 尾:FF D9
PNG

头:89 50 4E 47 0D 0A 1A 0A

尾:AE 42 60 82

标识:PNG

GIF

头:47 49 46 38 39(37) 61

尾:00 3B

TIFF/TIF头:49 49 2A 00
BMP头:42 4D 标识:BM
ZIP头:50 4B 03 04  标识:PK
RAR头:52 61 72 21
PSD头:57 41 56 45
PDF头:68 74 6D 6C 3E
WAV头:57 41 56 45
PCAP/PCAPNG头:4D 3C 2B 1A
XML头:3C 3F 78 6D 6C
HTML头:68 74 6D 6C 3E

二、文件内容残缺

背景:通常有时候遇到文件无法打开,可能是文件头部残缺或者文件头部字段错误。

 解决方法:需要通过给文件修复文件头,方可打开文件,所需要的工具010editor。

三、文件内容分离

1.BinWalk

背景:某些文件是由多个文件组成,而Binwalk可以分析文件是否由多个文件组成。

binwalk -e <filename> --run-an=root

输入binwalk获取指令更多信息

2.Foremost

formost  <filename>

输入formost -h 获得指令信息

安装:apt install foremost -y(Kali)

四、文件内容合并

背景:有时候文件会被拆成多份,可以通过文件合并,来获取flag。

1.copy(Windows) 

2.cat(Linux)

五、Exif隐写

背景:可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专⻔为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。

注:只有jpg格式的图片存在Exif信息。

解决方法:

        Windows:通过右键属性,查看详细信息,即可查看Exif信息。

        Linux:通过exiftool命令来查看详细信息。

                命令格式:exiftool <文件名>

六、双图层隐写

背景:图片含有多图层,信息图层隐藏在其他图层下,在使用16进制编辑器打开文件时会看到文件头部中包含firework标识。

解决方法:通过firework删除覆盖图片可以找到隐藏图片。 

七、双图对比隐写

背景:题目给出两张的图片外观、大小、像素都基本相同。

解决方法:

        使用工具:Stegsolve(该工具是基于Java的,需要配置Java8环境)

        操作:使用StegSolve将两个文件的像素RGB值进行XOR、ADD、SUB等操作,查看能否得到有用的信息。注意:先选第一张与先选第二张比较的结果不同。

八、LSB隐写

背景:一张图片是由众多的色块组成,每一个色块都由RGBA(三原色+透明度)组成,每一个字母都占8个比特位,修改8个比特位的最后一位,则不会影响图片导致人眼看不出来,通过这种方法,则可以每8个比特位隐藏1bit信息,通过将这些信息收集组合,即可得到隐藏信息,其中隐藏信息有可能是字符串、图片、压缩包等。

解决方法:使用 Stegsolve的Data Extract功能,选取需要收集的数位和收集顺序,来获取隐藏信息。

除此之外,还可以使用zsteg (kali)来提取信息。

 安装方法:命令行敲以下两个命令。

使用方法:zsteg <filename>

九、高度隐写

PNG数据结构格式

8个字节:89 50 4E 47 0D 0A 1A 0A 为png的文件头(固定)。

4个字节:00 00 00 0D(即为十进制的13)代表头部数据块的⻓度为13(固定)。

4个字节:49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)(固定)。

13位数据块

第一个数据块(IHDR代表该数据块的头): 49 48 44 52

前四个字节代表该图片的宽:00 00 00 08

后四个字节代表该图片的高:00 00 00 08

后五个字节依次为: Bit depth(图像深度)、ColorType(颜色类型)、Compression method(压缩方法)、Filter method(滤波器方法)、Interlace method(隔行扫描方法)

4个字节为png的CRC32检验码:36 21 A3 B8,由从从第12个字节到第28个字节的十七位字节进行CRC计算得到(可变)。

背景:图片显示不全,只有一半。

解决方法:要通过计算图片文件CRC值,计算出图片正确高度,修改高,恢复图片的正常高度。

十、二维码

二维码基本结构:

有时候当位置探测图形被遮挡时,二维码就扫不出来,此时就要修复二维码。还有时候二维码会黑白颜色反向(标志位置探测图形中间为白色),再颜色再反一下就可以了。 

十一、盲水印

 背景:数字水印技术,在数字化的数据内容中嵌入不明显w的记号。

 解决方法:
        工具使用:bwmforpy3.py(基于python3要安装对应环境)

        命令格式:python bwmforpy3.py decode 原图.png 合成后的图片.png 提出的水印.png --oldseed1

结果图: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 录屏操作

Android 录屏操作 本文主要介绍android中如何通过MediaRecorder实现录屏操作的. 1: 申请权限 <uses-permission android:name"android.permission.RECORD_AUDIO" /> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"…

计讯物联水库泄洪监测预警系统,保障水库安全度汛

近日&#xff0c;受台风外围环流影响&#xff0c;多地受到特大暴雨侵袭。因此水库泄洪是势在必行。泄洪作为水库防洪的重要方法之一&#xff0c;水库可通过其库容拦蓄洪水&#xff0c;在水库容量超出或下游需求的时候则开始实行泄洪&#xff0c;达到减免洪水灾害的目的&#xf…

画图实战-Python实现某产品全年销量数据多种样式可视化

画图实战-Python实现某产品全年销量数据多种样式可视化 学习心得Matplotlib说明什么是Matplotlib&#xff1f;Matplotlib特性Matplotlib安装 产品订单量-折线图某产品全年订单量数据数据提取和分析绘制折线图 产品订单&销售额-条形图某产品全年订单&销售额数据绘制条形…

TypeScript(六)条件类型,函数,装饰器

条件类型 TypeScript 中的条件类型是一种高级类型&#xff0c;它使我们根据不同的条件创建更复杂的类型。 TS中的条件类型就是在类型中添加条件分支&#xff0c;以支持更加灵活的泛型 条件类型允许我们根据某个类型的属性是否满足某个条件&#xff0c;来确定最终的类型。 type…

【智能算法】蜻蜓算法(DA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码实现4.参考文献 1.背景 2016年&#xff0c;Mirjalili受到蜻蜓静态和动态集群行为启发&#xff0c;提出了蜻蜓算法(Dragonfly algorithm, DA)。 2.算法原理 2.1算法思想 蜻蜓集群有两种行为目的&#xff1a;狩猎&#xf…

高端新颖知识竞赛活动方案

设计一场高端新颖知识竞赛活动&#xff0c;需要组织者用心策划&#xff0c;精心准备。下面这场竞赛设计新颖&#xff0c;可供大家组织竞赛活动时参考 。本竞赛分为“万箭齐发”、“城旗易主”、“群雄逐鹿”、“追风逐电”&#xff0c;四个环节&#xff0c;所有环节必须在主持人…

【CesiumJS-5】绘制动态路线实现飞行航线、汽车轨迹、路径漫游等

实现效果 前言 Cesium中&#xff0c;动态路线绘制的核心是借助CZML格式&#xff0c;CZML是一种用来描述动态场景的JSON数组,可以用来描述点、线、多边形、体、模型及其他图元,同时定义它们是怎样随时间变化的&#xff1b; CZML主要做三件事&#xff1a; 1.添加模型信息 2.添加…

如何在Linux系统部署APITable容器并实现无公网IP远程管理本地数据

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台&#xff0c;是一款面向 API 的智能多维表格。它将复杂的可视化数据库、电子表格、实时在线协同、低代码开发技术四合为一&am…

C#,蛇梯问题(Snake and Ladder Problem)的算法与源代码

1 蛇梯问题 Snake and Ladder Problem 给定一个蛇梯板,找出从源单元格或第一个单元格到达目标单元格或最后一个单元格所需的最小掷骰次数。基本上,玩家可以完全控制掷骰子的结果,并希望找出到达最后一个单元格所需的最小掷骰次数。 如果玩家到达的牢房是梯子的底部,玩家…

金融防线升级:构筑数据安全的不可逾越之墙

近日&#xff0c;中国人民银行专栏《金融科技支持高质量发展》指出&#xff0c;应不断增强金融行业的网络安全和数据安全保障能力&#xff0c;坚持总体国家安全观&#xff0c;持续完善金融网络安全、数据安全制度体系&#xff0c;依法开展金融业关键信息基础设施安全保护工作&a…

mac删除带锁标识的app

一 、我们这里要删除FortiClient.app 带锁 常规方式删除不掉带锁的 app【如下图】 二、删除命令&#xff0c;依次执行即可。 /bin/ls -dleO /Applications/FortiClient.app sudo /usr/bin/chflags -R noschg /Applications/FortiClient.app /bin/ls -dleO /Applications/Forti…

Wireshark4.2.3 x64 Setup20240313

参考&#xff1a;【抓包工具】win 10 / win 11&#xff1a;WireShark 下载、安装、使用&#xff08;https://blog.csdn.net/qq_39720249/article/details/128157223&#xff09; 文章目录 下载安装12 license 许可证3 donations&#xff1a;捐款4 Choose Components&#xff1…

算法-图的存储,图的转置,拓扑排序

1.图的存储 图用来对关系建模&#xff0e;图是节点和边构成的集合&#xff0e;节点反映图的元素集合&#xff0c;边反映图的元素集合中元素间的关系&#xff0e; 上述是由五个节点&#xff0c;三条边构成的结构&#xff0e;我们可以用图对其建模&#xff0e; 对由节点&#x…

【Python】Leetcode 240. 搜索二维矩阵 II - 削减矩阵+递归,击败88%

描述 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。 该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 思路 确定左右及上下限&#xff0c;削减矩阵&#xff0c;递归。 注意判断四个端…

API数据能力开放架构 数据api接口

一.API数据接口可以从几个不同的角度来看待&#xff1a; 1. 技术角度&#xff1a;API数据接口是一种技术实现&#xff0c;通常是以HTTP协议或其他网络协议为基础&#xff0c;并采用特定的数据格式&#xff08;如JSON或XML&#xff09;来传递数据。 2. 业务角度&#xff1a;API…

前端input上传文件 使用new FormData()同时上传文件类型和JSON数据

失败案例 async uploadFileHandler(e) {if (e.target.files.length) {const files e.target.files[0];let formData new FormData();formData.append("file", files);formData.append("module", "knowledge");fileupload(formData).then(res …

JVM探究

JVM探究 请你谈谈你对JVM的理解&#xff1f;java -> class -> jvm java 8虚拟机和之前的变化更新OOM 内存溢出。栈溢出 StackOverFlowError > 怎么分析JVM的常用调优参数 &#xff1f; 扩大内存内存快照如何抓取&#xff0c;怎么分析Dump文件&#xff1f;知道吗&…

SAP 生产订单中计划成本问题简介

最近财务在月结的时候,发现有生产订单结算的时候有物料不存在计划成本,并且财务顾问反馈这个问题已经存在有一段时间了。通过对生产订单的成本分析按钮查看生产订单的成本 发现确实存在有物料不存在计划成本,但是生产订单存在实际成本。 1、首先想到的是无计划成本的原材料…

C语言易错知识点:scanf函数

scanf在C语言学习中比较常用&#xff0c;但因为其涉及屏幕缓冲区导致有的时候会调入陷阱&#xff0c;下面分享一下常见的需要注意的事项&#xff1a; 1.输入末尾带有回车\n 当我们输入数据后&#xff0c;最后按下回车时&#xff0c;屏幕缓冲区的末尾都会含有这个字符 scanf的…

leetcode110.平衡二叉树

之前没有通过的样例 return语句只写了一个 return abs(l-r)<1缺少了 isBalanced(root->left)&&isBalanced(root->right);补上就好了 class Solution { public:bool isBalanced(TreeNode* root) {if(!root){return true;}int lgetHeight(root->left);i…