Commit Graph

359 Commits

Author SHA1 Message Date
Camille Mougey beff35f6f0 JitCore_TCC: Use a callback to free TCCState on Jitted block deletion 2015-02-23 17:56:38 +01:00
Camille Mougey 7c0f2382b7 JitCore: Jitted blocks are now a BoundedDict with a possible callback 2015-02-23 17:55:27 +01:00
Camille Mougey 9303454bbf Core: Introduce BoundedDict and its regression test 2015-02-23 17:54:59 +01:00
Camille Mougey 4713279e25 Merge pull request #83 from serpilliere/expr_immutable
Expr immutable
2015-02-23 13:35:38 +01:00
Fabrice Desclaux 319c5da396 Expression: use __hash__ function instead of property 2015-02-23 13:26:43 +01:00
Fabrice Desclaux ad2762abb5 Arm: fit test 2015-02-23 13:19:36 +01:00
Fabrice Desclaux 6f931cb489 Expression: use private attributes in expression 2015-02-23 12:52:49 +01:00
Fabrice Desclaux 835582686b Expression: Exprcompose are now ordered by default; add sanitycheck for contiguous slices 2015-02-23 12:52:43 +01:00
Fabrice Desclaux 63f1875a12 Expression: fix autopep indentation 2015-02-23 12:52:38 +01:00
serpilliere 287109263e Arch: remove code which uses expression modifications 2015-02-22 01:48:27 +01:00
serpilliere dd2da246f6 Expression: remove code which uses expression modifications 2015-02-22 01:48:27 +01:00
serpilliere f26427471f Expression/Simplification: avoid code modifications 2015-02-22 01:48:27 +01:00
serpilliere 8cc3484036 Expression: Make expressions really immutable. 2015-02-22 01:48:13 +01:00
Camille Mougey 855bc7be4f Merge pull request #78 from p-l-/refactor-named-args
Use named arguments in os_dep/linux
2015-02-21 15:23:52 +01:00
serpilliere f8e5ad9e5a Merge pull request #82 from commial/feature-depgraph
Feature: dependency graphs
2015-02-20 23:20:12 +01:00
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
gg f1b008f62c Fix commit ae4b4b7 because of PR comment 2015-02-20 19:07:15 +01:00
gg ae4b4b7e16 Fixed POPFW instruction 2015-02-20 18:28:07 +01:00
gg 4c98ab9bd9 x86: Fixed PUSHFW and POPFW declaration 2015-02-20 17:16:37 +01:00
Camille Mougey e520a0c5ef DiGraph: Inherite DiGraph from object 2015-02-20 15:20:39 +01:00
gg d751133699 Fixed bad string format on warning in kernel32_GetModuleFileName() 2015-02-20 14:58:03 +01:00
Fabrice Desclaux 82d3e73cd1 X86: fix bsr/bsf behaviour as issued in PR #79 2015-02-20 14:02:20 +01:00
Pierre LALET 75fee69cc0 os_dep/linux: use named arguments 2015-02-20 10:26:02 +01:00
Camille Mougey df19d375b8 Arch/Mips32: Remove wildcard imports 2015-02-18 20:42:54 +01:00
Camille Mougey a2e461cc51 PyLint: Remove keyword redefinition, bad open mode 2015-02-18 20:42:54 +01:00
Camille Mougey d2cc082ba5 PyLint: Import errors, pointless statements (fds), bad indentation 2015-02-18 20:42:54 +01:00
Camille Mougey d7b6cd2f8a Core: General PyLinting 2015-02-18 15:49:36 +01:00
Camille Mougey 3721f1f0cc Core/Interval: interval.cannon_list should be a staticmethod 2015-02-18 15:49:36 +01:00
Camille Mougey 965dca50ea Core/Interval: Add comments 2015-02-18 15:49:36 +01:00
Camille Mougey 797e95f538 Core/Interval: PyLint pass 2015-02-18 15:49:36 +01:00
Camille Mougey fae4d7fca6 Core/CPU: Pylint pass, remove commented code (SCM or log.debug should be used) 2015-02-18 15:49:36 +01:00
Camille Mougey 1a4d3a0c58 Core/ParseASM: Remove some warning
|invalid-name               |1           |
+---------------------------+------------+
|undefined-loop-variable    |5           |
+---------------------------+------------+
|unused-variable            |4           |
+---------------------------+------------+
|unused-import              |1           |
+---------------------------+------------+
|deprecated-lambda          |1           |
+---------------------------+------------+
|bad-builtin                |1           |
2015-02-18 15:49:36 +01:00
Camille Mougey 86e9499be5 Core/ParseASM: Remove wildcard import and too long lines 2015-02-18 15:49:36 +01:00
Pierre LALET adc302eede ir: replace wildcard imports + pylint compliance 2015-02-18 12:17:24 +01:00
Pierre LALET a9864c802f analysis: replace wildcard imports 2015-02-18 10:45:26 +01:00
Pierre LALET f0f3683985 os_dep: replace wildcard imports 2015-02-18 09:21:49 +01:00
serpilliere 60d709d364 Merge pull request #74 from commial/comment-mips32
Comment mips32
2015-02-18 08:57:16 +01:00
Pierre LALET 9a40e4bbf9 os_dep.win_api_x86_32: use argument lists in .func_args_*(), (bug)fixes 2015-02-17 18:45:53 +01:00
Ajax 6b87237542 Mips32/Sem: Import expression as m2_expr 2015-02-17 17:46:36 +01:00
Ajax e3a85d39b5 Mips32/Sem: Remove wildcard-import from regs 2015-02-17 17:46:36 +01:00
Ajax 2ea2f7f190 Mips32/Sem: Describe common MIPS32 instructions
Source: http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html
2015-02-17 17:46:36 +01:00
Pierre LALET c8c67dbe4f Use @named_arguments decorators for .func_args_* methods 2015-02-17 12:50:05 +01:00
Pierre LALET 0c4dde0602 Use wrapper named_arguments to log function calls 2015-02-17 12:50:05 +01:00
Pierre LALET 773a0e9a43 Add a function decorator to use named arguments in .func_args_stdcall() methods 2015-02-17 12:47:33 +01:00
Pierre LALET 779cacc9a7 os_dep: reorder imports 2015-02-17 12:46:00 +01:00
Camille Mougey 0fcd954e10 PyLint: Unreachable code 2015-02-16 16:40:19 +01:00
Camille Mougey f6ba0b1b60 PyLint: remove 'unnecessary-lambda' 2015-02-16 16:25:46 +01:00
Camille Mougey 0ab6ee1973 PyLint: Wild-unused-import (expression.expression) in x86 part 2015-02-16 16:17:31 +01:00
Camille Mougey d180b0e59f PyLint: Replace old Raise syntax
W: 35,12: Use raise ErrorClass(args) instead of raise ErrorClass, args. (old-raise-syntax)
W: 38,12: Use raise ErrorClass(args) instead of raise ErrorClass, args. (old-raise-syntax)
2015-02-16 15:34:23 +01:00
Camille Mougey cc499d537d PyLint: Remove global variables undefined
/miasm2/os_dep/win_api_x86_32_seh.py:596: [W0601(global-variable-undefined), init_seh] Global variable 'seh_count' undefined at the module level
miasm2/os_dep/win_api_x86_32_seh.py:729: [W0601(global-variable-undefined), fake_seh_handler] Global variable 'seh_count' undefined at the module level
2015-02-16 15:32:47 +01:00