我的Linux系统上有这个二进制文件.

 udit@udit-Dabba ~ $ cat file.enc
 Salted__s�bO��<0�F���Jw!���]�:`C�LKȆ�l

使用hextump命令,我可以看到如下信息:

 udit@udit-Dabba ~ $ hexdump -C file.enc
 00000000  53 61 6c 74 65 64 5f 5f  1b 73 a1 62 4f 15 be f6  |Salted__.s.bO...|
 00000010  3c 30 cc 46 ee 10 13 11  84 bf 4a 77 21 a4 84 99  |<0.F......Jw!...|
 00000020  0e 5d ef 11 18 3a 60 43  a0 4c 4b 1e c8 86 e6 6c  |.]...:`C.LK....l|
 00000030

现在我得到了一个关于其他系统的文件,其内容如下:

 53 61 6c 74 65 64 5f 5f  1b 73 a1 62 4f 15 be f6
 3c 30 cc 46 ee 10 13 11  84 bf 4a 77 21 a4 84 99
 0e 5d ef 11 18 3a 60 43  a0 4c 4b 1e c8 86 e6 6c

我需要从这个十六进制转储中找出完全相同的二进制信息.

我要怎么做才能做到这一点呢?

如果没有任何switch ,那么C代码也可以很好地工作.

(但最好将Linux命令与某些switch 配合使用)

Limitation:

文件中的二进制信息是加密算法的输出,因此内容应该完全匹配.

推荐答案

按照@user786653的建议,使用xxd(1)程序:

xxd -r -p input.txt output.bin

C++相关问答推荐

为什么macOS上的FIFA管道比匿名管道慢8倍?

FFmpeg不检测比特流过滤器参数

如何从C中的公钥字符串创建EVP_PKEY

C sscanf没有捕获第二个参数

需要大整数和浮点数.使用long long int和long double

C编译器是否遵循restrict的正式定义?

将整数的.csv文件解析为C语言中的二维数组

无法用C++编译我的单元测试

为什么net/if.h在ifaddrs.h之前?

调用mProtection将堆栈上的内存设置为只读,直接导致程序SIGSEGV

为什么用非常数指针变量改变常量静态变量时会出现分段错误?

C I/O:在Windows控制台上处理键盘输入

理解bzip2的BZ2_解压缩函数中的状态重新分配

Wcstok导致分段故障

我应该在递归中使用全局变量吗

使用Open62541向OPCUA服务器发送读请求时内存泄漏

C23标准是否向后兼容?

If语句默认为true

在 C 中的 scanf() 格式说明符中使用宏获取字符串长度

C语言程序流程解释