syscalls1

syscalls1

  1. 学***d的使用,提交至少3个应用截图
  2. xxd的主要功能是什么?需要使用什么系统调用来实现?写出你的推导过程,命令
  3. 写出实现xxd的伪代码

学***d的使用,提交至少3个应用截图

xxd

如果没有任何参数,xxd命令默认将文件内容按16进制的方式显示出来,并在右侧配合翻译

xxd -b

以2进制的方式显示内容

xxd -l

显示长度

xxd推导

xxd主要功能

在linux中使用man xxd可以查看帮助手册

翻译过来就是:xxd创建给定文件或标准输入的十六进制转储。它还可以将十六进制转储转换回其原始二进制形式。与uuencode(1)和UUEdecode(1)一样,它允许传输二进制数据,在“邮件安全”ASCII表示中,但具有解码为标准输出的优势。此外,它还可用于执行二进制文件修补。

即xxd可以将文件以16进制或2进制转储。

xxd的系统调用

  1. 首先使用命令man -k file|grep hex,结果没有发现对应的系统调用(系统调用为2)

  2. 想到可以直接用open,read,write,close结合编程来实现

xxd伪代码

  1. 使用open打开文件
  2. 使用read保存文件并保存在数组中
  3. 用编写的转换函数将read的内容转为16进制
  4. 用write将转换好的16进制写入到文件
posted @ 2021-10-25 10:39  20191322  阅读(45)  评论(0编辑  收藏  举报