我想创建GSM PDU消息并用boofuzz对其进行模糊处理,但是我想同时更改多音素原语,而不只是尝试进行变异。 例如,假设我在一个块中有2个图元:
s_initialize(name="Request")
with s_block("Request-Line"):
s_bit_field(value=0, width=8, full_range=True)
s_bit_field(value=0, width=8, full_range=True)
这将为第一个字节字段然后第二个字节字段生成所有突变:
0000, 0100, 0200, ... FF00, 0001, 0002, ... 00FF
对于这个特定的示例来说很简单,因为它足以合并原始元素:
s_initialize(name="Request")
with s_block("Request-Line"):
s_bit_field(value=0, width=16, full_range=True)
并获得0000,0100,... FFFF。
但是如何在更复杂的代码中实现呢?例如:
s_initialize(name="Request")
with s_block("Request-Line"):
s_bit_field(value=0, width=8, full_range=True)
s_bit_field(value=0, width=8, full_range=True)
s_size(block_name="bar", name="foo", fuzzable=False, length=1)
with s_block("bar"):
s_random(value=0, min_length=0, max_length=140)
是否可以同时从所有原始数据获取突变?