ERCP
开头(请查看下面的hexdump)。 FWIW,我强烈怀疑生成此代码的语言是C ++。00000150 00 00 00 00 11 00 5e 00 00 00 01 00 00 00 45 52 |......^.......ER|
00000160 43 50 56 00 00 00 00 00 80 00 04 00 00 00 01 00 |CPV.............|
00000170 00 00 00 00 74 00 28 00 00 00 00 00 00 00 00 00 |....t.(.........|
00000180 00 00 00 00 00 00 5e 00 2a 5f 00 06 00 01 1a 54 |......^.*_.....T|
00000190 00 05 1c 2e 55 00 0b 1c 61 1c 61 1c 61 1c 61 1c |....U...a.a.a.a.|
000001a0 61 1c 61 1c 61 1c 61 1c 2e 1c 6e 1c 65 1c 74 1b |a.a.a.a...n.e.t.|
000001b0 55 00 2a 00 00 00 00 00 8d ff a5 95 0a 2d 2d 2d |U.*..........---|
在此示例中,正则表达式似乎匹配与互联网域aaaaaaaa相关的某些字符串.net。
我的问题是:给定这样的二进制blob,是否有可能回到“人类可读”(反编译?)PCRE? (即
^aaaaaa\.net$
),如果是,该怎么办?#1 楼
谷歌搜索0x50435245
会带来一些成功,例如在这里: br />您可能需要阅读库源代码和/或尝试使用它编译一些正则表达式来解码其余部分。#2 楼
看起来像real_pcre
结构,在线上其他许多地方都定义了它的格式。