- Feb 04, 2018
-
-
Lukáš Korenčik authored
-
Lukáš Korenčik authored
-
Lukáš Korenčik authored
-
Lukáš Korenčik authored
Created class to hold all inf & operations needed to transform IR so that divine can eat it.
-
Lukáš Korenčik authored
-
Lukáš Korenčik authored
Now during lift there is a new main constructed wrapping entrypoint, usually implemented by one of sub_* functions.
-
- Feb 03, 2018
-
-
Lukáš Korenčik authored
-
Lukáš Korenčik authored
-
- Sep 13, 2017
-
-
Fabian Wolff authored
-
- Aug 15, 2017
-
-
Dan Guido authored
* new channel name * #binary-lifting
-
artemdinaburg authored
* Support for ROR64CL * Support for FCOM*_rST0
-
artemdinaburg authored
-
- Aug 02, 2017
-
-
Peter Goodman authored
Remove all support for mov between gprs and seg regs. The semantics were meaningless, and in some cases the wrong functions were used! In practice, moving between gprs and segment regs has system level effects that cannot be modelled by the bitcode.
-
Peter Goodman authored
-
Peter Goodman authored
-
Peter Goodman authored
-
- Aug 01, 2017
-
-
Peter Goodman authored
-
Peter Goodman authored
-
Peter Goodman authored
-
- Jun 27, 2017
-
-
MMory authored
-
- Jun 23, 2017
-
-
reynoldsjk1 authored
Windows binaries fail to extract CFG without this.
-
- Apr 23, 2017
-
-
Alessandro Gario authored
* IDA GUI: Initial commit (mockup). * IDA GUI: added OS/arch detection and entry point list selection. * IDA GUI: the entry point list should not contains exported functions. * IDA GUI: Renamed 'Entry point list' -> "Function list". Logo improvements. The logo is now present in two variants: dark and normal. The most suitable one is selected based on the user theme. * IDA GUI: The 'Export list' page has been implemented. * IDA GUI: Implemented the accesser methods into the page widgets. * IDA GUI: Added a call to the get_cfg.py scripts. Added support for symbol definitions. * IDA GUI: Function names can now be added/removed with a double click. * IDA GUI: Added support for standard definition files. * IDA GUI: Added project information on the right hand side of the logo. * IDA GUI: Use a more appropriate link color for dark themes. * IDA GUI: The "Export list" page should not contain data symbols. * IDA GUI: get_cfg.py reverted (24988f9d). Added a new function for the GUI.
-
Alessandro Gario authored
* Check the entry points before lifting. Add a CFG function listing option. o Make sure that the specified entry points exists in the supplied CFG file before lifting the code. o Allow the user to list the functions that have been saved in the CFG file (--list-cfg-functions). * Fixed several memory leaks (see details). o The deserialized (protobuf) data was not being released. o The LLVM context was not being released, leaking resources for which it had ownership. o The NativeModule object was not being released. * Command line options fix (see details). The OutputFilename command line parameter can't be empty because it is initialized to stdout by default (see llvm::cl::init("-"). The is-empty check has been removed because initializing it to an empty string breaks the tests because they expect to grab the output by redirecting the stdout stream. * Use the correct list when searching for entry points.
-
- Apr 21, 2017
-
-
FengYouzheng authored
-
- Apr 16, 2017
-
-
josh2059 authored
-
- Apr 14, 2017
-
-
artemdinaburg authored
* BTS instruction and tests * Return BTS32mr to the living
-
artemdinaburg authored
* Support for arch specific compilation * Build AArch64 binaries * Add some sample AArch64 binaries to test framework
-
- Apr 13, 2017
-
-
Dan Guido authored
-
- Apr 12, 2017
-
-
artemdinaburg authored
* Attempt travis for osx * Fixing travis.yml * Update travis * hack around not having realpath in the beginning * Attempting osx fix * attempt to work around broken osx things * Use clang/clang++ instead of clang-3.8/clang++-3.8 on osx * Attempt to better find protobuf on osx * Use -H with pip * brew install protobuf * proto 2.6 on mac * Attempted hackery * Yet another try
-
- Apr 11, 2017
-
-
Joshua Cranmer authored
This won't support all cases (256-bit and 512-bit instructions for sure), but this should allow for correctness on unknown instructions, even if the generated output will cause the optimizers to throw their hands up in the air. The test is somewhat flaky since it passes 16 arguments into printf after the the printf string, which seems to be more than mcsema expects. It also requires particular compilation flags to get the aes instructions to compile and run (that means you need Intel Westmere or newer or AMD Bulldozer or newer). I used AES for the test case since I figured no one would ever bother implementing an instruction lifter for these instructions unless it were part of a generalized intrinsic uplifting technique.
-
Alessandro Gario authored
-
artemdinaburg authored
* More windows fixes * Escape CMAKE_BINARY_PATH also * win32 => windows for mcsema-lift expected arch, to match mcsema-disass * Fix data and underscores for externals * IDA 6.7 compatibility in get_cfg.py * Fix __crtSetUnhandledExceptionFilter declaration * Do not mangle items provided via -entrypoint * Simplify CMakeLists and Windows bootstrap * Integration tests run on Windows * Run mcsema-lift tests on Windows * Fix linux * Fix Module path in CMakeLists * Another attempt at fixing Linux build
-
- Apr 05, 2017
-
-
artemdinaburg authored
* Windows fixes to get mcsema-disass working * Install protobuf, protoc, and python-protobuf from source * Quote IDA path to handle paths with spaces and shell=True * Set SystemRoot in env so IDAPython can still run * Add entries to windows.txt to handle a HelloWorld release build * Simplify protobuf finding for win32 and not win32 * Fix linux
-
- Apr 04, 2017
-
-
Alessandro Gario authored
* The disassembler script (get_cfg.py) can now be run manually. The disassembler script can now be run manually from IDA Pro (File, Script file...). The 'ida_kernwin.cvar.batch' variable is used to determine whether IDA Pro is being run in batch mode or not. * Use the function under the cursor as starting entry point
-
- Apr 03, 2017
-
-
Alessandro Gario authored
* CMake: automatically generate protobuf files when configuring the project. Moved some functionality from the bootstrap.sh file to the CMake project. o The protobuf file generation has been embedded inside the main CMakeLists.txt. CMake will now automatically rebuild those files when it detects a change in the header files. o The CFG_pb2.py file is now copied with an INSTALL directive. o Generated files are now outside the build directory. * Windows bootstrap: update the 'generated' folder path * Windows doesn't have 'protoc' executable in the PATH; use the absolute path. * Fixed a couple of variable names.
-
artemdinaburg authored
* Since MacOS and Linux got merged, we no longer need bootstrap.osx.sh * Do not build generated drivers for Linux and Windows on MacOS, since they are unusable on the platform
-
Josh Soref authored
* spelling: access * spelling: argument * spelling: application * spelling: comparison * spelling: designed * spelling: detected * spelling: difference * spelling: duplicate * spelling: features * spelling: following * spelling: immediate * spelling: implementing * spelling: incomplete * spelling: modification * spelling: needed * spelling: convention * spelling: offset * spelling: opaque * spelling: preventing * spelling: popped * spelling: portion * spelling: possible * spelling: position * spelling: permission * spelling: probably * spelling: recursive * spelling: reference * spelling: retrieve * spelling: silently * spelling: something * spelling: tables * spelling: terminate
-
- Apr 02, 2017
-
-
Alessandro Gario authored
Added a script to build a Python interpreter suitable for IDA Pro when running under linux x64. The script also bundles SetupTools and PIP, so that third party libraries can be easily installed.
-
- Apr 01, 2017
-
-
Alessandro Gario authored
* Unify the bootstrap shellscripts into one. Add support to Arch Linux, Ubuntu and OSX. o Added a couple of sanity checks to avoid breaking the script when something goes wrong (i.e.: when you get a broken llvm src tarball). o Always attempt to continue if the required packages could not be installed, informing the user to make sure that the needed libraries are correctly installed. o The bootstrap.osx.sh steps have been merged. * The bootstrap script failed to build when it was not able to find the third-party/llvm/llvm_version file. This error is triggered when building from a "third-party/llvm" folder extracted with the previous version of the shellscript, because the llvm_version file is missing.
-
Peter Goodman authored
* Accumulates prefix bytes into the set of instruction bytes, and tries to reduce the amount of instruction decoding done. * Indentation fixes. Removed some REP recognition stuff in the script. Fixed up an isConditionalBranch that was still using ea. Fixed up an issue where the instruction bytes weren't converted into a string. * Mark __assert_fail as not returning
-