如何在二进制文件中查找 0-9 的数字序列?

逆向工程 二元分析
2021-06-15 21:01:27

我想在 32MB 的数据流中找到一系列值,其中的值都在 0x00 和 0x09 之间,并且大约有 20-40 个连续。

也许这可以通过 Hex Workshop 完成,但我不知道如何...

2个回答

我倾向于编写一个快速的 python 脚本来做到这一点。

使用几行代码,您应该能够将二进制文件(完整的或只是一部分)分解为一个字节数组,然后查看该数组并比较每个数组以查看它是否属于您的序列。

在下面查看这个库。

https://github.com/erocarrera/pefile

grep 可以满足您的要求

:\>f:\usr\bin\ls -lag foo.bin
-rw-r--r-- 1 197121 33554432 Sep  9 13:31 foo.bin

:\>f:\usr\bin\grep  -obUaP "\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39" foo.bin
96:0123456789
336:0123456789
832:0123456789
1472:0123456789
2144:0123456789
3328:0123456789
25895568:0123456789
25895579:0123456789
25895590:0123456789
25895601:0123456789
25895612:0123456789

:\>