Example #1
0
    def test_pattern_offset__pattern_pos(self):
        args = {'pattern_offset': ['Aa0']}
        pos = ExploitUtils.pattern_offset(args)
        self.assertEqual(pos, 0)

        args = {'pattern_offset': ['Zz9']}
        pos = ExploitUtils.pattern_offset(args)
        self.assertEqual(pos, 3 * 10 * 26**2 - 3)

        args = {'pattern_offset': ['0x41613041']}
        pos = ExploitUtils.pattern_offset(args)  # Aa0A in hex
        self.assertEqual(pos, 0)

        args = {'pattern_offset': ['0x385a7a39']}
        pos = ExploitUtils.pattern_offset(args)  # 8Zz9 in hex
        self.assertEqual(pos, 3 * 10 * 26**2 - 4)

        args = {'pattern_offset': ['0x7a375a7a385a7a39']}
        pos = ExploitUtils.pattern_offset(args)  # 8Zz9 in hex
        self.assertEqual(pos, 3 * 10 * 26**2 - 8)

        args = {'pattern_offset': ['0x385a7a3z']}
        pos = ExploitUtils.pattern_offset(args)  # 0x and not hex
        self.assertEqual(pos, None)
    def test_pattern_offset__pattern_pos(self):
        args = {'pattern_offset' : ['Aa0']}
        pos = ExploitUtils.pattern_offset(args)
        self.assertEqual(pos, 0)

        args = {'pattern_offset' : ['Zz9']}
        pos = ExploitUtils.pattern_offset(args)
        self.assertEqual(pos, 3*10*26**2 - 3)
        
        args = {'pattern_offset' : ['0x41613041']}
        pos = ExploitUtils.pattern_offset(args) # Aa0A in hex
        self.assertEqual(pos, 0)

        args = {'pattern_offset' : ['0x385a7a39']}
        pos = ExploitUtils.pattern_offset(args) # 8Zz9 in hex
        self.assertEqual(pos, 3*10*26**2 - 4)
        
        args = {'pattern_offset' : ['0x7a375a7a385a7a39']}
        pos = ExploitUtils.pattern_offset(args) # 8Zz9 in hex
        self.assertEqual(pos, 3*10*26**2 - 8)

        args = {'pattern_offset' : ['0x385a7a3z']}
        pos = ExploitUtils.pattern_offset(args) # 0x and not hex
        self.assertEqual(pos, None)