28 Commits

Author SHA1 Message Date
agroce
ef3c2ed8d5 enable making of AFL-ized versions of stuff 2019-05-30 09:08:51 -07:00
Gustavo Grieco
9d64719e84
Fix Python3 support (#170)
* Update main_manticore.py

* Fix python3 in CMake [skip ci]

* Update StreamingAndFormatting.cpp

* [skip ci]

* Update .travis.yaml [skip ci]

* Temporarily disable OneOf test using manticore (it is broken)

* Update README [skip ci]
2019-04-21 22:06:24 -03:00
Peter Goodman
30211fba72
Merge pull request #97 from trailofbits/dev-python3.6
Experimental python3.6 version
2019-03-28 17:15:14 -04:00
agroce
4dfd951882 allow building without static for compilers/sanitizers where that is not a good idea 2019-03-02 09:27:22 -07:00
ggrieco-tob
e97c5fa1ee
Update CMakeLists.txt 2019-01-07 10:22:52 -03:00
Alex Groce
66ef2abc1b Fix so libFuzzer works on macOS 2018-12-09 20:59:43 -07:00
ggrieco-tob
61bc977f35
removed $ from EVN
more info: https://cmake.org/pipermail/cmake/2011-October/046706.html
2018-09-29 14:20:06 -04:00
Peter Goodman
b1da5d6d48 Improved the CMakeLists.txt just slightly. Provided a default, weak-attributed main function into libdeepstate so that tests don't need to define them. The weak attribute means that any main function defined by libfuzzer will be a strong symbol and take over, so there won't be a conflict. Adjusted examples accordingly to omit now redundant conditionally-compiled main functions, as that leaked out too many underlying details. 2018-09-27 16:45:08 -07:00
Peter Goodman
9a8e5cca23 Disable static builds on macOS 2018-09-26 11:44:04 -07:00
Alex Groce
fa3820af15 compile libfuzzer with UBSAN also 2018-08-08 12:27:28 -07:00
Alex Groce
eea3248bfc update readme, fix first/last test, change clang 2018-07-30 21:43:55 -07:00
Alex Groce
1aef3fd325 examples with libfuzzer 2018-07-30 21:21:33 -07:00
Alex Groce
d1a4417dab Add LibFuzzer to makefile 2018-07-30 19:30:10 -07:00
Alex Groce
439c6a3c13 add --no-export-dynamic so clang static compile works, also add link for 32 bit 2018-07-27 12:06:22 -07:00
Alex Groce
5495877f08 actually link static, and for now just ignore multiple definitions of vprintf... 2018-07-12 12:48:25 -07:00
Alex Groce
dbd3286735 build everything static for faster analysis by angr/manticore 2018-07-11 20:10:17 -07:00
Alex Groce
b3dcd964fe compile with no-avx 2018-07-11 20:01:24 -07:00
Joe Ranweiler
f9ab98e43a
Explicitly use C99 standard when building library 2018-02-25 15:17:06 -08:00
Joe Ranweiler
124c54194d
Explicitly depend on Python 2.7
Not using a more specific binary causes build failures on systems where
the default Python is 3. The existing backends, angr and Manticore, both
require Python 2.7, so we can look at supporting Python 3 when they do.
2018-02-06 14:25:51 -08:00
Peter Goodman
d227cc7f34 Enabled PIC. 2018-01-22 21:19:54 -05:00
Peter Goodman
2eaeb7480c Adding Google Flags-like command-line option parsing, though implemented in C, to the main executable. The code is ported from Granary2. 2018-01-07 16:25:31 -05:00
Peter Goodman
622afcdb98 Made variadic argument lists work in 32 bit x86. 2017-12-13 23:53:48 -05:00
Peter Goodman
7c585f5c44 Add 32-bit support, i.e. libdeepstate32 2017-12-13 21:53:33 -05:00
Artem Dinaburg
373441fb9f Allow for a user only install if CMAKE_INSTALL_PREFIX is set 2017-11-01 22:59:04 -04:00
Peter Goodman
d2bc82fc35 Renaming from McTest to DeepState. 2017-11-01 13:38:32 -04:00
Peter Goodman
a46e06b03b Refactored to split common code between Manticore and Angr out into common.py. Implemented the new deferred streaming stuff, it seems to work semi-well for this simple cases I've tested, but there's still work to do. The latest code has some remaining issues. Printing out the final input bytes in Angr shows the wrong thing, although what gets streamed out is right. This is visible when running mctest-angr examples/ArtihmeticProperties. With Manticore, the big issue is that it doesn't properly pickle smt expressions (or something to this effect), so I'm ending up with multiple definitions of the same stuff and that throws exceptions. This is tricky to deal with because the streaming of output needs to be able to save symbolic data. 2017-11-01 02:42:31 -04:00
Peter Goodman
76585f095b Improvements. Now hooking fewer functions, and instead making on big array symbolic. This will make it easier to run the inputs concretely (by eventually filling in the array with the concrete bytes), and will also make possible fuzzer integration (where the fuzzer mutates the bytes of the array) possible. 2017-10-28 00:09:33 -04:00
Peter Goodman
6249ec6208 Initial commit. 2017-10-27 16:34:58 -04:00