MISC入门(信息附加二)

本文介绍了Hex编码和ASCII编码的区别,强调了Hex编码在二进制数据可视化和处理中的优势,同时给出了Linuxdd命令的基本用法和在解决信息安全挑战中的实例。涉及Hex转ASCII、文件分离和Exif信息提取等内容。
摘要由CSDN通过智能技术生成

一.知识点

1.hex编码

Hex编码(也称为十六进制编码)是一种将数据转换为十六进制表示形式的编码方法。与Base64编码不同,Hex编码使用16个字符来表示数据,这16个字符分别是0-9的数字和A-F的字母(不区分大小写,即a-f和A-F是等价的)。

特点:

字符集合:Hex编码使用的字符集是16进制的,包括数字0-9和字母A-F(或小写a-f)。每个字符代表一个4位的二进制数(即半字节)。

编码方式

:每个字节(8位)的数据被转换为两个Hex字符。第一个字符代表字节的高4位,第二个字符代表字节的低4位。

可读性:

Hex编码具有一定的可读性,特别是对于二进制数据来说。由于Hex编码使用人类熟悉的数字和字母来表示数据,因此它通常比直接显示二进制数据更容易理解。

应用:

Hex编码常用于表示二进制数据,特别是在需要直接查看或编辑二进制数据的场合,如硬件调试、网络通信、加密解密等。此外,许多编程语言中的颜色代码也是以Hex编码表示的。

安全性:

与Base64编码类似,Hex编码本身并不提供任何加密或安全性。它只是一种表示数据的方式,不改变数据的本质。

解码Hex编码就是将Hex字符转换回它们所代表的原始二进制数据。解码过程相对简单,就是将每个Hex字符转换回对应的4位二进制数,然后将这些二进制数组合起来形成原始的二进制数据。

需要注意的是,Hex编码和解码是可逆的,即可以通过编码将原始数据转换为Hex字符串,也可以通过解码将Hex字符串转换回原始数据,且不损失任何信息。
Hex编码(十六进制编码)和ASCII编码是两种不同的编码方式,它们之间存在以下主要区别:

2.ASCII与HEX区别


ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符集,它最初是为现代英语和其他西欧语言设计的。ASCII能够表示128个不同的字符,包括英文字母、数字、标点符号和控制字符。它主要用于文本信息的表示和交换。
 


应用场景:


ASCII编码主要用于文本数据的处理和交换,在计算机系统中广泛支持和使用。它是许多其他字符编码方案(如UTF-8)的基础。
Hex编码则常用于二进制数据的可视化表示、调试、以及需要直接操作二进制数据的场合(如硬件通信、加密解密等)。Hex编码使得二进制数据更易于人类阅读和理解。


编码方式:


ASCII编码将每个字符映射到一个唯一的7位或8位二进制数(尽管标准ASCII是7位,但通常使用一个字节即8位来存储,其中最高位为0)。
Hex编码则是将二进制数据每4位分组,然后转换为相应的Hex字符。这样,每两个Hex字符就能表示一个字节的信息。


可读性:


ASCII编码的文本对于人类来说是直接可读的,因为它直接表示了字符。
Hex编码对于二进制数据来说提供了更好的可读性,因为它将二进制数据转换为了人类更熟悉的十六进制表示形式。
总的来说,ASCII和Hex编码分别适用于不同的场景和需求。ASCII主要用于文本字符的表示和交换,而Hex编码则更适用于二进制数据的表示和处理。
Hex编码(十六进制编码)和ASCII编码是两种不同的编码方式,它们之间存在以下主要区别:

字符集与表示范围:


ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符集,它最初是为现代英语和其他西欧语言设计的。ASCII能够表示128个不同的字符,包括英文字母、数字、标点符号和控制字符。它主要用于文本信息的表示和交换。
Hex编码则是一种基于16进制的表示形式,使用16个不同的字符(0-9和A-F)来表示数值。Hex编码通常用于表示二进制数据,每两个Hex字符可以表示一个字节(8位)的信息。Hex编码能够表示任意二进制数据,不仅限于文本字符。

3.dd命令

介绍

1.)Linux dd 命令用于读取、转换并输出数据。
2.)dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

#相关解释

if 代表输入文件。如果不指定 if,默认就会从 stdin 中读取输入。
of 代表输出文件。如果不指定 of,默认就会将 stdout 作为默认输出。
bs 代表字节为单位的块大小。
count 代表被复制的块数。
/dev/zero 是一个字符设备,会不断返回 0 值字节(\0)

二.实例

misc13

使用010打开 看到了一段疑似flag的代码

将其转为16进制

隔一个字节删一个 (此过程用一个脚本来实现 即可得出本题flag)

misc14

首先打开010没发现什么

接着去kali里面用binwalk进行分离 发现分离不了 接着用dd命令 分离成功 即得出flag

misc15

使用010打开文件搜索flag即可得出

misc16

在kali中使用binwalk-e分离文件 在DD4中找到flag

misc18

题目提示:flag在标题、作者、照相机和镜头型号里。

所以查看属性

misc19

题目提示:flag在主机上的文档名里 使用网站查看:https://exif.tuchong.com/view/12432993

即可得到本题flag

misc20

与上一题相似提示是在comment里面 即可得出

misc21

题目提示:flag在序号里。 直接尝试 显示错误

把序列号放在随波逐流里面跑一下 显示hex(X&Ys) 查了一下 是要将结果转换为十六进制字符串。

观察查到的信息 发现与xy有关的两条信息 猜测应该是将这四个信息组合转换成16进制字符串,

结果转换出来的并不是flag 把四个信息分开进行转化 结果得到flag

misc22

按照之前的方法进行查找 没找到 查看wp发现应用MagicEXIF来打开图片 找到了flag

参考资料:

https://www.cnblogs.com/cH901512/p/17818070.html

https://blog.csdn.net/blog_programb/article/details/136062279

  • 24
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值