Camille Mougey
5f1a1e6e4c
Analysis: Introduce DependencyGraph, computing dependencies of elements
...
The dependencies are computed through a list of blocs (IRA).
APIs `.get*` return an iterator on DiGraph(DependencyNode). Each DiGraph
contains only relevant DependencyNode, which stand for an element at
a given line in a given basic block. That way, outputs contain each elements
involved in the target value computation.
Different outputs stand for different path through blocks (loop, ...).
This algorithm has been co-developped with @serpillere.
2015-02-20 19:30:49 +01:00
Camille Mougey
d2cc082ba5
PyLint: Import errors, pointless statements (fds), bad indentation
2015-02-18 20:42:54 +01:00
Pierre LALET
a9864c802f
analysis: replace wildcard imports
2015-02-18 10:45:26 +01:00
Pierre LALET
0c4dde0602
Use wrapper named_arguments to log function calls
2015-02-17 12:50:05 +01:00
Camille Mougey
40b340af36
PyLint: Debugging: Invalid name
2015-02-16 15:13:42 +01:00
Camille Mougey
8d581fe43c
PyLint: Remove unused-imports
...
miasm2/jitter/jitload.py:4: [W0611(unused-import), ] Unused import asmbloc
miasm2/jitter/jitload.py:3: [W0611(unused-import), ] Unused import os
miasm2/jitter/loader/elf.py:4: [W0611(unused-import), ] Unused import pe
miasm2/ir/ir.py:27: [W0611(unused-import), ] Unused import DiGraph
miasm2/ir/translators/z3_ir.py:6: [W0611(unused-import), ] Unused import m2_expr
miasm2/core/parse_asm.py:5: [W0611(unused-import), ] Unused import struct
miasm2/analysis/sandbox.py:8: [W0611(unused-import), ] Unused import libimp
miasm2/analysis/sandbox.py:1: [W0611(unused-import), ] Unused import os
miasm2/analysis/sandbox.py:5: [W0611(unused-import), ] Unused import win_api_x86_32
miasm2/analysis/sandbox.py:1: [W0611(unused-import), ] Unused import sys
miasm2/expression/simplifications_cond.py:17: [W0611(unused-import), ] Unused import itertools
miasm2/arch/arm/arch.py:5: [W0611(unused-import), ] Unused import pm
miasm2/arch/x86/sem.py:23: [W0611(unused-import), ] Unused import expr_is_int_or_label
miasm2/arch/mips32/arch.py:12: [W0611(unused-import), ] Unused import pm
miasm2/arch/mips32/disasm.py:1: [W0611(unused-import), ] Unused import asm_constraint
2015-02-16 12:21:18 +01:00
Fabrice Desclaux
17fdd09938
Sandbox: typo
2015-02-13 14:21:57 +01:00
Fabrice Desclaux
1032224157
Analysis/Sandbox: add sanbox win x86_64
2015-02-13 13:33:10 +01:00
Camille Mougey
d80ab06b15
Merge pull request #59 from serpilliere/sandbox_quiet
...
Sandbox: quiet logs
2015-02-10 13:32:59 +01:00
Fabrice Desclaux
756c89d8ff
Sandbox: quiet logs
2015-02-10 10:46:38 +01:00
Fabrice Desclaux
b20bbe9ba9
Analysis/Sandbox: use os dependant method in custom sandboxes
2015-01-29 09:21:25 +01:00
Camille Mougey
9bec8ef124
Analysis/Machine: Export base_expr
2015-01-23 17:24:43 +01:00
Camille Mougey
c9657d8b5e
Loader/PE: Update vm_load_pe_lib* APIs to take a VmMngr instance in input
2014-12-24 18:50:42 +01:00
Camille Mougey
aa9145fca6
Analysis: Update vm_loads calls, avoid reimplemeting vm_load_pe_libs
2014-12-20 17:44:23 +01:00
Camille Mougey
915a3e1ae9
SandboxLinux: entry_point was inexistant, options.address was ignored
2014-12-09 17:15:10 +01:00
Fabrice Desclaux
3d42eb7ae4
Loader/libimp: update api
2014-12-08 19:24:07 +01:00
Camille Mougey
dece74308a
Sandbox: Fix debugging option
2014-12-03 18:01:58 +01:00
Fabrice Desclaux
05a333fe41
Jitter: update API
2014-12-03 11:26:45 +01:00
Fabrice Desclaux
fb593e870b
Machine: refactor properties.
2014-11-17 10:39:23 +01:00
Fabrice Desclaux
55784b25d9
Sandbox: log function calls by default; add -q option to disable it.
2014-11-17 10:33:33 +01:00
Fabrice Desclaux
2be12013e7
Machine: add jit/arch log properties
2014-11-17 10:32:21 +01:00
Camille Mougey
d224bd8b0e
Container: Refactor in class and subclass for PE, ELF and Unknown
2014-11-03 19:11:27 +01:00
Camille Mougey
bf08353e23
Container: update API with full words
2014-11-03 18:05:49 +01:00
Camille Mougey
1c6b959a3a
Container: Fix import, refactor file reading
2014-11-03 18:04:20 +01:00
Camille Mougey
7d0bdbcafd
Container: Refactor and comment
2014-11-03 17:38:25 +01:00
Fabrice Desclaux
b104561484
merge
2014-10-22 15:26:40 +02:00
ajax
b6a1d1e121
Machine: Update available machine list
2014-10-21 17:30:04 +02:00
Fabrice Desclaux
13b47e5d7a
sandbox: missing import (tx to N.Pourcelot)
2014-10-16 16:53:11 +02:00
Fabrice Desclaux
5de25f4253
Sandbox: fix address as argument
2014-10-16 15:05:39 +02:00
Fabrice Desclaux
e5ad0b4553
Reg test: add arm jit little/big endian
2014-10-09 17:47:22 +02:00
Fabrice Desclaux
7101a6d9d5
Arch/jit: add endianess support jitters
2014-10-09 17:04:36 +02:00
Fabrice Desclaux
12bedca7aa
Sandbox: add arm arch
2014-10-07 19:43:18 +02:00
Fabrice Desclaux
18ab294bf5
Move os_dep out of the jitter module
2014-10-07 18:41:37 +02:00
Fabrice Desclaux
809d3738bb
Remove vm_ prefix /!\ API MODIF
...
The jitter cpu/vm modules used an unecessary vm_ prefix for various api.
jitter.cpu.vm_get_gpreg() => jitter.cpu.get_gpreg()
jitter.vm.vm_get_mem... => jitter.vm.get_mem...
2014-10-07 17:44:50 +02:00
ajax
ecb92eb843
Sandbox: Pass arguments to parser init
2014-10-02 18:01:25 +02:00
Fabrice Desclaux
cf326cec07
Analysis: add sanbdox wrapper
2014-10-02 14:23:30 +02:00
Fabrice Desclaux
6e09df71a3
Modify irbloc destination mecanism. Rework API in consequence.
...
Fat patch here: some API have changed.
Each irbloc now affects a special "IRDst" register which is used to
describe the destination irbloc. It allows simple description of
architectures using delay slots. Architectures semantic and tcc/python
jitter are modified in consequence. LLVM jitter is disabled for now,
but should be patch soon.
2014-09-05 11:30:05 +02:00
Fabrice Desclaux
82863e884a
binary: suppr verbose messages
2014-09-01 13:48:45 +02:00
Fabrice Desclaux
acd7a06154
analysis: add container for elf/pe/str manipulation
2014-08-29 16:03:17 +02:00
serpilliere
22c0cc1ae2
Jitter: add mips32l jit
2014-08-22 16:13:53 +02:00
serpilliere
2f533af6cf
msp430: move jit
2014-08-21 13:34:17 +02:00
serpilliere
cc2b6e079a
jit: move code into arch directory
2014-08-21 11:09:24 +02:00
serpilliere
5763236891
mips32: little/big endian is now an attrib
2014-08-21 09:49:01 +02:00
CM
e79b01b21e
Machine: Add wrapper over gdbserver
2014-08-20 15:53:02 +02:00
CM
852d73e053
Machine: add wrapper over jitter
2014-08-20 15:48:16 +02:00
CM
2b047dbc10
Machine: Add an abstract machine wrapper
2014-08-20 15:21:22 +02:00
ajax
d249df3798
Gdbserver: assert EIP with jitter PC
2014-06-04 21:40:08 +02:00
ajax
1ab973f6ed
Debugging: fix watchmem second arg
2014-06-04 21:38:06 +02:00
serpilliere
ed5c3668cc
Miasm v2
...
* API has changed, so old scripts need updates
* See example for API usage
* Use tcc or llvm for jit emulation
* Go to test and run test_all.py to check install
Enjoy !
2014-06-03 10:27:56 +02:00