Falcon is a Binary Analysis Framework in Rust.
Falcon Symbolically Executes
Falcon now symbolically executes its
simple-0 example. I added in copy-on-write SymbolicMemory, and with this addition the example executes in less than a second. Since it’s such a quick example, I went ahead and made it a test.
With an end-to-end symbolic execution test, z3 is now a dependency for for tests… and therefor continuous integration. Travis CI now tests from the docker. The Dockerfile used to build z3 from scratch, but this was taking 30 minutes in Travis CI, most of the time spent building Z3. A statically-linked z3 for Ubuntu Xenial x64 is being made available at https://files.reversing.io/, and will be pulled down in the docker build. This drops Travis CI times from 30 minutes to 6.
I will now be moving through GitHub issues towards the 0.1.0 milestone.
Other Falcon-related things:
Unfortunately I didn’t do a good job tracking chances this week. Some notes are:
EngineDriverhas been added to
Platformis implemented, and we have a basic
Enginehas an additional
- All setup for Linux X86 environment has been moved under that platform.