标签: hexdump

用于将十六进制转储转换为人类可读形式的任何通用实用程序或库?

我通过与各种设备的串行通信工作很多,因此我经常需要分析日志文件中的十六进制转储.目前,我通过查看转储,查看协议规范以及写下结果来手动执行此操作.但是,这很乏味且容易出错,尤其是whem消息包含数百个字节,并包含big-endian和little-endian数据,ASCII,Unicode,压缩,CRC等的混合....

我编写了一些Python脚本来帮助处理更常见的情况.但是有很多协议要处理,除非我知道我要分析很多转储,否则花时间编写自定义脚本是没有意义的.

我想要的是某种可以自动执行此活动的实用程序.所以,例如,如果我有这样的文本十六进制转储:

7e ff 00 7b  00 13 86 04
00 41 42 43  44 56 ef 7e
Run Code Online (Sandbox Code Playgroud)

以及对消息格式的某种描述,如下所示:

# Field         Size        Byte Order  Output Format
Flag            1                       hex
Address         1                       hex
Control         1                       hex
DataType        1                       decimal
LineIndex       1                       decimal
PollAddress     2           msb         hex
DataSize        2           lsb         decimal
Data            (DataSize)              ascii
CRC             2           lsb         hex
Flag            1                       hex
Run Code Online (Sandbox Code Playgroud)

我得到这样的输出:

Flag            0x7e
Address         0xff
Control         0x00
DataType        123
LineIndex       0
PollAddress     0x1386
DataSize        4
Data            "ABCD"
CRC             0xef56
Flag …
Run Code Online (Sandbox Code Playgroud)

hex hexdump protocols binaryfiles

5
推荐指数
1
解决办法
2332
查看次数

在perl中进行十六进制转储解析

我在文件中有一个消息的十六进制转储,我希望在数组中获取它,以便我可以在其上执行解码逻辑.
我想知道这是否是一种解析看起来像这样的消息的简单方法.

37 39 30 35 32 34 35 34 3B 32 31 36 39 33 34 35
3B 32 31 36 39 33 34 36 00 00 01 08 40 00 00 15
6C 71 34 34 73 69 6D 31 5F 33 30 33 31 00 00 00
00 00 01 28 40 00 00 15 74 65 6C 63 6F 72 64 69
74 65 6C 63 6F 72 64 69

请注意,任何行上的数据最多可为16个字节.但是任何行都可以包含更少的字节(最小值:1)
是否有一种漂亮而优雅的方式,而不是在perl中一次读取2个字符?

perl parsing hexdump

5
推荐指数
2
解决办法
3019
查看次数

什么是六角转储 - 这是什么意思?

thegladiator:~/cp$ cat new.txt
Hello World This is a Trest Progyy

thegladiator:~/cp$ hexdump new.txt
0000000 6548 6c6c 206f 6f57 6c72 2064 6854 7369
0000010 6920 2073 2061 7254 7365 2074 7250 676f
0000020 7979 000a                              
0000023
Run Code Online (Sandbox Code Playgroud)

那个文本数据如何用Hex表示?这是什么意思 ?请任何人都可以告诉我.

hexdump

5
推荐指数
2
解决办法
8761
查看次数

Shell 魔法想要:在管道中格式化 hexdump 的输出

我正在调试通过 TCP 传输数据的程序的输出。出于调试目的,我用netcat和替换了接收程序hexdump

netcat -l -p 1234 | hexdump -C
Run Code Online (Sandbox Code Playgroud)

将所有数据输出为一个不错的十六进制转储,几乎就像我想要的那样。现在,数据以长度不是 16 倍数的固定块传输,导致输出中的行移位,这使得发现差异有点困难:

00000000  50 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |P...............|
00000010  00 50 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |.P..............|
00000020  00 00 50 00 00 00 00 00  00 00 00 00 00 00 00 00  |..P.............|
Run Code Online (Sandbox Code Playgroud)

如何重新格式化输出,以便在 17 个字节后开始新行?它应该是这样的:

50 00 00 00 00 00 …
Run Code Online (Sandbox Code Playgroud)

shell formatting perl hexdump netcat

5
推荐指数
1
解决办法
6019
查看次数

如何使用LLDB修改内存内容?

在GDB中,下面显示的等效lldb命令是什么?

(gdb)set {char} 0x02ae4 = 0x12

这些值是任意的例子.使用GDB,我可以轻松编辑给定十六进制地址的字节代码,同时查看终端中的转储.自从我升级为小牛队以来,我一直试图用lldb来捣乱,但我在一些领域遇到了困难.也许它甚至没有这个功能..

assembly gdb hexdump lldb osx-mavericks

5
推荐指数
1
解决办法
4131
查看次数

Hexdump -C,但用十进制代替十六进制

centos 6.5-运行hexdump

$ hexdump -C filecsv
00000000  44 4f 53 2c 20 50 61 74  69 65 6e 74 2c 20 41 63  |DOS, Patient, Ac|
00000010  63 74 20 23 2c 20 4d 52  20 23 2c 20 54 69 6d 65  |ct #, MR #, Time|
Run Code Online (Sandbox Code Playgroud)

