Hex dump_dump数据

Hex dump_dump数据HexdumpFromWikipedia,thefreeencyclopediaAhexdumpofthe318byteWikipediafaviconIncomputing,ahexdumpisahexadecimalview(onscreenorpaper)ofcomputerdata…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Hex dump

From Wikipedia, the free encyclopedia
 
 
Hex dump_dump数据

 

A hex dump of the 318 
byte Wikipedia 
favicon

In computing, a hex dump is a hexadecimal view (on screen or paper) of computer data, from RAM or from a file or storage device. Looking at a hex dump of data is commonly done as a part of debugging, or of reverse engineering.

In a hex dump, each byte (8-bits) is represented as a two-digit hexadecimal number. Hex dumps are commonly organized into rows of 8 or 16 bytes, sometimes separated by whitespaces. Some hex dumps have the hexadecimal memory address at the beginning and/or a checksum byte at the end of each line.

Although the name implies the use of base-16 output, some hex dumping software may have options for base-8 (octal) or base-10 (decimal) output. Some common names for this program function are hexdump, od, xxd and simply dump or even D.

 

 

Samples[edit]

A sample partial hex dump of a program, as produced by the Unix program hexdump:

 00105e0 e6b0 343b 9c74 0804 e7bc 0804 e7d5 0804
 00105f0 e7e4 0804 e6b0 0804 e7f0 0804 e7ff 0804
 0010600 e80b 0804 e81a 0804 e6b0 0804 e6b0 0804

The above example, however, represents an ambiguous form of hex dump, as the byte order may be uncertain. Such hex dumps are good only in the context of a well-known byte order standard or when values are intentionally given in their full form (and may result in variable number of bytes), such as:

 00105e0 e6 b008 04e79e08 04e7bc 08 04 e7 d50804

When explicit byte sequence is required (for example for hex dump of machine code programs or ROM content) a byte-by-byte representation is favoured, commonly organized in 16-byte rows with an optional divider between 8-byte groups:

 00105e0 e6 b0 08 04 e7 9e 08 04-e7 bc 08 04 e7 d5 08 04
 00105f0 e7 e4 08 04 e6 b0 08 04-e7 f0 08 04 e7 ff 08 04
 0010600 e8 0b 08 04 e8 1a 08 04-e6 b0 08 04 e6 b0 08 04

Rarely a condensed form is also used, without whitespaces between values:

 00105e0 e6b00804e79e0804e7bc0804e7d50804
 00105f0 e7e40804e6b00804e7f00804e7ff0804
 0010600 e80b0804e81a0804e6b00804e6b00804

A Unix default display of those same bytes as two-byte words on a modern x86 (little-endian) computer would usually look like this:

 00105e0 b0e6 0408 9ee7 0408 bce7 0408 d5e7 0408
 00105f0 e4e7 0408 b0e6 0408 f0e7 0408 ffe7 0408
 0010600 0be8 0408 1ae8 0408 b0e6 0408 b0e6 0408

Often an additional column shows the corresponding ASCII text translation (e.g. hexdump -C or hd):

0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66 Wikipedia, the f 0010: 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 69 61 ree encyclopedia 0020: 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E that anyone can 0030: 20 65 64 69 74 00 00 00 00 00 00 00 00 00 00 00 edit........... 

Checksum[edit]

When hex dumps are intended to be manually entered into a computer, such as was the case with print magazine articles of home computer era a checksum byte (or two) would be added at the end of each row, commonly calculated as simple 256 modulo of sum of all values in the row or a more sophisticated CRC. This checksum would be used to determine whether users entered the row correctly or not.

A variety of hex dump file formats — including S-record, Intel HEX, and Tektronix extended HEX — have a similar checksum value at the end of each row. 187259

Compression of duplicate lines[edit]

In the Unix programs od and hexdump, not all lines of display output that contain the same data as the previous line are shown; instead, a line containing just one asterisk is displayed. For example, a block of all zeros is printed as:

 0000000 0000 0000 0000 0000 0000 0000 0000 0000
 *
 0000030

This compression feature makes a useful tool for inspecting large files or complete devices for irregularities. In a modern Linux system, it is convenient to scan an entire hard drive to check if it is all blank:

 # hexdump /dev/sda (replace sda with the proper name for the device to be scanned)

The -v option causes hexdump and od to display all input data, explicitly:

 0000000 0000 0000 0000 0000 0000 0000 0000 0000
 0000010 0000 0000 0000 0000 0000 0000 0000 0000
 0000020 0000 0000 0000 0000 0000 0000 0000 0000

