about summary refs log tree commit diff stats
path: root/example/jitter/arm.py
blob: 7bd354bc13aba3d8508a8b01a19cf3d60fe77815 (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
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import logging
from pdb import pm

from miasm2.analysis.sandbox import Sandbox_Linux_arml

# Get arguments
parser = Sandbox_Linux_arml.parser(description="""Sandbox an elf binary with arm
 engine (ex: jit_arm.py samples/md5_arm -a A684)""")
parser.add_argument("filename", help="ELF Filename")
parser.add_argument('-v', "--verbose", help="verbose mode", action="store_true")
options = parser.parse_args()

# Prepare the sandbox
sb = Sandbox_Linux_arml(options.filename, options, globals())

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

if options.verbose is True:
    print sb.jitter.vm

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

# Run the code
sb.run()