问题标签 [hexdump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
204 浏览

python - 哪些信息描述了两个相同大小的大型给定文件之间的数量差异?

通常,为了找出两个二进制文件的不同之处,我使用 diff 和 hexdump 工具。但是在某些情况下,如果给定两个相同大小的大型二进制文件,我只想查看它们的数量差异,例如差异区域的数量,累积差异。

示例:2 个文件 A 和 B。它们有 2 个 diff 区域,它们的累积差异为 6c-a3 + 6c-11 + 6f-6e + 20-22。

如何使用标准 GNU 工具和 Bash 获取此类信息,或者我应该更好地使用简单的 Python 脚本?关于 2 个文件有何不同的其他统计信息也很有用,但我不知道还有什么以及如何衡量?熵差?方差差异?

0 投票
1 回答
1299 浏览

shell - 在 shell/awk 中逐字节读取 hexdump 文件

我是 bash/awk 编程的新手,很快需要你的帮助

这是通过 tcpdump 捕获的 ipv6 tcp 数据包的十六进制输出 -

{5} 以 32 位字指定 tcp 数据包长度,tcp 数据包为 b/w *s。

现在我需要使用 bash/awk 脚本从该信息中提取 tcp 标头。

我想我需要逐字节读取文件,直到 tcp 指定长度,但不知道该怎么做。

因此,任何想法如何从上面指定的输出中提取 tcp 信息都假设它已被写入文件中。

提前谢谢..

0 投票
4 回答
5361 浏览

linux - hexdump 和 xxd 在 red hat 和 ubuntu/mint 上产生不同的输出

首先,我要提到我的 linux mint/ubuntu 系统上发生的任何事情......

现在,当我在 red hat 上尝试相同的事情时,正在发生一些奇怪的行为。

我无法找出为什么 red hat 和 linux mint/ubuntu 的输出之间会出现这种差异。

如果可能的话,告诉我一些 awk/shell 来代替xxd -r -p

请帮帮我!

编辑:

在 linux mint/ubuntu 系统上..

在红帽机上..

0 投票
5 回答
10691 浏览

parsing - 在 UNIX 中创建二进制文件

这个问题已经存在了一段时间,我想如果我能让它发挥作用,我应该提供一些奖励积分。

我做了什么……</h1>

最近在工作中,我编写了一个解析器,可以将二进制文件转换为可读格式。二进制文件不是带有10101010字符的 Ascii 文件。它已被编码为二进制。因此,如果我cat对文件执行操作,我会得到以下信息 -

所以我使用hexdump实用程序使文件显示以下内容并将其重定向到文件。现在我有了我的输出文件,它是一个包含十六进制值的文本文件。

在大量awk,sed和之后cut,脚本将十六进制值转换为可读文本。为此,我使用了偏移定位来标记每个转换参数的开始和结束位置。所有转换后的结果文件如下所示

我为什么这样做

我是一名测试工程师,手动验证二进制文件是一件很痛苦的事情。我必须手动解析偏移量并使用计算器转换它们并针对 Wireshark 和 GUI 进行验证。

现在是问题部分

我希望做与我所做的相反的事情。这是我的计划——

  • 有一个易于阅读的输入文本文件,其中包含Parameters : Values.
  • 用户可以简单地将值放在它们旁边(例如,日期将是一个参数,用户可以给出他们希望数据文件具有的日期)。
  • 该脚本将从输入文本文件中删除所有相关信息(用户提供的信息)并将它们转换为十六进制值。
  • 将文件转换为十六进制值后,我希望将其编码回二进制。

前三步完成

问题

一旦我的脚本将输入文本文件转换为具有十六进制值的文本文件,我就会得到一个如下所示的文件(注意我可以这样做cat

我的意图是将这个转换后的文件编码为二进制文件,这样当我cat对文件进行处理时,我会得到一堆垃圾值。

所以问题是这样的。我如何以这种形式对其进行编码?

我为什么要这样做?

我们在生产中没有很多 GTP(GPRS 隧道协议)消息。我想如果我对此进行逆向工程,我可以有效地创建一个数据生成器并制作我自己的数据。

总结一下

那里可能有复杂的工具,但我不想花太多时间学习它们。大约 2 个月了,我已经开始在 *nix 平台上工作,并且刚刚开始使用它的电动工具,比如sedawk.

我想要的是一些帮助和指导来实现这一点。

再次感谢阅读!200 分等待能够引导我走向正确方向的人。:)

示例文件

这是原始二进制文件的示例

这是一个允许用户输入值的输入文本文件示例

这是我的脚本在输入文本文件的所有转换完成后创建的文件示例。

如何更改File 3to的编码File 1

0 投票
4 回答
51145 浏览

bash - 如何使用 Bash 创建二进制文件?

如何在 bash 中创建带有二进制值的二进制文件?

喜欢:

在 C 中,我这样做:

这就是我想要的:

0 投票
2 回答
1256 浏览

security - Go - 二进制密码安全

我打算在我的 Go 应用程序中保存一个密码/密钥,以用于与其他一些应用程序通信。我想知道如何保护它,例如某人获取二进制文件并在某些十六进制查看器中搜索它。这种安全做法是否普遍,还是我太担心了?

0 投票
1 回答
1180 浏览

binary - 关于十六进制编辑器中显示的十六进制代码的问题

我被困在十六进制编辑器(十六进制编辑器 Neo)中看到的十六进制(英特尔十六进制)格式。好的,我知道十六进制,十进制,二进制,它们的加法,乘法,它们的转换。

前任。sample.jpg(这是我用 Hex Editor Neo 打开的 jpg 文件,采用 4 列的十六进制格式)



我看到了这个(这些只是整个文件中的一些行)类型的十六进制代码。我对它们的意思很感兴趣?我知道 ff d8 ff e0 告诉你 jpg。我知道 jpg 以 ff d9 结尾。我想知道其他代码..我的意思是为什么它们是他们的?.它们一定有某种意义,或者从图片到十六进制的转换是如何发生的。

您所说的“4a 46 49 46 00”和那里的许多其他人是什么意思?

0 投票
2 回答
3788 浏览

endianness - 十六进制偏移量

我正在查看一些十六进制代码,有人告诉我查看偏移量:0x830880EC 存储为小端,但这意味着什么?浏览 HxD Workshop 中列出的偏移量,我看不到这样的东西,我很确定 0x 只是某种形式的前缀或其他东西,但我不知道它是什么意思。有人可以帮助我吗?提前致谢!

0 投票
1 回答
743 浏览

hex - 在 Neo Hex Editor 中打开带有十六进制数字的文件

我经常需要用十六进制数字解释文件(可能称为十六进制转储)。因为我从微控制器读取内存并需要理解它,所以我想,Neo-Hex Editor 会有所帮助。但我发现 Neo Hex Editor 可以打开 Intex-Hex 格式、Motorola Hex 格式、Exe 文件、图像文件等。

但我的文件是一系列十六进制数字:

'0x0'、'0x0'、'0x6'、'0x0'、'0x78'、'0x56'、'0x34'、'0x12'、'0x5'、'0x0'、'0x1'...... .

我想在 Neo Hex Editor 中打开这样的文件,在那里我可以看到特定数字的地址位置。它的字符在右边等价。

如果我需要以正确的格式排列我的 hex 文件,请告诉我。

谢谢。

0 投票
3 回答
341 浏览

perl - Native perl hexdump -- just checking for zero values

I'm trying to check to see if a disk or disk image is 'empty'. I'm going to assume that this is true if the first 1mb and last 1mb are zeroes. I started by trying to recreate hexdump but it seems a little convuluded at this point.

Here's roughly my code:

Is there a better way to do this?