The format is based on Keep a Changelog.
Thanks to our external contributors to this release!
Manticore('binary', ['arg1', 'arg2'])
style initialization. Use new class methods (see below).
- Platform-specific class methods for Manticore initialization
- e.g.
Manticore.linux('binary', ['arg1', 'arg2'])
- e.g.
Manticore.init
analysis initialization hook- Linux: Various new syscall support, including basic TCP socket support
- Core: An updated plugin infrastructure
- [Experimental] Support for symbolic execution of Ethereum Virtual Machine bytecode
Manticore.verbosity
: logging preset levels interface is now a static method, replacingm.verbosity
property- Logger output is slightly modified to be more Pythonic
- Numerous bugfixes and refactors
- Linux: stderr file is generated in workspace
- Requirement of external z3 binary installation (z3 installation occurs automatically now via pip)
Manticore.locked_context()
(safe parallel context access)State.generate_testcase()
(arbitrary testcase generation from hooks)- Documentation on gotchas
- Command line interface support for symbolic files (
--file
) (thanks 251!) - [Experimental]
State.context['branches']
(States track symbolic branches) - [Experimental] Support for emulation of Binary Ninja IL
- Taint parameters added to
State.new_symbolic_buffer()
andState.symbolicate_buffer()
(thanks ehennenfent!) - Improved support for ARM binaries
Manticore.verbosity
logging preset levels
- Numerous bugfixes
- Fixed workspace error message bug (thanks chowdaryd!)
- Fixed double workspace bug
- [Experimental]
State.generate_inputs()
(superseded byState.generate_testcase()
)
- Support for Redis as a storage backend, plus an API for user-defined serializers and storage backends
- "Events" which work as global signals for communication across manticore
- Support for using Binary Ninja for visualization
- Executor now provides a global shared context
- State now provides a local context
- Refactored Executor and everything it talks to significantly
- Some older APIs may be broken or removed by the above refactor (
state.co
is no more, for instance)
- Numerous bugfixes and stability improvements in logging, Windows, x86, Linux
- Function modeling API (
state.invoke_model()
,manticore.variadic
) strcmp
andstrlen
modelsstate.solve_buffer()
- Additional
state
APIs - Support for ARMv7 Thumb mode
- Parallel processing API (
m.run(procs)
) state.solve_n()
- Numerous fixes in Linux, x86, ARM, SMT
- pip installation no longer requires
--no-binary capstone
State.constrain
- Command line verbosity:
--verbose
->-v
(up to-vvvv
)
- Linux platform fixes: syscalls, ELF loading
- x86 and ARM fixes
Initial public release.