about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Asmblock: disasm can complete asmcfgFabrice Desclaux2019-11-191-2/+3
| | |
| * | Simplifications: add regression testFabrice Desclaux2019-11-191-0/+7
| |/
* | Merge pull request #1090 from serpilliere/fix_llvm_mem_cacheserpilliere2019-11-191-1/+3
|\ \ | | | | | | Jitter/llvm: Fix llvm Memory lookup cache
| * | Jitter/llvm: Fix llvm Memory lookup cacheFabrice Desclaux2019-11-141-1/+3
| | |
* | | Merge pull request #1095 from serpilliere/fix_fullserpilliere2019-11-181-1/+1
|\ \ \ | | | | | | | | Fix dot 'w' open
| * | | Fix dot 'w' openFabrice Desclaux2019-11-181-1/+1
| | |/ | |/|
* | | Merge pull request #1094 from a-vincent/fix-rep-semanticsserpilliere2019-11-181-1/+1
|\ \ \ | |/ / |/| | Fix semantics of REP prefix.
| * | Fix semantics of REP prefix.Aymeric Vincent2019-11-181-1/+1
|/ / | | | | | | | | | | | | Only REPE and REPNE exist at the binary level, but Miasm allows "REP" when assembling x86 instructions. Make the semantics aware of this instead of ignoring the REP prefix. The bug could not occur when disassembling a binary program.
* | Merge pull request #1093 from htfy96/fix-astserpilliere2019-11-181-4/+5
|\ \ | |/ |/| sembuilder: more compatible way to construct AST module
| * sembuilder: more compatible way to construct AST moduleZheng Luo2019-11-161-4/+5
| | | | | | | | | | | | | | | | | | Python3.8 changes the signature of ast.Module by adding a ignore_comment field which breaks this project. ast.parse("") is a dirty but more compatible way to make it work in both Python 3.8 and <3.8. Fixed #1092
* | Merge pull request #1089 from serpilliere/less_seh_logsserpilliere2019-11-141-12/+12
|\ \ | | | | | | Jitter/Windows: less verbose exceptions
| * | Jitter/Windows: less verbose exceptionsFabrice Desclaux2019-11-131-12/+12
|/ /
* | Merge pull request #1088 from serpilliere/path_are_strPierre Lalet2019-11-1220-283/+396
|\ \ | | | | | | Path are str
| * | Fix z3 importFabrice Desclaux2019-11-123-3/+3
| | |
| * | Clear get_str_* APIFabrice Desclaux2019-11-1217-280/+393
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get_str_ansi decoded strings using utf8 and was blindly used for pure windows function (LoadLibraryA) and for stdlib functions (printf, strlen, ...) even if strlen does not use utf8... New API is: get_win_str_a/get_win_str_w and set_win_str_a/set_win_str_w for windows (respectively codepage1252/windows utf16) .Those functions should only be used in windows strings manipulations, so there are taken out of the jitter. get_c_str/set_c_str: as those functions are "classic" in OSes, they are keeped in the jitter.
* | Merge pull request #1084 from serpilliere/fix_aarch64serpilliere2019-10-313-1/+5
|\ \ | | | | | | Aarch64: add ldarb
| * | Aarch64: add ldarbFabrice Desclaux2019-10-313-1/+5
| | |
* | | Merge pull request #1085 from serpilliere/rm_bad_apiserpilliere2019-10-311-10/+0
|\ \ \ | |/ / |/| | Remove non working/useless api from ircfg
| * | Remove non working/useless api from ircfgFabrice Desclaux2019-10-311-10/+0
|/ /
* | Merge pull request #1082 from monperrus/patch-1serpilliere2019-10-241-18/+18
|\ \ | | | | | | doc: moved the "what" at the top
| * | doc: moved the "what" at the topMartin Monperrus2019-10-231-18/+18
|/ /
* | Merge pull request #1081 from themaks/patch-1serpilliere2019-10-191-1/+1
|\ \ | | | | | | Adds a missing import
| * | Adds a forgotten importMaxime Meignan2019-10-191-1/+1
|/ /
* | Merge pull request #1079 from WilliamBruneau/fix_loader_none_addrserpilliere2019-10-181-1/+2
|\ \ | | | | | | Loader: avoid None dst_ad in lib_imp2dstad
| * | Loader: avoid None dst_ad in lib_imp2dstadWilliam Bruneau2019-10-171-1/+2
| | |
* | | Merge pull request #1078 from serpilliere/fix_bytes_handlingserpilliere2019-10-181-1/+1
|\ \ \ | |/ / |/| | Fix python2/python3 bytes manipulation
| * | Fix python2/python3 bytes manipulationFabrice Desclaux2019-10-171-1/+1
|/ /
* | Merge pull request #1077 from serpilliere/fix_float_tiposerpilliere2019-10-171-5/+5
|\ \ | | | | | | X86/sem: fix tipo during python2/3 updt
| * | X86/sem: fix tipo during python2/3 updtFabrice Desclaux2019-10-171-5/+5
| | |
* | | Merge pull request #1076 from WilliamBruneau/android_supportserpilliere2019-10-171-1/+4
|\ \ \ | | | | | | | | Jitter: android support
| * | | Jitter: remove unused macroWilliam Bruneau2019-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | Furthermore this macro is already declared in android and thus generates a warning.
| * | | Jitter: fix compilation on androidWilliam Bruneau2019-10-161-0/+4
| | | |
* | | | Merge pull request #1075 from WilliamBruneau/remove_clang_warningserpilliere2019-10-161-2/+0
|\ \ \ \ | |/ / / |/| | | Jitter: remove Clang warnings
| * | | Jitter: remove Clang warningsWilliam Bruneau2019-10-161-2/+0
|/ / /
* | | Merge pull request #1074 from WilliamBruneau/avoid_depreciation_warningserpilliere2019-10-161-2/+2
|\ \ \ | | | | | | | | Avoid deprecation warning
| * | | Avoid deprecation warningWilliam Bruneau2019-10-161-2/+2
|/ / /
* | | Merge pull request #1072 from WilliamBruneau/fix_depgraph_idaserpilliere2019-10-091-3/+4
|\ \ \ | | | | | | | | Fix IDA depgraph example
| * | | Fix IDA depgraph exampleWilliam Bruneau2019-10-091-3/+4
| |/ /
* | | Merge pull request #1070 from htfy96/add-roundsdserpilliere2019-10-072-0/+35
|\ \ \ | | | | | | | | Add roundss/roundsd
| * | | arch: x86: add translation from roundsd to IRZheng Luo2019-10-061-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds three new ops for rounding: - 'fpround_towardsnearest': rounds to nearest int, even for ties - 'fpround_down': rounds to nearest int <= float - 'fpround_up': rounds to nearest int >= float - 'fpround_towardszero'(existing): rounds to nearest int s.t. |int| <= |float| For a variant of roundsd that uses mxcsr register as the rounding mode, currently we assume it's fpround_towardsnearest. This may cause trouble if the program modifies MXCSR register. Tested: $ objdump -dSC rounds.so 0000000000001000 <entry>: 1000: 66 0f 3a 0b c0 01 roundsd $0x1,%xmm0,%xmm0 1006: 66 0f 3a 0a c0 0c roundss $0xc,%xmm0,%xmm0 100c: c3 retq $ cat test.py from miasm.analysis.binary import * from miasm.analysis.machine import Machine from miasm.expression.simplifications import expr_simp with open('rounds.so', 'rb') as f: cont = ContainerELF.from_stream(f) machine = Machine(cont.arch) mdis = machine.dis_engine(cont.bin_stream, loc_db=cont.loc_db) asmcfg = mdis.dis_multiblock(cont.loc_db.get_name_offset('entry')) ir = machine.ir(asmcfg.loc_db) ircfg = ir.new_ircfg_from_asmcfg(asmcfg) ircfg.simplify(expr_simp) print(ircfg.blocks[ircfg.heads()[0]].to_string()) $ python test.py loc_key_0: XMM0 = {fpround_down(XMM0[0:64]) 0 64, XMM0[64:128] 64 128} XMM0 = {fpround_towardsnearest(XMM0[0:32]) 0 32, XMM0[32:128] 32 128} RSP = RSP + 0x8 RIP = @64[RSP] IRDst = @64[RSP]
| * | | arch: x86: add roundsd decoderZheng Luo2019-10-061-0/+4
| | |/ | |/|
* | | Merge pull request #1071 from htfy96/ud2-break-flowserpilliere2019-10-071-1/+1
|\ \ \ | |/ / |/| | arch: x86: make UD2 break control flow
| * | arch: x86: make UD2 break control flowZheng Luo2019-10-061-1/+1
|/ /
* | Merge pull request #1068 from losynix/int1serpilliere2019-10-016-2/+19
|\ \ | |/ |/| fix int 1 handling
| * fix int 1 handlingLouis2019-09-306-2/+19
|/
* Merge pull request #1067 from a-vincent/ppc-testsserpilliere2019-09-264-0/+249
|\ | | | | Add a few PPC32 tests
| * Add a few PPC32 testsAymeric Vincent2019-09-253-0/+248
| |
| * add "ba" to the list; allows PPC tests to pass the codespell spellAymeric Vincent2019-09-251-0/+1
|/
* Merge pull request #1066 from vmovq/masterserpilliere2019-09-241-2/+2
|\ | | | | modify CreateFile to open file in binary-mode
| * modify CreateFile to open file in binary-modestanislas2019-09-241-2/+2
|/