about summary refs log tree commit diff stats
path: root/miasm2/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* DiGraph: Refactor internal structures to avoid duplicationAjax2015-04-281-8/+8
|
* DiGraph: Ambiguous name for internal structuresAjax2015-04-281-15/+17
|
* SemBuilder: Introduce the 'if cond' statement, building a new IRBlockAjax2015-04-241-16/+113
|
* SemBuilder: Get back functions parsed for mnemo_funcAjax2015-04-241-5/+11
|
* SemBuilder: PreInit context with needed valuesAjax2015-04-241-1/+10
|
* SemBuilder: Add `('X' % Y)(Z) -> ExprOp('X' % Y, Z)` and `('X')(Y) -> ↵Ajax2015-04-231-15/+35
| | | | ExprOp('X')(Y)`
* SemBuilder: Handle real variable declarationAjax2015-04-221-0/+10
|
* Core: Introduce SemBuilder, a helper for building semantics side effectsAjax2015-04-221-0/+145
|
* Merge pull request #141 from serpilliere/sanitycheck_asmCamille Mougey2015-04-051-0/+22
|\ | | | | Asmbloc: add sanity check before assemble
| * Asmbloc: add sanity check before assembleFabrice Desclaux2015-04-051-0/+22
| |
* | Asmbloc: use correct api in wedge mergeFabrice Desclaux2015-04-051-1/+1
|/
* Interval: fix contains; updt reg testsFabrice Desclaux2015-04-021-10/+10
|
* Asmbloc: refactor and clean asmbloc/parse_asmFabrice Desclaux2015-04-022-269/+192
|
* Cpu: modify instructions' offset relative encodingFabrice Desclaux2015-04-011-6/+9
| | | | | | | | | | | | | | | | | | | The assembler will automatically use instruction len in offset computation In the following instruction: 0x10: EB 02 JMP 0x14 If we assemble this instruction, the requested instruction send to the assembler engine will be: JMP +0x4 And will be encoded to: EB 02 Previously, the assembly of: JMP +0x4 was: EB 04
* interval: add empty propertyFabrice Desclaux2015-04-011-0/+6
|
* Clean get_asm_offsetFabrice Desclaux2015-04-011-2/+2
|
* Asmbloc: updt apiFabrice Desclaux2015-04-011-4/+6
|
* Asmbloc: refactor and clean asmbloc/parse_asmFabrice Desclaux2015-04-012-239/+268
|
* Parse_asm: generate asm_label on symbol parsingFabrice Desclaux2015-04-011-0/+23
| | | | | | | 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.
* Asmbloc: rename variables; rework contrained blocksFabrice Desclaux2015-04-011-65/+60
|
* Remove lazy logging patternAjax2015-03-302-25/+24
|
* Merge pull request #122 from serpilliere/dontsplitCamille Mougey2015-03-201-1/+1
|\ | | | | ParseAsm: dont generate parasite line on 'dontsplit' directive
| * ParseAsm: dont generate parasite line on 'dontsplit' directiveFabrice Desclaux2015-03-201-1/+1
| |
* | Asmbloc: clean symbol_poolFabrice Desclaux2015-03-201-126/+144
|/
* Merge pull request #113 from serpilliere/fix_x86_prefix_binCamille Mougey2015-03-161-2/+2
|\ | | | | Fix x86 prefix bin
| * CPU: fix binary output for instruction with prefixserpilliere2015-03-141-2/+2
| |
* | Graph: factorize dominator/postdominator codeserpilliere2015-03-131-63/+37
| |
* | Graph: add postdominators computationFabrice Desclaux2015-03-121-0/+42
| |
* | Graph: dominators computation can only be done regarding to *one* headFabrice Desclaux2015-03-121-27/+42
|/ | | | The 'get_all_parents' is replaced by 'reachable_parents'
* BinStreamIDA: `getlen` is now lazy, and use the proper IDA APIAjax2015-02-271-1/+7
|
* Core: Introduce BoundedDict and its regression testCamille Mougey2015-02-231-0/+73
|
* DiGraph: Inherite DiGraph from `object`Camille Mougey2015-02-201-1/+1
|
* PyLint: Remove keyword redefinition, bad open modeCamille Mougey2015-02-182-4/+4
|
* Core: General PyLintingCamille Mougey2015-02-183-43/+29
|
* Core/Interval: `interval.cannon_list` should be a `staticmethod`Camille Mougey2015-02-181-2/+3
|
* Core/Interval: Add commentsCamille Mougey2015-02-181-32/+28
|
* Core/Interval: PyLint passCamille Mougey2015-02-181-23/+28
|
* Core/CPU: Pylint pass, remove commented code (SCM or log.debug should be used)Camille Mougey2015-02-181-306/+105
|
* Core/ParseASM: Remove some warningCamille Mougey2015-02-181-7/+6
| | | | | | | | | | | | | | |invalid-name |1 | +---------------------------+------------+ |undefined-loop-variable |5 | +---------------------------+------------+ |unused-variable |4 | +---------------------------+------------+ |unused-import |1 | +---------------------------+------------+ |deprecated-lambda |1 | +---------------------------+------------+ |bad-builtin |1 |
* Core/ParseASM: Remove wildcard import and too long linesCamille Mougey2015-02-181-34/+27
|
* PyLint: Unreachable codeCamille Mougey2015-02-162-2/+2
|
* PyLint: remove 'unnecessary-lambda'Camille Mougey2015-02-161-1/+1
|
* PyLint: Remove relative importsCamille Mougey2015-02-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | miasm2/jitter/jitload.py:17: [W0403(relative-import), ] Relative import 'jitcore_tcc', should be 'miasm2.jitter.jitcore_tcc' miasm2/jitter/jitload.py:22: [W0403(relative-import), ] Relative import 'jitcore_llvm', should be 'miasm2.jitter.jitcore_llvm' miasm2/jitter/jitload.py:27: [W0403(relative-import), ] Relative import 'jitcore_python', should be 'miasm2.jitter.jitcore_python' miasm2/jitter/jitcore.py:20: [W0403(relative-import), ] Relative import 'csts', should be 'miasm2.jitter.csts' miasm2/jitter/jitcore_tcc.py:7: [W0403(relative-import), ] Relative import 'jitcore', should be 'miasm2.jitter.jitcore' miasm2/jitter/jitcore_llvm.py:4: [W0403(relative-import), ] Relative import 'llvmconvert', should be 'miasm2.jitter.llvmconvert' miasm2/jitter/jitcore_llvm.py:5: [W0403(relative-import), ] Relative import 'jitcore', should be 'miasm2.jitter.jitcore' miasm2/jitter/loader/elf.py:7: [W0403(relative-import), ] Relative import 'utils', should be 'miasm2.jitter.loader.utils' miasm2/core/cpu.py:11: [W0403(relative-import), ] Relative import 'bin_stream', should be 'miasm2.core.bin_stream' miasm2/core/cpu.py:12: [W0403(relative-import), ] Relative import 'utils', should be 'miasm2.core.utils' miasm2/arch/sh4/arch.py:9: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.sh4.regs' miasm2/arch/msp430/sem.py:8: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.msp430.regs' miasm2/arch/msp430/arch.py:10: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.msp430.regs' miasm2/arch/msp430/arch.py:11: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.msp430.regs' miasm2/arch/msp430/disasm.py:2: [W0403(relative-import), ] Relative import 'arch', should be 'miasm2.arch.msp430.arch' miasm2/arch/arm/arch.py:10: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.arm.regs' miasm2/arch/arm/arch.py:11: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.arm.regs' miasm2/arch/arm/disasm.py:2: [W0403(relative-import), ] Relative import 'arch', should be 'miasm2.arch.arm.arch' miasm2/arch/x86/sem.py:26: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.x86.regs' miasm2/arch/x86/arch.py:9: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.x86.regs' miasm2/arch/x86/arch.py:10: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.x86.regs' miasm2/arch/x86/disasm.py:3: [W0403(relative-import), ] Relative import 'arch', should be 'miasm2.arch.x86.arch' miasm2/arch/mips32/arch.py:10: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.mips32.regs' miasm2/arch/mips32/arch.py:11: [W0403(relative-import), ] Relative import 'regs', should be 'miasm2.arch.mips32.regs' miasm2/arch/mips32/disasm.py:2: [W0403(relative-import), ] Relative import 'arch', should be 'miasm2.arch.mips32.arch'
* PyLint: Remove unused-importsCamille Mougey2015-02-161-1/+0
| | | | | | | | | | | | | | | | | | 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
* bin_stream: Fix default argument for bin_stream_containerFabrice Desclaux2015-02-111-1/+4
|
* CPU: update api to handle IOError during disasmFabrice Desclaux2015-02-111-3/+5
|
* bin_stream: clean code and update APIFabrice Desclaux2015-02-112-59/+35
| | | | | | | | | | | The __len__ cannot be used any more in bin_stream: Python returns an int object, which will cap values to 0x7FFFFFFF on 32 bit systems. A binary can have a base address higher than this, making it impossible to handle such programs. The __len__ is replaced by a call to getlen. Elfesteem needs an update to support 'max_addr' API in order to retrieve the elf/pe max virtual address.
* Core/ASMBloc: `bloc_merge`'s `symbol_pool` arg was unusedCamille Mougey2015-01-261-77/+3
|
* Core/ASMBloc: `asm_resolve_final`'s `constrain_pos` arg was unusedCamille Mougey2015-01-261-2/+1
|
* Core/ASMBloc: `guessèblocs_size`'s `symbol` arg was unusedCamille Mougey2015-01-261-2/+2
|