about summary refs log tree commit diff stats
path: root/example/test_jit_arm.py
blob: e4eddad39f472d7d8f4e84c4196b6556ca271206 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from miasm2.analysis import debugging, gdbserver

from miasm2.analysis.sandbox import Sandbox_Linux_arml
from miasm2.jitter.loader.elf import vm_load_elf, preload_elf
from miasm2.analysis.machine import Machine
import logging

from pdb import pm

parser = Sandbox_Linux_arml.parser(description="""Sandbox an elf binary with arm engine
(ex: test_jit_arm.py example/md5_arm -a A684)""")
parser.add_argument("filename", help="PE Filename")
parser.add_argument('-v', "--verbose",
                    help="verbose mode", action="store_true")

options = parser.parse_args()
sb = Sandbox_Linux_arml(options.filename, options, globals())


if options.verbose is True:
    logging.basicConfig(level=logging.INFO)
else:
    logging.basicConfig(level=logging.WARNING)

if options.verbose is True:
    sb.jitter.vm.dump_memory_page_pool()

if options.address is None:
    raise ValueError('invalid address')

sb.run()