about summary refs log tree commit diff stats
path: root/miasm2/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Introduce MatchGraph, the counterpart of MatchExpr for DiGraphAjax2016-01-271-0/+248
|
* Rename BasicBlocks -> AsmCFG, more comprehensible, include "graph"Ajax2016-01-262-20/+20
|
* BasicBlocks.pendings can be a set (creds @serpilliere)Ajax2016-01-261-5/+5
|
* AsmBloc: rewrite split_bloc into BasicBlocks.apply_splittingAjax2016-01-261-43/+58
|
* AsmBloc: rewrite block_merge using graph simplificationAjax2016-01-261-171/+46
|
* Graph: introduce GraphSimplifier, counterpart of ExpressionSimplifierAjax2016-01-261-0/+34
| | | | for Graph
* AsmBloc: introduce BasicBlocks, standing for a CFG with associated methodsAjax2016-01-262-150/+344
|
* Graph: add_node return the previous statusAjax2016-01-251-1/+6
|
* Graph; introduce copy and mergeAjax2016-01-251-0/+19
|
* Graph: two graphs are equals if they have the same nodes and edgesAjax2016-01-251-0/+7
|
* Asmbloc: fix get_range (creds: @commial)Fabrice Desclaux2016-01-211-2/+4
|
* Asmbloc: Fix asmbloc label (creds @commial)Fabrice Desclaux2016-01-211-1/+2
|
* Types: Void type reprFlorent Monjalet2016-01-181-0/+3
|
* Types: typo, MemStruct.get_offset should be a classmethodFlorent Monjalet2016-01-181-2/+8
| | | | Also added tests and MemArray.get_offset
* Types: MemStruct.get_offset() shorthand for @serpiFlorent Monjalet2016-01-181-0/+4
|
* Types: Support anonymous Struct/Union/BitFieldFlorent Monjalet2016-01-181-11/+72
| | | | | | | | | | | | | | | | | | See the test addition for an example. A Struct, Union, or BitField field with no name will be considered anonymous: all its fields will be added to the parent Struct/Union/BitField. This implements this kind of C declaration: struct foo { int a; union { int bar; struct { short baz; short foz; }; }; }
* Types: adding the ("field", SomeMemType) syntaxFlorent Monjalet2016-01-181-5/+18
| | | | | Shorthand for ("field", SomeMemStruct.get_type()) in a Struct or MemStruct fields definition.
* Types: Type size is now a propertyFlorent Monjalet2016-01-181-14/+21
|
* Types: Str encoding now generic to all str python supported encodingsFlorent Monjalet2016-01-181-64/+134
|
* Types: zip -> itertools.izipFlorent Monjalet2016-01-181-2/+3
|
* MemStruct/Types: ALLOCATOR becomes a MemType class attributeFlorent Monjalet2016-01-181-17/+24
|
* MemStruct: little MemType doc additionFlorent Monjalet2016-01-181-1/+1
|
* MemStruct/Types: Array idx fix + MemStr.from_str featureFlorent Monjalet2016-01-181-16/+45
| | | | | MemStr.from_str allows to allocate and set a string automatically if ALLOCATOR is set. This avoids allocating a buffer and filling it later.
* MemStruct/Types: pinned renamed to lvalFlorent Monjalet2016-01-181-24/+55
|
* MemStruct/Types: Renamed analysis.mem to core.typesFlorent Monjalet2016-01-181-0/+1399
|
* AsmBloc: c_bad is now an asm_block_bad (edge -> node)Ajax2016-01-151-60/+61
| | | | | | /!\ Modify the API of dis_bloc, which now return an asm_bloc instead of creating one (in Miasm, this block was always created jsut before calling dis_bloc)
* AsmBlock: introduce asm_block_badAjax2016-01-151-0/+30
|
* AsmBloc: "type() is ... " -> isinstanceAjax2016-01-151-3/+3
|
* Instructions: slots classFabrice Desclaux2016-01-151-0/+3
|
* Merge pull request #302 from commial/refactor-asmlabelserpilliere2016-01-132-31/+62
|\ | | | | Refactor asmlabel
| * AsmConstraint.label is always an asm_label: remove dead codeAjax2016-01-121-19/+4
| |
| * AsmBloc: handle multiple constraints to the same blockAjax2016-01-122-2/+48
| | | | | | | | | | | | Always the same type -> one of the constraint c_bad and sth -> error c_next and c_to -> c_next
| * AsmConstraint: ensure label is always an asm_labelAjax2016-01-112-1/+4
| |
| * Mips32: fix delayslot (creds @serpilliere)Ajax2016-01-111-5/+2
| |
| * AsmLabel label argument must not be optionalAjax2016-01-111-4/+4
| |
* | BinStream: use a standard dict instead of a bounded oneAjax2016-01-081-2/+1
| | | | | | | | Generally, the cache is not very large. Using a dict is more effective.
* | Cpu: leave atomic mode on disasm ExceptionAjax2016-01-081-5/+5
| |
* | BinStream: ensure atomic mode state before switchingAjax2016-01-081-0/+2
| |
* | MnemoDis: enter atomic mode for a disasm boostAjax2016-01-082-1/+5
| |
* | BinStream: use the wrapper on get_bytes for each bin streamAjax2016-01-082-6/+6
| |
* | BinStream: introduce Atomic Mode (read may be cached)Ajax2016-01-081-1/+34
| |
* | BinStream: comment getbitsAjax2016-01-081-16/+22
| |
* | BinStream: merge getbits calls to getbytesAjax2016-01-081-5/+7
|/
* Autopep8Fabrice Desclaux2015-12-161-2/+1
|
* Update api according to ElfesteemFabrice Desclaux2015-12-161-3/+3
|
* Semantic: instr.mode doesn't stand for ir.IRDst.sizeAjax2015-11-171-3/+3
| | | | | These objects may represent two different things. In x86, they both have the same value, but this is not always true for others architectures
* SemBuilder: introduce a new notation {a, b} for ExprComposeAjax2015-11-161-0/+27
|
* SemBuilder: use a local context per functionAjax2015-11-161-2/+6
|
* SemBuilder: handle if .. else .. structuresAjax2015-11-161-37/+46
|
* SemBuilder: update `ir.get_next_label` APIAjax2015-11-161-1/+2
|