667 Commits

Author SHA1 Message Date
Peter Goodman
4f914e4eee Fixes to stream formatting of doubles, they weren't being streamed before. Implemented the chk versions of printf and such, so that they all route through the logging interface as well. Implemented the concretization APIs. 2017-11-01 17:56:54 -04:00
Peter Goodman
d2bc82fc35 Renaming from McTest to DeepState. 2017-11-01 13:38:32 -04:00
Peter Goodman
f7f029965b Whatever I had before renaming. 2017-11-01 12:14:22 -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
8ec44074ad Make sure to make new lists of messages so that messages from one test don't get put into another. 2017-10-30 14:39:15 -04:00
Peter Goodman
3702bfcb81 Changed how the logging works to log to a static buffer, then the hooks pull info out from there. 2017-10-30 14:16:02 -04:00
Peter Goodman
e4f4cfe0db Kind of feature parity between Manticore and Angr on these tests. 2017-10-30 00:45:59 -04:00
Peter Goodman
4b786adc70 Got Manticore (with some minor unpublished fixes) working for McTest, based on Yan's initial work. Most of the angr code directly ports over, which is convenient. Haven't yet implemented McTest_Log (which isn't working for angr, curiously). 2017-10-29 20:35:50 -04:00
Peter Goodman
0ec7047b0f Merge branch 'master' of github.com:trailofbits/mctest 2017-10-29 18:54:48 -04:00
Peter Goodman
e0f104aaef Adding logger support, and other things. 2017-10-29 18:54:41 -04:00
yan
e3d8ab9b61 Expand Manticore support 2017-10-29 18:17:15 -04:00
Peter Goodman
7c9710cd05 Remove IsSymbolic preficate for pointers. 2017-10-28 20:26:43 -04:00
Peter Goodman
b8560c553f USe a C++ style case in McTest.hpp 2017-10-28 20:23:23 -04:00
Peter Goodman
89da3e8e94 Made it so that tests can be run on their own, independent of a symbolic executor. This will open up libFuzzer support, and concrete execution of solved-for test case inputs. Removed all stuff related to sections. Made tests get registered via initializers. Working on exposing the API functions to be hooked by Manticore via a special system call with addres 0x41414141. Split the Angr version out into the mctest-angr binary, and going to try to make the mctest binary use Manticore. 2017-10-28 19:13:59 -04:00
Peter Goodman
0d336bd4d6 Fixed build errors for c++ test basics. Added a ForAll thingy to abstract around making symbols. Shortened section name lengths. Added a simple arithmetic properties test case. 2017-10-28 01:11:59 -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