Add basic socket support (#428)

* Add a descriptor class for socket(2) return values

* Add basic socket(2) and bind(2)

* Basic accept(2)

* Basic recv(2) support

* Debug statements and accept(2)

* Add check for symbolic arg to open(2)

* Fix an example warning

* send/sendfile

* debug->info for some mcore output

* Produce socket data as part of state serialization

* Clean up SLinux.sys_open()

* Document socket(2) peculiarities
This commit is contained in:
Yan
2017-08-29 17:00:17 -04:00
committed by GitHub
parent a025bda97a
commit ca0d7b60d2
5 changed files with 195 additions and 14 deletions
+7
View File
@@ -30,7 +30,14 @@ Client code should use the :meth:`~manticore.Manticore.locked_context` API::
global_context['flag1'] += ['a']
global_context['flag2'] += ['b']
"Random" Policy
---------------
The `random` policy, which is the manticore default, is not actually random and is instead deterministically seeded. This means that running the same analysis twice should return the same results (and get stuck in the same places).
Symbolic Socket Support
-----------------------
The current implementation of the socket family of system calls is very barebones and is deemed to be experimental. All created sockets are assumed to contain 64 bytes of symbolic input.