Python Sulley模糊框架中的位标志依赖关系

Python Sulley模糊框架中的位标志依赖关系,python,network-protocols,penetration-testing,fuzzing,Python,Network Protocols,Penetration Testing,Fuzzing,我想和Sulley建立一个模糊程序。我正在使用的协议有一个单字节控件字段。在该字段中设置的位确定可以跟随哪些字段。现在我想知道如何使用Sulley中的dep参数实现这种行为。唯一可用的dep\u compare运算符是“==,!=,>,>=,如果只想检查最高位,可以使用=,因为0b10000000只是一个数字 if s_block_start("something_optional", dep="control_field", dep_compare=">=", dep_value=0b1

我想和Sulley建立一个模糊程序。我正在使用的协议有一个单字节
控件
字段。在该字段中设置的位确定可以跟随哪些字段。现在我想知道如何使用Sulley中的
dep
参数实现这种行为。唯一可用的
dep\u compare
运算符是
“==,!=,>,>=,如果只想检查最高位,可以使用
=
,因为0b10000000只是一个数字

if s_block_start("something_optional", dep="control_field", dep_compare=">=", dep_value=0b10000000):
但是,如果要检查低位,则需要实现自己的运算符。在
sulley/blocks.py
中,查找
Block
类及其
render
方法。有一大块If块不太难修改

        if self.dep_compare == "&" and self.dep_value & self.request.names[self.dep].value != self.dep_value:
            self.rendered = ""
            return

如果你自己做了补丁,请向该项目发出请求!如果你长时间使用该工具,你可能会遇到许多这样可能的改进。
        if self.dep_compare == "&" and self.dep_value & self.request.names[self.dep].value != self.dep_value:
            self.rendered = ""
            return