喜欢这种格式,但希望将十六进制转换为十进制我已经花了很多时间但是找不到它?

ascii hexdump decimal

5
推荐指数
1
解决办法
1559
查看次数

使用binwalk提取所有文件

我有一个文件music.mp3.使用后binwalk,我得到了结果:

pexea12@DESMICE:~/Downloads$ binwalk music.mp3

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
152318        0x252FE         MySQL ISAM compressed data file Version 2
586865        0x8F471         MySQL ISAM compressed data file Version 5
5669358       0x5681EE        MySQL ISAM index file Version 1
5831936       0x58FD00        TIFF image data, little-endian offset of first image directory: 8
5832467       0x58FF13        Unix path: /www.w3.org/1999/02/22-rdf-syntax-ns#">
5832624       0x58FFB0        Unix path: /purl.org/dc/elements/1.1/"
5832748       0x59002C        Unix path: /ns.adobe.com/xap/1.0/mm/"
5832806       0x590066        Unix path: /ns.adobe.com/xap/1.0/sType/ResourceEvent#">
Run Code Online (Sandbox Code Playgroud)

我意识到我的其他文件类型music.mp3如MySQL,TIFF图像.现在我想提取所有这些文件以查看它们的真实内容.

我尝试该命令,binwalk -e music.mp3但它只适用于压缩文件,如.zip.我怎样才能获得所有这些文件?

linux hexdump steganography extract

5
推荐指数
2
解决办法
4万
查看次数

字节转换

我有两个img文件.原点(2GB)和目标(4GB),它们是某种编码的结果,我正在尝试识别和恢复.因此,为了成功恢复编码,我必须看看我是否能够再次从Destionation文件获取Origin我已经构建了一个表,表明Origin有256种字节,Destination有256种字节对.以下是使用occurrency在Hex of Origin中转换的字节列表.

FF=24575615
FE=3242667
FD=3009202
FC=3063146
FB=3003652
FA=3025947
F9=3005543
F8=7684326
F7=4554041
F6=2933185
F5=3373967
F4=5597006
F3=2906784
F2=3789554
9F=3102630
9E=3005388
F1=3557574
F0=4365911
9D=3078506
9C=2840242
9B=2763692
9A=2804976
EF=2941117
EE=3025616
99=2877085
ED=2902961
98=3028895
EC=2817617
97=2752245
EB=3333926
96=2789702
EA=2850121
95=2989513
94=3031653
93=2911830
92=2658657
91=2728002
90=3419534
E9=2887403
E8=3208952
E7=3285198
E6=2644790
E5=4609467
E4=2650016
E3=4372245
8F=2991145
E2=3368100
E1=5113630
8E=2575537
E0=9155599
8D=3578967
8C=3038052
8B=2921954
8A=2675041
DF=2917213
DE=2560516
89=2736502
DD=2625394
88=3270888
DC=2599744
87=3366265
DB=2698959
86=2899131
DA=2673989
85=3330569
84=3367665
83=3421457
82=3444192
81=3864339
80=6354686
D9=2792340
D8=3572281
D7=2917209
D6=2502705
D5=2726792
D4=2599407
D3=2526731 …
Run Code Online (Sandbox Code Playgroud)

java encoding hexdump netcat

5
推荐指数
1
解决办法
352
查看次数

Hexdump命令反转

hexdump命令将任何文件转换为十六进制值.但是,如果我有十六进制值并且我想要反转过程怎么办?这可能吗?

linux hexdump reverse-engineering

5
推荐指数
3
解决办法
9351
查看次数

如何使用 Cutter 或 Radare2 比较两个 EXE 文件、查找差异并反编译它们?

经过几天的努力,我想向社区询问:)

我有两个exe文件。两者大小相同且相当大(约 80MB)。

  • 第一个exe是原始文件,是前段时间编译好的。我也有相应的PDB文件。
  • 第二个文件与第一个文件几乎相同,但已在多个位置进行了二进制修补。

我设法使用 Cutter (Radare2 GUI) 反编译这些文件,但考虑到文件大小,几乎不可能遍历每一种方法。

使用十六进制编辑器(Hex Fiend),我设法获得应用补丁的每个偏移位置。现在我试图用 Cutter 找到这些偏移量来反编译这些位置。

问题是:如何?当我在 Cutter 中打开 Hexdump 时,似乎一切都未就位,我可能需要偏移。在 Cutter 的加载屏幕上设置偏移量似乎没有做任何事情。难道是我用错了?

例子:

妖魔

Offset                Hex Data                                         Text
474942-474956         47 65 74 4D 6F 64 75 6C 65 48 61 6E 64 6C 65 41  GetModuleHandleA
Run Code Online (Sandbox Code Playgroud)

刀具

Offset                Hex Data                                         Text
0x0060713E-0x0060714D 47 65 74 4D 6F 64 75 6C 65 48 61 6E 64 6C 65 41  GetModuleHandleA
Run Code Online (Sandbox Code Playgroud)

474942是0x73F3E,但是距离0x0060713E很远

也许我需要其他工具?任何帮助表示赞赏!

hexdump disassembly decompiler radare2 ghidra

5
推荐指数
0
解决办法
3258
查看次数