hexdump

How to convert hexadecimal hash into binary at terminal?

▼魔方 西西 提交于 2021-01-29 19:25:15
问题 Main question: How to use xxd -r ? Secondary details. This command outputs a hexadecimal hash: openssl dgst -sha256 myFile | awk '{print $2}' > myHashHex I suppose that myHashHex is a "hexdump", isn't it? I thought that xxd -r < myHashHex will convert... Well, it does not work . NOTES To test/compare. I think that this is the same (no headers) in binary: openssl dgst -sha256 -binary myFile > myHashBin So, I expected that xxd -r < myHashHex > newHashBin generates newHashBin = myHashBin . PS:

Searching for hex in scapy packet

别等时光非礼了梦想. 提交于 2021-01-27 13:40:44
问题 I am trying to search for a hex sequence in the UDP payload (ISAKMP) of a packet. the packet is being loaded from a pcap. If I use show() or show2() then the output is in type bytes which I can't use. the closest I have come is by using hexdump, but it comes out as 3 colums over multiple lines and I just want the middle column in a nice long string. I've tried hexlify, encoding and decoding, and .format and I can't get something that makes sense. thanks for your help 回答1: You can use hexlify

迅为IMX6ULL开发板Linux INPUT子系统实验-运行测试

廉价感情. 提交于 2020-12-19 08:04:01
输入设备总类繁杂,包括按键,键盘, 触摸屏 ,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出来,简化驱动的开发,建立了一个 Input 子系统。用户只需要根据内核提供的 input 子系统下提供的 API 函数接口,完成设备的注册即可。在本章节中我们来学习一下如何使用 Linux 内核中的 input 子系统。 1.运行测试 1.1 编译驱动程序 和前面章节中驱动测试程序一样需要一个 Makefile 文件,只是将 obj-m 的值改为 key_input.o,Makefile 文 件内容如下: KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga CURRENT_PATH := $(shell pwd) obj-m := key_input.o build: kernel_modules kernel_modules: $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules clean: $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean 首先我们在终端输入两个命令(设置两个环境变量): export ARCH=arm export CROSS_COMPILE=arm-linux

006. 文本处理工具 P2 (常见文本处理工具)

北城以北 提交于 2020-11-13 09:53:34
1 常见文本处理工具 cat -E:显示行结束符$ -A:显示所有控制符 -n:对显示出的每一行进行编号 -b:非空行编号 -s:压缩连续的空行成一行 [root@localhost ~]# cat a -A $ localhost.localdomain$ a b c$ a ^I^I d$ [root@localhost ~]# cat a -E $ localhost.localdomain$ a b c$ a d$ [root@localhost ~]# cat a -n 1 2 localhost.localdomain 3 a b c 4 a d [root@localhost ~]# cat a -b 1 localhost.localdomain 2 a b c 3 a d 4 c ### nl 相当于cat -b [root@localhost ~]# nl b 1 a 2 b 3 c 4 b 5 e 6 f ### tac 逆向显示文本内容 [root@localhost ~]# tac b f e b c b a ### rev 将同一行的内容逆向显示 [root@localhost ~]# echo {1..10} | rev 01 9 8 7 6 5 4 3 2 1 ### hexdump 查看非文本文件内容 [root@localhost ~]#

Linux下分析bin文件的10种方法

你离开我真会死。 提交于 2020-10-03 12:26:36
这世界有10种人,一种人懂二进制,另一种人不懂二进制。 ——鲁迅 大家好,我是良许。 二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理。这里所讲的二进制文件,是指一些可执行文件,包括你天天要使用的 Linux 命令,也是二进制文件的一种。 Linux 系统给我们提供了非常多用于分析二进制文件的工具,不管你在 Linux 下从事的是何种工作,知道这些工具也会让你对你的系统更加了解。 在本文中,将介绍几种最常用的用于分析二进制文件的工具及命令,这些工具在大部分发行版里可以直接使用,如果不能直接用的话,可以自行安装。 file file 命令用于分析文件的类型。 如果你需要分析二进制文件,可以首先使用 file 命令来切入。我们知道,在 Linux 下, 一切皆文件 ,但并不是所有的文件都具有可执行性,我们还有各种各样的文件,比如:文本文件,管道文件,链接文件,socket文件,等等。 在对一个文件进行分析之前,我们可以首先使用 file 命令来分析它们的类型。当然除此之外,我们还可以看到一些其它信息。 $ file /bin/pwd /bin/pwd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux

Hexdump reverse command

为君一笑 提交于 2020-08-22 20:39:43
问题 The hexdump command converts any file to hex values. But what if I have hex values and I want to reverse the process, is this possible? 回答1: There is a similar tool called xxd . If you run xxd with just a file name it dumps the data in a fairly standard hex dump format: # xxd bdata 0000000: 0001 0203 0405 ...... Now if you pipe the output back to xxd with the -r option and redirect that to a new file, you can convert the hex dump back to binary: # xxd bdata | xxd -r >bdata2 # cmp bdata bdata2

Linux下分析bin文件的10种方法

