Skip to content
This repository was archived by the owner on Jan 18, 2021. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Lifting and Diversifying C++ Binaries

This repository accompanies the [Trail of Bits blog post](https://blog.trailofbits.com/2018/09/10/protecting-software-against-exploitation-with-darpas-cfar/) discussing how to use mcsema with Immunant's multicompiler to lift and diversify binaries.
This repository accompanies the [Trail of Bits blog post](https://blog.trailofbits.com/2018/09/10/protecting-software-against-exploitation-with-darpas-cfar/) discussing how to use McSema with Immunant's multicompiler to lift and diversify binaries.

# The Example Program

Expand All @@ -12,16 +12,18 @@ Please install Immunant's multicompiler as [described in their blog post](https:

To install McSema, please follow the [McSema installation instructions](https://github.com/trailofbits/mcsema/blob/master/README.md).

The version of remill and mcsema installed must be built against LLVM 3.8 (to match the multicompiler) and include ABI library support.
The version of Remill and McSema installed must be built against LLVM 3.8 (to match the multicompiler) and include ABI library support.

The following invocation of Remill's `build.sh` should give the correct Remill and McSema builds:

The following invocation of remill's `build.sh` should give the correct remill and McSema builds:
```sh
scripts/build.sh --llvm-version 3.8 --prefix <your installation location> --extra-cmake-args -DMCSEMA_DISABLED_ABI_LIBRARIES:STRING=\"\"
```
Currently the variable recovery scripts require IDA Pro.

Currently, the variable recovery scripts require IDA Pro.

# Further Reading

* The [Trail of Bits blog post](https://blog.trailofbits.com/2018/09/10/protecting-software-against-exploitation-with-darpas-cfar/) discussing using McSema with the multicompiler.
* The [Immunant blog post showing how to install and use the multicompiler](https://immunant.com/blog/2018/09/multicompiler/).
* The [Galois blog post](https://galois.com/blog/2018/09/protecting-applications-with-automated-software-diversity/) showing how McSema and the Multicompiler fit together into a larger project.
* The [Galois blog post](https://galois.com/blog/2018/09/protecting-applications-with-automated-software-diversity/) showing how McSema and the multicompiler fit together into a larger project.