问题标签 [xxd]
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.
c++ - 如何在 C++ 中生成十六进制二进制数据的 sha256 哈希?
我需要一个 C++ 中的函数来生成与此命令在 linux 中生成的结果相似的结果。
回声-n“616161616161616”| xxd -r -p | sha256sum -b | awk '{打印 $1}'
该命令的作用是:给定一个 hexadump,将其转换为二进制文件格式,并显示二进制文件的 sha256 哈希值。xxd -r 将 hexadump 转换为二进制文件
谁能帮帮我?
vim - Vim:用系统命令替换调用 xxd 导致转换错误
背景是我有一个日志文件,其中包含我想用 xxd 转换的十六进制转储,以获得显示二进制数据中可能字符串的漂亮 ASCII 列。
日志文件格式如下所示:
直观地选择十六进制转储,xxd -r -p
然后xxd -g1
在结果上执行一个,这正是我的目标。但是,由于我想要转换的转储数量很多,我宁愿自动化这个过程。所以我使用以下替代命令进行转换:
该表达式匹配日志文件中的整个十六进制转储。匹配作为标准输入发送到xxd -r -p
,其输出用作标准输入xxd -g1
。嗯,至少是这样的想法。
问题是以上几乎可以工作。它产生以下结果:
所有00
字节都神秘地变成了01
. 它应该产生以下内容:
我没有得到什么?
当然,我可以使用宏和其他方法来做到这一点,但我想了解为什么我的替换命令没有达到我的预期。
编辑:
对于任何想要实现相同目标的人,我提供了适用于整个文件的替换表达式。上面的表达式仅用于使用上面的日志文件示例进行测试。下面的一个是执行正确转换的那个,根据肯特在他的回答中提供的信息进行了修改。
bash - bash 中的 xxd:删除行号和 ascii
所以我想知道如何在使用 xxd 输出数据时删除行号和 ascii。
编码:
哪个输出
但我希望00000000:和00000006:和gf.(.. and ... 从输出中删除。
至于变量的数量,这是正确且丑陋的,但这是我拥有的唯一真正可行的解决方案,因为它们每个都是代码中自己的变量。
x86 - 为什么 xxd 和 objdump 的内存地址或偏移量不同?
我有以下测试汇编程序:
我已经编译成一个名为file
. 当我使用objdump
反汇编时,我得到以下预期输出:
但是,当我只打印带有$ xxd file
内存的二进制文件时,甚至不会达到400078
:
造成这种差异的原因是什么?似乎xxd
只是从 0 开始偏移所有内容,但是如果您可以称它为确实objdump
使用的“偏移”,那又是什么?我怎样才能调和 where400078
会在xxd
哪里?还是我需要为此使用另一个程序?
openssl - 如何在终端将十六进制哈希转换为二进制?
主要问题:如何使用xxd -r
?
次要细节。此命令输出十六进制哈希:
我想那myHashHex
是一个“hexdump”,不是吗?
我以为那xxd -r < myHashHex
会转换......好吧,它不起作用。
笔记
测试/比较。我认为这在二进制文件中是相同的(没有标题):
所以,我预计会xxd -r < myHashHex > newHashBin
生成newHashBin = myHashBin。
PS:测试一下。现实生活中的问题是使用 sha256sum 维护所有内容,并且仅在一个程序中将其转换为双 sha256。
相反,我使用openssl dgst -sha256 -binary myFile| openssl dgst -sha256 > myDoubleHash
我将使用两步过程:
(总是产生 myHashHex)
openssl dgst -sha256 myFile | awk '{print $2}' > myHashHex
(需要加倍时)
xxd -r myHashHex | openssl dgst -sha256 > myDoubleHash
c - 二进制中点的不同表示
我在 C 中有一个代码,它只是打印 hello world,就像这样
为了在 ubuntu 中编译代码,我使用了这个命令
make filename
,它给了我这样的汇编代码:
然后我使用它翻译成机器语言xxd -b hello
,这给了我(输出的子集)
我的问题是:为什么(点“。”)在二进制中具有不同的表示形式,就像在第一行和第四行中我们有连续的点但具有不同的表示形式一样?
我知道这是一个奇怪的问题,但这只是为了兴趣和知识,任何帮助将不胜感激
javascript - 如何从任何 .exe 文件中取回源代码文件?
我有从 javascript 和 python 编译的 .exe 文件。我想反编译它并取回代码。
我尝试了许多 python 反编译器库,但它不起作用。
我尝试使用 `hexdump` 或 `xxd` 命令,但我是新手,所以我真的不知道如何使用它们。
谢谢(抱歉英语错误)
unix - 如何查看我的键盘发送的各种控制字符
通常我会用xxd
十六进制来查看我输入的字符转换为哪些字符。例如:
但是,我将如何做同样的事情:
- Ctrlz
- Ctrld
- Ctrlc
似乎当我输入这三个中的任何一个时,它在xxd
程序之外“做某事”,而不是被识别为我想查看十六进制代码的键盘输入。那么如何查看键盘为所有字符组合发送的值呢?