Commit Graph

57 Commits

Author SHA1 Message Date
Fabrice Desclaux c748d74297 IR: avoid IRBlock attribute creation 2017-05-24 12:23:53 +02:00
Fabrice Desclaux 47fb50d611 Example: clean code 2017-05-15 21:29:34 +02:00
Fabrice Desclaux 9e79f4338a Core/Objc: improuve internal type representation 2017-05-15 21:29:34 +02:00
Ajax 9c8869368c Remove PYTHONSTARTUP in end-user scripts 2017-04-24 18:16:47 +02:00
Fabrice Desclaux 4d511eab15 IRBlock: move lines in AssignBlock 2017-04-20 12:36:51 +02:00
Ajax f81c3e4b42 Replace ExprInt[num](x) -> ExprInt(x, num) 2017-03-30 16:04:40 +02:00
Caroline Leman 5d10f696e0 analysis: Introduction of use-definition chains
- previous dead_simp function has been moved to data_flow.py
- ira class has been simplified
- reach analysis code has been 'clarified'
2017-03-29 12:33:05 +02:00
Fabrice Desclaux 1b3fcbdda8 Core/asmbloc: move asmbloc to asmblock 2017-03-13 15:07:28 +01:00
Fabrice Desclaux d0727aa74b Asmbloc: rename asm_label to AsmLabel 2017-03-13 14:13:14 +01:00
Fabrice Desclaux 287cb1bb18 All: rename vars bloc -> block 2017-03-13 14:13:13 +01:00
Fabrice Desclaux c3940991f2 IR: rename blocs to blocks 2017-03-13 14:13:09 +01:00
Fabrice Desclaux d8cbc05965 IR/Symbexec: rename symbexec to SymbolicExecutionEngine 2017-03-13 13:56:26 +01:00
Fabrice Desclaux de06847ea2 Test: add access_c/expr_c example 2017-02-17 14:53:45 +01:00
Camille Mougey d30ea37881 Merge pull request #494 from serpilliere/expression_reducer
Expression: add ExprReduce
2017-02-13 16:35:18 +01:00
Fabrice Desclaux eb7d90bb49 Expression: add ExprReduce 2017-02-13 16:26:05 +01:00
Fabrice Desclaux a7c9a7f769 Core/cpu: change ParseAst name 2017-02-13 15:04:25 +01:00
Fabrice Desclaux 494ba6e2b3 Expr: Remove exprint_from 2016-12-23 15:11:48 +01:00
Fabrice Desclaux 3771288cff ExprCompose: add new api
The ExprComposes uses directly its arguments sizes to guess the slices
locations.
Old api:  ExprCompose([(a, 0, 32), (b, 32, 64)])
becomes:  ExprCompose(a, b)
2016-11-04 16:45:46 +01:00
Fabrice Desclaux 35ead949d8 AssignBlock 2016-02-26 15:53:53 +01:00
Ajax 455cfbe8b7 BasicBlocks: update examples with the new API 2016-01-26 17:09:18 +01:00
Ajax 308a634b7c IR: replace .g with a lazy built .graph, avoiding the need of gen_graph 2015-12-07 11:15:43 +01:00
Ajax b4114c3e78 Example: move output .txt to .dot 2015-11-09 15:01:12 +01:00
Ajax fe5b12c623 Example/Expr: unused import 2015-11-06 17:53:27 +01:00
Ajax 8cc9de4f95 Example/Expr: reorganize imports 2015-11-06 17:39:51 +01:00
Ajax e77a4a2430 Example/Expr: unused import 2015-11-06 17:39:12 +01:00
Ajax 9491efe21e Example/EXPR: unused import 2015-11-06 17:38:21 +01:00
Ajax 685bbab340 Example/EXPR: unused import DiGraph 2015-11-06 17:37:25 +01:00
serpilliere 00daaf5d0d Core/parse_asm: update parse_txt API use 2015-10-29 21:40:20 +01:00
Ajax 039c2ca9d9 GraphDataflow: A function where never executed / tested 2015-04-30 19:12:43 +02:00
Ajax 7c4b58d2fb GraphDataflow: Refactor, PyLinting 2015-04-30 19:12:36 +02:00
Ajax b853add3ef GraphDataflow: update API 2015-04-30 19:12:25 +02:00
Fabrice Desclaux b148652ebd Parse_asm: generate asm_label on symbol parsing
For an unknown symbol, instead of generating ExprId('toto'), it will generate
ExprId(asm_label('toto')). As label is generated in the architecture, this label
must be catched in the parse_asm module to be inserted in the current
symbol_pool.
2015-04-01 23:47:37 +02:00
Fabrice Desclaux f9c49e92da Clean: remove unecessary ast_parser modification 2015-04-01 23:47:37 +02:00
Fabrice Desclaux 22777cc19e Asmbloc: updt asmbloc api 2015-04-01 23:47:37 +02:00
Camille Mougey d9eb63d9c4 Example/Expression: Set the seed for ExprRandom uses 2015-01-23 17:24:43 +01:00
Camille Mougey 42d91afa74 Example: Move expression samples to sample directory 2015-01-23 17:24:43 +01:00
Camille Mougey c0b195dfb8 Example: Update expr_translate to use Miasm translator and take in account #23 2014-12-16 17:48:18 +01:00
Camille Mougey 9c518f0edd Example: Add a new example using C & Python translation 2014-12-14 18:25:52 +01:00
Camille Mougey 03759804c0 Example: Add an example for ExprRandom 2014-12-10 17:28:33 +01:00
Fabrice Desclaux 7101a6d9d5 Arch/jit: add endianess support jitters 2014-10-09 17:04:36 +02:00
Camille Mougey 602f73846b Example: Add an example of a simplification registering 2014-09-19 14:18:12 +02:00
Camille Mougey 2bc1d7810d Expression examples: Rename examples with meaningfull names 2014-09-19 13:58:03 +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
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
serpilliere a183e1ebd5 Send miasm v1 to hell 2014-06-03 10:18:48 +02:00
serpilliere ddddebe228 rewrite expression visitor; expr_simp 2012-12-19 21:36:24 +01:00
serpilliere db218bfa16 core: fix add_label api for asm_bloc (louis granboulan) 2012-12-03 10:55:34 +01:00
serpilliere 753e230cec eval_abs: fix mem lookup; ia32_sem: gen ia32info 2012-07-31 12:57:04 +02:00
serpilliere de1f8324be expression_helper: fix exprcompose simplification 2012-07-04 09:44:23 +02:00
serpilliere 3af3f8e0f4 tools: add modint; remove numpy dependency 2012-06-21 14:39:26 +02:00