Python 中二进制字符串的快速模糊测试

问题描述 投票:0回答:1

我有一个看起来像这样的二进制字符串“000000000010011101010110111010000100001111110010010000011000001111101101”。我正在尝试找到最有效的方法来创建该字符串的模糊版本。

到目前为止,我已经尝试使用 fuzzingbook 和 Kali Linux 中的其他一些模糊测试工具,但它们太慢了。模糊一根字符串需要一个小时。我想知道是否有更快的方法来完成这项任务!

谢谢!

python fuzzy-search fuzzing
1个回答
0
投票

要模糊二进制字符串,只需随机翻转一些位即可:

import random

def fuzz(binary_string, num_bits_to_flip):
    binary_list = list(binary_string)
    for _ in range(num_bits_to_flip):
        index_to_flip = random.randint(0, len(binary_list) - 1)
        binary_list[index_to_flip] = '1' if binary_list[index_to_flip] == '0' else '0'
    return ''.join(binary_list)

模糊你的二进制字符串:

binary_string = "000000000010011101010110111010000100001111110010010000011000001111101101"
fuzzed_string = fuzz(binary_string, 10)
print(fuzzed_string)
© www.soinside.com 2019 - 2024. All rights reserved.