od and hexdump[edit]

On Unix/POSIX/GNU systems: “The utilities od and hexdump output octal, hex, or otherwise encoded bytes from a file or stream. Depending on your system type, either or both of these two utilities will be available–BSD systems deprecate od for hexdump, GNU systems the reverse. The two utilities, however, have exactly the same purpose, just slightly different switches.”[1]

DUMP, DDT and DEBUG[edit]

In the CP/M 8 bit operating system used on early personal computers, the standard DUMP program would list a file 16 bytes per line with the hex offset at the start of the line and the ASCII equivalent of each byte at the end.[2] Bytes outside the standard range of printable ASCII characters (20 to 7E) would be displayed as a single period for visual alignment. This same format was used to display memory when invoking the D command in the standard CP/M debugger DDT.[3] Later incarnations of the format (e.g. in the DOS debugger DEBUG) changed the space between the 8th and 9th byte to a dash without changing the overall width.

This notation has been retained in operating systems that were directly or indirectly derived from CP/M, including DR-DOS, MS-DOS, OS/2 and MS-Windows. On Linux systems, the command hexcat produces this classic output format too. The main reason for the design of this format is that it fits the maximum amount of data on a standard 80 character wide screen or printer, while still being very easy to read and skim visually.

1234:0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66 Wikipedia, the f 1234:0010: 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 69 61 ree encyclopedia 1234:0020: 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E that anyone can 1234:0030: 20 65 64 69 74 00 00 00 00 00 00 00 00 00 00 00 edit........... 

References[edit]

External links[edit]

转载于:https://www.cnblogs.com/endv/p/6689607.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190952.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 第一个免杀花指令生成器–不简单的免杀工具(图)

    第一个免杀花指令生成器–不简单的免杀工具(图)第一个免杀花指令生成器–不简单的免杀工具(图)陆续将以前发表在杂志的文章放上来~,发表于《黑客X档案》,第几期忘了,呵呵前言相信做过免杀的朋友都知道花指令吧。加花指令是一种不错的文件免杀方法,而网上公布的花指令和花指令添加器因为里边的花指令被公布了,所以免杀效果不好。有点汇编基础的人就写自己的花指令,但写花指令的过程比较烦,所以我萌生了写一个花指令生成器的想法,首

    2022年8月20日
  • js 刷新当前页面

    js 刷新当前页面方法1:reload()方法reload()方法用于刷新当前文档。reload()方法类似于你浏览器上的刷新页面按钮。location.reload();方法2:replace()方法replace()方法可用一个新文档取代当前文档。<!DOCTYPEhtml><html><head><metacharset=”utf-8″><title>菜鸟教程(runoob.com)</title><sc

    2022年7月27日
  • dataTable自定义搜索框位置

    dataTable自定义搜索框位置其实不能叫自定义位置dataTable的搜索框请参阅dataTabledom:http://www.datatables.club/reference/option/dom.html我的需求是将dataTable默认位置的搜索框移动到我的form表单中的搜索位置如图:因为自己不会写前端却要写前端幸得群里大神指点在页面写样式覆盖原来的样式在这里记录一下解决办法…

    2022年7月13日
  • jvm基础_java实现栈四个方法

    jvm基础_java实现栈四个方法JVM进阶(一)——初识JAVA栈  若想使自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。  下面言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看图:  这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。  栈是我们最常用的内存区域。它主

    2022年9月6日
  • Windows Server AppFabric安装与步署[通俗易懂]

    Windows Server AppFabric安装与步署[通俗易懂]WindowsServerAppFabric正式版已经发布。今天测试一下,把域环境中安装遇到的问题告诉大家,只针对缓存服务这一块,希望大家少走一些弯路。1、首先下载安装WindowsServerAppFabric,地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=467e5…

    2022年10月11日
  • iphonex适配游戏_Unity+iPhoneX适配方案[通俗易懂]

    作者:范世青王天宇17年下半年,苹果传出新一代iPhone的消息——iPhoneX。随之而来的还有他不同于以往任意一代iPhone的刘海设计。一时间,iPhoneX的适配问题迅速在产品圈流传开。而作为一个线上手游的客户端工程师,我在和团队共同历经了为iPhoneX适配的艰难岁月后,终于在产品上市之日,获得了商店首批适配推荐。那么iPhoneX适配到底有什么需要注意的点,又应该采取什么方案呢?&…

    2022年4月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号