예제 #1
0
    def __init__(self, sized, minChars=0, maxChars=0, delimiter=None):
        """Constructor of AbstractType:

                @type sized: boolean
                @param sized: tell if the variable can be delimited by a size or by a delimiter.
                @type minChars: integer
                @param minChars: the minimum number of characters of the variable associated to the given type.
                @type maxChars: integer
                @param maxChars: the maximum number of characters of the variable associated to the given type.
                @type delimiter: bitarray
                @param delimiter: a set of bits that tells where the associated variable ends.
        """
        self.log = logging.getLogger('netzob.Common.MMSTD.Dictionary.Types.AbstractType.py')
        self.sized = sized
        self.setNumberBitsAndNumberChars(minChars, maxChars)
        self.delimiter = None
        try:
            # We assume that delimiters are written by the user as hex string.
            self.delimiter = TypeConvertor.hexstring2bin(delimiter)
        except:
            self.log.error("The delimiter {0} is not a valid hexadecimal string.".format(str(delimiter)))
예제 #2
0
    def __init__(self, sized, minChars=0, maxChars=0, delimiter=None):
        """Constructor of AbstractType:

                @type sized: boolean
                @param sized: tell if the variable can be delimited by a size or by a delimiter.
                @type minChars: integer
                @param minChars: the minimum number of characters of the variable associated to the given type.
                @type maxChars: integer
                @param maxChars: the maximum number of characters of the variable associated to the given type.
                @type delimiter: bitarray
                @param delimiter: a set of bits that tells where the associated variable ends.
        """
        self.log = logging.getLogger('netzob.Common.MMSTD.Dictionary.Types.AbstractType.py')
        self.sized = sized
        self.setNumberBitsAndNumberChars(minChars, maxChars)
        self.delimiter = None
        try:
            # We assume that delimiters are written by the user as hex string.
            self.delimiter = TypeConvertor.hexstring2bin(delimiter)
        except:
            self.log.error("The delimiter {0} is not a valid hexadecimal string.".format(str(delimiter)))
예제 #3
0
 def str2bin(self, stri):
     return TypeConvertor.hexstring2bin(stri)