Exemplo n.º 1
0
def generate_python_shellcode(bin_filename, types_filename=None):
    binary = load_binary(bin_filename)
    if types_filename is None:
        rules = []
    else:
        rules = typesfile.load_types_file(types_filename)
    datas = apply_rules_to_bin(binary, rules)
    source = sourcegen.generate_source(datas)
    validate_source(source, binary)
    return source
Exemplo n.º 2
0
 def test_generate_source(self):
     datas = [
         ('u', "\x00\x11\x22\x33\x44"),
         ('d', ("", {"value": "daste", "depends": ["foo","bar"]})),
     ]
     test_source = sourcegen.generate_source(datas)
     source = "import bar\n"\
             "import foo\n"\
             "\n"\
             "shellcode = \"\"\n"\
             "shellcode += \"\\x00\\x11\\x22\\x33\\x44\"\n"\
             "shellcode += daste\n"
     self.assertEqual(test_source, source)