about summary refs log tree commit diff stats
path: root/example/loader/build_pe.py (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-11-25Jitter: add 'run' APIFabrice Desclaux2-2/+11
2019-11-25Loader/utils: less debugFabrice Desclaux1-3/+3
2019-11-25Loader/Pe: fix py2/py3 strFabrice Desclaux1-6/+2
2019-11-25Core/Interval: Add explicit api for intervalFabrice Desclaux1-9/+34
2019-11-25Rm dbgFabrice Desclaux1-1/+0
2019-11-25Fix peb page commentFabrice Desclaux1-4/+4
2019-11-21Asmblock: fix instruction generationFabrice Desclaux1-2/+17
Instruction length can change from forecast
2019-11-21X86: add instrFabrice Desclaux2-0/+6
2019-11-21Fix int/long py2/py3Fabrice Desclaux1-1/+1
2019-11-21Win_API: Temporary fix for ids in 64 bitsFabrice Desclaux1-3/+3
Id(xxx) is actually used to generated handles on windows os_dep A future patch will add handles generation / management for windows environement.
2019-11-20Expr: ret ExprLoc on cst_readFabrice Desclaux1-1/+4
2019-11-19Add missing addrsizeFabrice Desclaux2-0/+2
2019-11-19Asmblock: disasm can complete asmcfgFabrice Desclaux1-2/+3
2019-11-19Simplifications: add regression testFabrice Desclaux1-0/+7
2019-11-18Fix semantics of REP prefix.Aymeric Vincent1-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.
2019-11-18Fix dot 'w' openFabrice Desclaux1-1/+1
2019-11-16sembuilder: more compatible way to construct AST moduleZheng Luo1-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
2019-11-14Jitter/llvm: Fix llvm Memory lookup cacheFabrice Desclaux1-1/+3
2019-11-13Jitter/Windows: less verbose exceptionsFabrice Desclaux1-12/+12
2019-11-12Fix z3 importFabrice Desclaux3-3/+3
2019-11-12Clear get_str_* APIFabrice Desclaux17-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.
2019-10-31Aarch64: add ldarbFabrice Desclaux3-1/+5
2019-10-31Remove non working/useless api from ircfgFabrice Desclaux1-10/+0
2019-10-23doc: moved the "what" at the topMartin Monperrus1-18/+18
2019-10-19Adds a forgotten importMaxime Meignan1-1/+1
2019-10-17Loader: avoid None dst_ad in lib_imp2dstadWilliam Bruneau1-1/+2
2019-10-17Fix python2/python3 bytes manipulationFabrice Desclaux1-1/+1
2019-10-17X86/sem: fix tipo during python2/3 updtFabrice Desclaux1-5/+5
2019-10-16Jitter: remove Clang warningsWilliam Bruneau1-2/+0
2019-10-16Jitter: remove unused macroWilliam Bruneau1-1/+0
Furthermore this macro is already declared in android and thus generates a warning.
2019-10-16Jitter: fix compilation on androidWilliam Bruneau1-0/+4
2019-10-16Avoid deprecation warningWilliam Bruneau1-2/+2
2019-10-09Fix IDA depgraph exampleWilliam Bruneau1-3/+4
2019-10-06arch: x86: add translation from roundsd to IRZheng Luo1-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]
2019-10-06arch: x86: add roundsd decoderZheng Luo1-0/+4
2019-10-06arch: x86: make UD2 break control flowZheng Luo1-1/+1
2019-09-30fix int 1 handlingLouis6-2/+19
2019-09-25Add a few PPC32 testsAymeric Vincent3-0/+248
2019-09-25add "ba" to the list; allows PPC tests to pass the codespell spellAymeric Vincent1-0/+1
2019-09-24modify CreateFile to open file in binary-modestanislas1-2/+2
2019-09-22Fix get_str_ansi: return strFabrice Desclaux10-57/+51
get_str_ansi and get_str_unic now returns both *str* object: As get_str_unic decodes the string, get_str_ansi should do the same.
2019-09-22Fix bytes dllnameFabrice Desclaux5-10/+19
2019-09-21Add miasm logoFabrice Desclaux2-0/+5
2019-09-20Codespell: add excetion 'blocs' to keep API unchangedWilliam Bruneau1-0/+1
Fixing some codespell errors would imply modifying some API. Codespell errors: miasm/core/asmblock.py:1608: blocs ==> blocks def dis_multibloc(self, offset, blocs=None): miasm/core/asmblock.py:1614: blocs ==> blocks return self.dis_multiblock(offset, blocs)
2019-09-20Codespell: fix some spelling mistakesWilliam Bruneau13-34/+34
2019-09-20Loader: add exception in vm2pe for PC < image baseWilliam Bruneau1-1/+4
2019-08-29Travis: llvm-toolchain-trusty-6.0 to llvm-toolchain-xenial-6.0William Bruneau1-1/+1
see: https://travis-ci.community/t/cannot-apt-get-install-clang-5-0/3250
2019-08-08Fix str/bytes handling in pe loaderCaroline Leman1-3/+3
2019-08-01Objc: support segm opWilliam Bruneau1-1/+2
2019-07-26Fix example/ida/menu.py for IDA >= 7.1William Bruneau1-0/+2