送分小仙女□ 提交于 2020-08-04 20:20:32
这世界有10种人,一种人懂二进制,另一种人不懂二进制。 ——鲁迅 大家好,我是良许。 二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理。这里所讲的二进制文件,是指一些可执行文件,包括你天天要使用的 Linux 命令,也是二进制文件的一种。 Linux 系统给我们提供了非常多用于分析二进制文件的工具,不管你在 Linux 下从事的是何种工作,知道这些工具也会让你对你的系统更加了解。 在本文中,将介绍几种最常用的用于分析二进制文件的工具及命令,这些工具在大部分发行版里可以直接使用,如果不能直接用的话,可以自行安装。 file file 命令用于分析文件的类型。 如果你需要分析二进制文件,可以首先使用 file 命令来切入。我们知道,在 Linux 下, 一切皆文件 ,但并不是所有的文件都具有可执行性,我们还有各种各样的文件,比如:文本文件,管道文件,链接文件,socket文件,等等。 在对一个文件进行分析之前,我们可以首先使用 file 命令来分析它们的类型。当然除此之外,我们还可以看到一些其它信息。 $ file /bin/pwd /bin/pwd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux

Linux od与hexdump命令

那年仲夏 提交于 2020-05-06 03:39:16
od命令:以指定格式输出文件内容 常用格式:od -Ax -tx1 filename 直接格式:od filename 等价 od -o filename 语法:od [-abcdfsiloxv] [-An] [-jn] [-Nn] [-tn] [-wn] [--help] [--version] [file] #其中-A,-j,-N,-t后面可以加空格再接n,即-A n,-j n,-N n,-t n,而-w后面必须直接接n。 -A:指定地址偏移量的进制格式,d,o,x,n,十进制,八进制,十六进制,不打印地址偏移,默认八进制 -j:跳过n个字节 -N:限制读入,只从文件读入前n个字节 -t:输出格式,a,c,d[n],f[n],o[n],u[n],x[n],ASCII码(特殊字符用缩写表示),ASCII码(特殊字符用转义字符方式表示),有符号十进制整数(每个整数n字节),浮点数,八进制,无符号十进制整数,十六进制 -w:显示的宽度(列数) -a:等价-t a -b:等价-t o1 -c:等价-t c -d:等价-t u2 -f:等价-t fF -i:等价-t dI -l:等价-t dL -o:等价-t o2 -s:等价-t d2 -x:等价-t x2 -v:不使用*标记重复行(默认,如果输出的连续几行相同,从第二行开始的重复行用*标记) PS:-tn中对于n为d,o,u,x有C

Linux-MBR

☆樱花仙子☆ 提交于 2020-04-28 15:33:45
4. 文件系统 本章同步视频: https://edu.51cto.com/sd/e4874 4.2 主引导记录MBR(Master Boot Record) 1.MBR 简介 硬盘的0柱面、0磁头、1扇区称为主引导记录MBR(Master Boot Record),它由三个部分组成,主引导程序(boot loader)、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。 在总共512字节的主引导扇区里主引导程序占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。 mbr 是独立于操作系统的,地位与分区表同级,所以,格式化任何分区内都影响不到他, 包括ghost备份,还原。 bios检测到一个硬盘后,将硬盘的0柱面、0磁头、1扇区的内容经过简单判断后,读取至内存中的指定位置,然后跳转至这个位置,开始从这个位置运行。 2. 查看MBR内容 字节偏移(16进制) 字节数 描述 00~1BD 446 引导代码 1BE~1CD 16 分区表项1 1CE~1DD 16 分区表项2 1DE~1ED 16 分区表项3 1EE~1FD 16 分区表项4 1FE~1FF 2 签名值“55AA” [root

为什么给Java代码加个空行,class文件就翻脸不认人了?

这一生的挚爱 提交于 2020-02-28 07:12:13
为了写出这几行优美的代码,主要是为了让它输出优美动听的乐符,我下了一番功夫。你不要觉得简单,我把它打印出来给普通的保洁阿姨去看,阿姨竟然连xjjdog都认不出来。别说代码了,中英文混血,就秒杀一大堆高干分子。 public class HelloWorld { public static void main(String[] args) { System.out.println("love xjjdog"); } } 想说爱我就那么难么?怎么这么多的废话呢?这次探讨的主要问题是,给Java源文件加个空行之后,它生成的字节码,会有变化么? 1. 翻脸不认人 Java号称一次编译到处运行,大概就是class文件的功劳。不同的Java版本编译之后的class文件那是肯定不一样的,因为里面有一个版本号,那肯定影响了它们的内容。 我们就看一下,如果给上面的代码,加一个空行,它的class文件会不会变。 这个空行还不能随便加。它可能在xjjdog上面,也可能在下面。可能在{中,也可能在文件末尾。 (1) 打脸 在验证之前,我们先看一下当前的class文件md5值。 我非常喜欢被打脸,所以先看一种加空行也无所谓的情况。 再次编译之后看md5值,果然被打脸了。还好我已经练就了脸不红心不跳的本领,这个结果厚着脸皮接受。 (2) 抹药 为了和主题遥相呼应,安慰一下受伤的心灵,我们把空行转移到了这里。