Exemplo n.º 1
0
 def test_utf_16_le_null_terminated_3(self):
   ''' null terminated '''
   # in putty.7124.dump
   vaddr = 0x657488
   size = 88
   st = structure.makeStructure(self.putty7124, vaddr, size)    
   self.dsa.analyze_fields(st)
   #print repr(st.bytes)
   log.debug(st.toString())
   fields = st.getFields()
   self.assertEquals( len(fields), 2) # should be 3 Lt0?
   self.assertEquals( fields[0].typename, fieldtypes.FieldType.STRING16)
   self.assertTrue( fields[0].isString())
Exemplo n.º 2
0
 def test_ascii_null_terminated_2(self):
   ''' null terminated '''
   # struct_64f328 in putty.7124.dump
   vaddr = 0x64f328
   size = 72
   st = structure.makeStructure(self.putty7124, vaddr, size)    
   self.dsa.analyze_fields(st)
   #print repr(st.bytes)
   log.debug(st.toString())
   fields = st.getFields()
   self.assertEquals( len(fields), 5)
   self.assertEquals( fields[3].typename, fieldtypes.FieldType.STRINGNULL)
   self.assertTrue( fields[3].isString())
Exemplo n.º 3
0
 def test_utf_16_le_non_null_terminated(self):
   ''' non-null terminated '''
   # struct_691ed8 in putty.7124.dump
   vaddr = 0x691ed8
   size = 256
   st = structure.makeStructure(self.putty7124, vaddr, size)    
   self.dsa.analyze_fields(st)
   #print repr(st.bytes)
   log.debug(st.toString())
   fields = st.getFields()
   self.assertEquals( len(fields), 2)
   self.assertEquals( fields[1].typename, fieldtypes.FieldType.STRING16)
   self.assertTrue( fields[1].isString())
Exemplo n.º 4
0
 def test_big_block_2(self):
   # in putty.7124.dump
   # its garbage anyway
   vaddr = 0x675b30
   size = 8184
   st = structure.makeStructure(self.putty7124, vaddr, size)    
   self.dsa.analyze_fields(st)
   #print repr(st.bytes)
   log.debug(st.toString())
   fields = st.getFields()
   self.assertLess( len(fields), 890)
   #self.assertEquals( fields[35].typename, fieldtypes.FieldType.STRINGNULL)
   #self.assertTrue( fields[35].isString())
   fields = [f for f in st.getFields() if f.isString()]
Exemplo n.º 5
0
  def test_uuid(self):
    ''' null terminated '''
    # in putty.7124.dump
    vaddr = 0x63aa68
    size = 120
    st = structure.makeStructure(self.putty7124, vaddr, size)    
    self.dsa.analyze_fields(st)
    #print repr(st.bytes)
    log.debug(st.toString())
    fields = st.getFields()
    self.assertEquals( len(fields), 3)
    self.assertEquals( fields[1].typename, fieldtypes.FieldType.STRING16)
    self.assertTrue( fields[1].isString())

    pass
Exemplo n.º 6
0
  def test_utf_16_le_null_terminated(self):

    # struct_682638 in putty.7124.dump
    vaddr = 0x682638
    size = 184
    st = structure.makeStructure(self.putty7124, vaddr, size)    
    self.dsa.analyze_fields(st)
    #print repr(st.bytes)
    log.debug(st.toString())
    fields = st.getFields()
    self.assertEquals( len(fields), 5) # TODO should be 6 fields lllttp
    self.assertEquals( fields[2].typename, fieldtypes.FieldType.STRING16)
    self.assertTrue( fields[2].isString())
    # TODO fields[3] should start at offset 12, not 10.
    self.assertEquals( fields[3].typename, fieldtypes.FieldType.STRING16)
    self.assertTrue( fields[3].isString())
Exemplo n.º 7
0
 def test_big_block(self):
   ''' null terminated '''
   # in putty.7124.dump
   vaddr = 0x63d4c8 #+ 1968
   size = 4088 #128
   st = structure.makeStructure(self.putty7124, vaddr, size)    
   self.dsa.analyze_fields(st)
   #print repr(st.bytes)
   log.debug(st.toString())
   fields = st.getFields()
   self.assertLess( len(fields), 879)
   #self.assertEquals( fields[35].typename, fieldtypes.FieldType.STRINGNULL)
   #self.assertTrue( fields[35].isString())
   strfields = [f for f in st.getFields() if f.isString()]
   #for f in strfields:
   #  print f.toString(),
   self.assertGreater( len(strfields), 30 )