$ manticore
Traceback (most recent call last):
File "/home/whitehat/.manticore_env/bin/manticore", line 5, in
from manticore.main import main
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/init.py", line 10, in
from .ethereum.manticore import ManticoreEVM
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/ethereum/init.py", line 3, in
from .manticore import ManticoreEVM, config
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/ethereum/manticore.py", line 15, in
from ..core.manticore import ManticoreBase, ManticoreError
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/core/manticore.py", line 29, in
from .worker import (
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/core/worker.py", line 4, in
from .state_pb2 import StateList, MessageList, State, LogMessage
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/core/state_pb2.py", line 32, in
_descriptor.EnumValueDescriptor(
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 796, in new
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
Downgrade the protobuf package to 3.20.x or lower.
Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
To do:
Check if using venv can make it work
Example:
$ manticore Traceback (most recent call last): File "/home/whitehat/.manticore_env/bin/manticore", line 5, in
from manticore.main import main
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/init.py", line 10, in
from .ethereum.manticore import ManticoreEVM
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/ethereum/init.py", line 3, in
from .manticore import ManticoreEVM, config
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/ethereum/manticore.py", line 15, in
from ..core.manticore import ManticoreBase, ManticoreError
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/core/manticore.py", line 29, in
from .worker import (
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/core/worker.py", line 4, in
from .state_pb2 import StateList, MessageList, State, LogMessage
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/manticore/core/state_pb2.py", line 32, in
_descriptor.EnumValueDescriptor(
File "/home/whitehat/.manticore_env/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 796, in new
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-update