mirror of
https://github.com/trailofbits/manticore.git
synced 2026-10-12 02:23:44 +00:00
[Server] Remove all references to "MUI"
Just call this ManticoreServer
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
muicore.egg-info/**
|
||||
manticore_server.egg-info/**
|
||||
**/__pycache__
|
||||
dist/**
|
||||
.mypy_cache/**
|
||||
|
||||
+5
-7
@@ -1,11 +1,9 @@
|
||||
# MUI Server
|
||||
MUI Server is a gRPC service that acts as a wrapper around [Manticore](https://github.com/trailofbits/manticore), which will serve as the future of the [Manticore User Interface (MUI)](https://github.com/trailofbits/ManticoreUI) project. MUI Server is designed to allow developers to create Manticore UI Plugins for different disassemblers easily, and to allow for Manticore itself to be done in the cloud/remotely.
|
||||
# Manticore Server
|
||||
Manticore Server is a gRPC service that acts as a wrapper around [Manticore](https://github.com/trailofbits/manticore), to support projects like the [Manticore User Interface (MUI)](https://github.com/trailofbits/ManticoreUI). Manticore Server is designed to allow developers to more easily create tools around Manticore that aren't in Python or to allow for Manticore to be run and managed in the cloud/remotely.
|
||||
|
||||
# Usage
|
||||
The MUI-Core server can be run via `python3 mui_server.py`. For most applications of MUI, in which a Python interpreter available or the required dependencies are not available, users can run the stand-alone `muicore_server` binary.
|
||||
The Manticore Server can be run via `python3 manticore_server.py` on port `50010`.
|
||||
|
||||
Currently, MUI-Core communicates only on `localhost:50010`.
|
||||
Your Manticore Server client will require the relevant gRPC client code. You can find out how to generate gRPC client code in your desired language from [the gRPC website](https://grpc.io/docs/languages/).
|
||||
|
||||
Your MUI Plugin will require the relevant gRPC client code. You can find out how to generate gRPC client code in your desired language from [the gRPC website](https://grpc.io/docs/languages/).
|
||||
|
||||
You may refer to the [Protobuf Specification](muicore/MUICore.proto) for information about the RPC services provided and the message types.
|
||||
You may refer to the [Protobuf Specification](manticore_server/ManticoreServer.proto) for information about the RPC services provided and the message types.
|
||||
|
||||
+1
-4
@@ -19,12 +19,9 @@ build: generate
|
||||
set -euo
|
||||
mkdir -p dist
|
||||
py_ver=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')
|
||||
python3 -m shiv -c muicore -o dist/muicore_server --reproducible --no-modify --python "/usr/bin/env python${py_ver}" --compressed .
|
||||
python3 -m shiv -c manticore_server -o dist/manticore_server --reproducible --no-modify --python "/usr/bin/env python${py_ver}" --compressed .
|
||||
wget https://github.com/ethereum/solc-bin/raw/gh-pages/linux-amd64/solc-linux-amd64-v0.8.9%2Bcommit.e5eed63a -O dist/solc
|
||||
chmod 775 dist/solc
|
||||
|
||||
install: build
|
||||
cp dist/* ../plugins/ghidra/MUI/os/linux_x86_64/
|
||||
|
||||
test:
|
||||
python3 -m unittest tests/test_*.py
|
||||
|
||||
@@ -1,44 +1,44 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package muicore;
|
||||
package manticore_server;
|
||||
|
||||
service ManticoreUI {
|
||||
service ManticoreServer {
|
||||
rpc StartNative(NativeArguments) returns (ManticoreInstance) {}
|
||||
rpc StartEVM(EVMArguments) returns (ManticoreInstance) {}
|
||||
rpc Terminate(ManticoreInstance) returns (TerminateResponse) {}
|
||||
rpc GetStateList(ManticoreInstance) returns (MUIStateList) {}
|
||||
rpc GetMessageList(ManticoreInstance) returns (MUIMessageList) {}
|
||||
rpc GetStateList(ManticoreInstance) returns (ManticoreStateList) {}
|
||||
rpc GetMessageList(ManticoreInstance) returns (ManticoreMessageList) {}
|
||||
rpc CheckManticoreRunning(ManticoreInstance) returns (ManticoreRunningStatus) {}
|
||||
rpc StopServer(StopServerRequest) returns (StopServerResponse) {}
|
||||
rpc ControlState(ControlStateRequest) returns (ControlStateResponse) {}
|
||||
}
|
||||
|
||||
// LogMessage and StateList message types have "MUI" in their names to distinguish them from those in mserialize
|
||||
// LogMessage and StateList message types have "Manticore" in their names to distinguish them from those in mserialize
|
||||
|
||||
message MUILogMessage{
|
||||
message ManticoreLogMessage {
|
||||
string content = 1;
|
||||
}
|
||||
|
||||
message MUIMessageList{
|
||||
repeated MUILogMessage messages = 2;
|
||||
message ManticoreMessageList {
|
||||
repeated ManticoreLogMessage messages = 2;
|
||||
}
|
||||
|
||||
message MUIState {
|
||||
message ManticoreState {
|
||||
int32 state_id = 3;
|
||||
uint64 pc = 10;
|
||||
optional int32 parent_id = 28;
|
||||
repeated int32 children_ids = 29;
|
||||
}
|
||||
|
||||
message MUIStateList{
|
||||
message ManticoreStateList {
|
||||
|
||||
// state categories in MUI - based on manticore enums StateStatus and StateList
|
||||
repeated MUIState active_states = 4;
|
||||
repeated MUIState waiting_states = 5;
|
||||
repeated MUIState forked_states = 6;
|
||||
repeated MUIState errored_states = 7;
|
||||
repeated MUIState complete_states = 8;
|
||||
repeated MUIState paused_states = 33;
|
||||
// state categories in Manticore - based on manticore enums StateStatus and StateList
|
||||
repeated ManticoreState active_states = 4;
|
||||
repeated ManticoreState waiting_states = 5;
|
||||
repeated ManticoreState forked_states = 6;
|
||||
repeated ManticoreState errored_states = 7;
|
||||
repeated ManticoreState complete_states = 8;
|
||||
repeated ManticoreState paused_states = 33;
|
||||
}
|
||||
|
||||
message ManticoreInstance {
|
||||
@@ -63,7 +63,7 @@ message Hook {
|
||||
|
||||
message NativeArguments {
|
||||
string program_path = 11;
|
||||
repeated string binary_args = 16;
|
||||
repeated string binary_args = 16;
|
||||
repeated string envp = 17;
|
||||
repeated string symbolic_files = 18;
|
||||
optional string concrete_start = 19;
|
||||
@@ -104,4 +104,4 @@ message ControlStateRequest {
|
||||
StateAction action = 36;
|
||||
}
|
||||
|
||||
message ControlStateResponse {}
|
||||
message ControlStateResponse {}
|
||||
@@ -0,0 +1,173 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: manticore_server/ManticoreServer.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&manticore_server/ManticoreServer.proto\x12\x10manticore_server\"&\n\x13ManticoreLogMessage\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\"O\n\x14ManticoreMessageList\x12\x37\n\x08messages\x18\x02 \x03(\x0b\x32%.manticore_server.ManticoreLogMessage\"j\n\x0eManticoreState\x12\x10\n\x08state_id\x18\x03 \x01(\x05\x12\n\n\x02pc\x18\n \x01(\x04\x12\x16\n\tparent_id\x18\x1c \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x0c\x63hildren_ids\x18\x1d \x03(\x05\x42\x0c\n\n_parent_id\"\xee\x02\n\x12ManticoreStateList\x12\x37\n\ractive_states\x18\x04 \x03(\x0b\x32 .manticore_server.ManticoreState\x12\x38\n\x0ewaiting_states\x18\x05 \x03(\x0b\x32 .manticore_server.ManticoreState\x12\x37\n\rforked_states\x18\x06 \x03(\x0b\x32 .manticore_server.ManticoreState\x12\x38\n\x0e\x65rrored_states\x18\x07 \x03(\x0b\x32 .manticore_server.ManticoreState\x12\x39\n\x0f\x63omplete_states\x18\x08 \x03(\x0b\x32 .manticore_server.ManticoreState\x12\x37\n\rpaused_states\x18! \x03(\x0b\x32 .manticore_server.ManticoreState\"!\n\x11ManticoreInstance\x12\x0c\n\x04uuid\x18\t \x01(\t\"\x13\n\x11TerminateResponse\"\xb6\x01\n\x04Hook\x12\x14\n\x07\x61\x64\x64ress\x18\x1a \x01(\x04H\x00\x88\x01\x01\x12-\n\x04type\x18\x1b \x01(\x0e\x32\x1f.manticore_server.Hook.HookType\x12\x16\n\tfunc_text\x18\x1f \x01(\tH\x01\x88\x01\x01\"7\n\x08HookType\x12\x08\n\x04\x46IND\x10\x00\x12\t\n\x05\x41VOID\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06GLOBAL\x10\x03\x42\n\n\x08_addressB\x0c\n\n_func_text\"\xcd\x02\n\x0fNativeArguments\x12\x14\n\x0cprogram_path\x18\x0b \x01(\t\x12\x13\n\x0b\x62inary_args\x18\x10 \x03(\t\x12\x0c\n\x04\x65nvp\x18\x11 \x03(\t\x12\x16\n\x0esymbolic_files\x18\x12 \x03(\t\x12\x1b\n\x0e\x63oncrete_start\x18\x13 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nstdin_size\x18\x14 \x01(\tH\x01\x88\x01\x01\x12\"\n\x15\x61\x64\x64itional_mcore_args\x18\x15 \x01(\tH\x02\x88\x01\x01\x12%\n\x05hooks\x18\x1e \x03(\x0b\x32\x16.manticore_server.Hook\x12\x1a\n\remulate_until\x18 \x01(\x04H\x03\x88\x01\x01\x42\x11\n\x0f_concrete_startB\r\n\x0b_stdin_sizeB\x18\n\x16_additional_mcore_argsB\x10\n\x0e_emulate_until\"\xec\x01\n\x0c\x45VMArguments\x12\x15\n\rcontract_path\x18\x0c \x01(\t\x12\x15\n\rcontract_name\x18\r \x01(\t\x12\x10\n\x08solc_bin\x18\x0e \x01(\t\x12\x15\n\x08tx_limit\x18\x16 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntx_account\x18\x17 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x14\x64\x65tectors_to_exclude\x18\x18 \x03(\t\x12\x1d\n\x10\x61\x64\x64itional_flags\x18\x19 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_tx_limitB\r\n\x0b_tx_accountB\x13\n\x11_additional_flags\",\n\x16ManticoreRunningStatus\x12\x12\n\nis_running\x18\x0f \x01(\x08\"\x13\n\x11StopServerRequest\"\x14\n\x12StopServerResponse\"\xdb\x01\n\x13\x43ontrolStateRequest\x12\x10\n\x08state_id\x18\" \x01(\x05\x12?\n\x12manticore_instance\x18# \x01(\x0b\x32#.manticore_server.ManticoreInstance\x12\x41\n\x06\x61\x63tion\x18$ \x01(\x0e\x32\x31.manticore_server.ControlStateRequest.StateAction\".\n\x0bStateAction\x12\n\n\x06RESUME\x10\x00\x12\t\n\x05PAUSE\x10\x01\x12\x08\n\x04KILL\x10\x02\"\x16\n\x14\x43ontrolStateResponse2\xfa\x05\n\x0fManticoreServer\x12W\n\x0bStartNative\x12!.manticore_server.NativeArguments\x1a#.manticore_server.ManticoreInstance\"\x00\x12Q\n\x08StartEVM\x12\x1e.manticore_server.EVMArguments\x1a#.manticore_server.ManticoreInstance\"\x00\x12W\n\tTerminate\x12#.manticore_server.ManticoreInstance\x1a#.manticore_server.TerminateResponse\"\x00\x12[\n\x0cGetStateList\x12#.manticore_server.ManticoreInstance\x1a$.manticore_server.ManticoreStateList\"\x00\x12_\n\x0eGetMessageList\x12#.manticore_server.ManticoreInstance\x1a&.manticore_server.ManticoreMessageList\"\x00\x12h\n\x15\x43heckManticoreRunning\x12#.manticore_server.ManticoreInstance\x1a(.manticore_server.ManticoreRunningStatus\"\x00\x12Y\n\nStopServer\x12#.manticore_server.StopServerRequest\x1a$.manticore_server.StopServerResponse\"\x00\x12_\n\x0c\x43ontrolState\x12%.manticore_server.ControlStateRequest\x1a&.manticore_server.ControlStateResponse\"\x00\x62\x06proto3')
|
||||
|
||||
|
||||
|
||||
_MANTICORELOGMESSAGE = DESCRIPTOR.message_types_by_name['ManticoreLogMessage']
|
||||
_MANTICOREMESSAGELIST = DESCRIPTOR.message_types_by_name['ManticoreMessageList']
|
||||
_MANTICORESTATE = DESCRIPTOR.message_types_by_name['ManticoreState']
|
||||
_MANTICORESTATELIST = DESCRIPTOR.message_types_by_name['ManticoreStateList']
|
||||
_MANTICOREINSTANCE = DESCRIPTOR.message_types_by_name['ManticoreInstance']
|
||||
_TERMINATERESPONSE = DESCRIPTOR.message_types_by_name['TerminateResponse']
|
||||
_HOOK = DESCRIPTOR.message_types_by_name['Hook']
|
||||
_NATIVEARGUMENTS = DESCRIPTOR.message_types_by_name['NativeArguments']
|
||||
_EVMARGUMENTS = DESCRIPTOR.message_types_by_name['EVMArguments']
|
||||
_MANTICORERUNNINGSTATUS = DESCRIPTOR.message_types_by_name['ManticoreRunningStatus']
|
||||
_STOPSERVERREQUEST = DESCRIPTOR.message_types_by_name['StopServerRequest']
|
||||
_STOPSERVERRESPONSE = DESCRIPTOR.message_types_by_name['StopServerResponse']
|
||||
_CONTROLSTATEREQUEST = DESCRIPTOR.message_types_by_name['ControlStateRequest']
|
||||
_CONTROLSTATERESPONSE = DESCRIPTOR.message_types_by_name['ControlStateResponse']
|
||||
_HOOK_HOOKTYPE = _HOOK.enum_types_by_name['HookType']
|
||||
_CONTROLSTATEREQUEST_STATEACTION = _CONTROLSTATEREQUEST.enum_types_by_name['StateAction']
|
||||
ManticoreLogMessage = _reflection.GeneratedProtocolMessageType('ManticoreLogMessage', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICORELOGMESSAGE,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ManticoreLogMessage)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreLogMessage)
|
||||
|
||||
ManticoreMessageList = _reflection.GeneratedProtocolMessageType('ManticoreMessageList', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICOREMESSAGELIST,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ManticoreMessageList)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreMessageList)
|
||||
|
||||
ManticoreState = _reflection.GeneratedProtocolMessageType('ManticoreState', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICORESTATE,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ManticoreState)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreState)
|
||||
|
||||
ManticoreStateList = _reflection.GeneratedProtocolMessageType('ManticoreStateList', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICORESTATELIST,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ManticoreStateList)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreStateList)
|
||||
|
||||
ManticoreInstance = _reflection.GeneratedProtocolMessageType('ManticoreInstance', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICOREINSTANCE,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ManticoreInstance)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreInstance)
|
||||
|
||||
TerminateResponse = _reflection.GeneratedProtocolMessageType('TerminateResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _TERMINATERESPONSE,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.TerminateResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(TerminateResponse)
|
||||
|
||||
Hook = _reflection.GeneratedProtocolMessageType('Hook', (_message.Message,), {
|
||||
'DESCRIPTOR' : _HOOK,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.Hook)
|
||||
})
|
||||
_sym_db.RegisterMessage(Hook)
|
||||
|
||||
NativeArguments = _reflection.GeneratedProtocolMessageType('NativeArguments', (_message.Message,), {
|
||||
'DESCRIPTOR' : _NATIVEARGUMENTS,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.NativeArguments)
|
||||
})
|
||||
_sym_db.RegisterMessage(NativeArguments)
|
||||
|
||||
EVMArguments = _reflection.GeneratedProtocolMessageType('EVMArguments', (_message.Message,), {
|
||||
'DESCRIPTOR' : _EVMARGUMENTS,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.EVMArguments)
|
||||
})
|
||||
_sym_db.RegisterMessage(EVMArguments)
|
||||
|
||||
ManticoreRunningStatus = _reflection.GeneratedProtocolMessageType('ManticoreRunningStatus', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICORERUNNINGSTATUS,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ManticoreRunningStatus)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreRunningStatus)
|
||||
|
||||
StopServerRequest = _reflection.GeneratedProtocolMessageType('StopServerRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _STOPSERVERREQUEST,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.StopServerRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(StopServerRequest)
|
||||
|
||||
StopServerResponse = _reflection.GeneratedProtocolMessageType('StopServerResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _STOPSERVERRESPONSE,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.StopServerResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(StopServerResponse)
|
||||
|
||||
ControlStateRequest = _reflection.GeneratedProtocolMessageType('ControlStateRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CONTROLSTATEREQUEST,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ControlStateRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ControlStateRequest)
|
||||
|
||||
ControlStateResponse = _reflection.GeneratedProtocolMessageType('ControlStateResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CONTROLSTATERESPONSE,
|
||||
'__module__' : 'manticore_server.ManticoreServer_pb2'
|
||||
# @@protoc_insertion_point(class_scope:manticore_server.ControlStateResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ControlStateResponse)
|
||||
|
||||
_MANTICORESERVER = DESCRIPTOR.services_by_name['ManticoreServer']
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
_MANTICORELOGMESSAGE._serialized_start=60
|
||||
_MANTICORELOGMESSAGE._serialized_end=98
|
||||
_MANTICOREMESSAGELIST._serialized_start=100
|
||||
_MANTICOREMESSAGELIST._serialized_end=179
|
||||
_MANTICORESTATE._serialized_start=181
|
||||
_MANTICORESTATE._serialized_end=287
|
||||
_MANTICORESTATELIST._serialized_start=290
|
||||
_MANTICORESTATELIST._serialized_end=656
|
||||
_MANTICOREINSTANCE._serialized_start=658
|
||||
_MANTICOREINSTANCE._serialized_end=691
|
||||
_TERMINATERESPONSE._serialized_start=693
|
||||
_TERMINATERESPONSE._serialized_end=712
|
||||
_HOOK._serialized_start=715
|
||||
_HOOK._serialized_end=897
|
||||
_HOOK_HOOKTYPE._serialized_start=816
|
||||
_HOOK_HOOKTYPE._serialized_end=871
|
||||
_NATIVEARGUMENTS._serialized_start=900
|
||||
_NATIVEARGUMENTS._serialized_end=1233
|
||||
_EVMARGUMENTS._serialized_start=1236
|
||||
_EVMARGUMENTS._serialized_end=1472
|
||||
_MANTICORERUNNINGSTATUS._serialized_start=1474
|
||||
_MANTICORERUNNINGSTATUS._serialized_end=1518
|
||||
_STOPSERVERREQUEST._serialized_start=1520
|
||||
_STOPSERVERREQUEST._serialized_end=1539
|
||||
_STOPSERVERRESPONSE._serialized_start=1541
|
||||
_STOPSERVERRESPONSE._serialized_end=1561
|
||||
_CONTROLSTATEREQUEST._serialized_start=1564
|
||||
_CONTROLSTATEREQUEST._serialized_end=1783
|
||||
_CONTROLSTATEREQUEST_STATEACTION._serialized_start=1737
|
||||
_CONTROLSTATEREQUEST_STATEACTION._serialized_end=1783
|
||||
_CONTROLSTATERESPONSE._serialized_start=1785
|
||||
_CONTROLSTATERESPONSE._serialized_end=1807
|
||||
_MANTICORESERVER._serialized_start=1810
|
||||
_MANTICORESERVER._serialized_end=2572
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
+174
-128
@@ -3,43 +3,55 @@
|
||||
isort:skip_file
|
||||
"""
|
||||
import builtins
|
||||
import collections.abc
|
||||
import google.protobuf.descriptor
|
||||
import google.protobuf.internal.containers
|
||||
import google.protobuf.internal.enum_type_wrapper
|
||||
import google.protobuf.message
|
||||
import sys
|
||||
import typing
|
||||
import typing_extensions
|
||||
|
||||
if sys.version_info >= (3, 10):
|
||||
import typing as typing_extensions
|
||||
else:
|
||||
import typing_extensions
|
||||
|
||||
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
||||
|
||||
class MUILogMessage(google.protobuf.message.Message):
|
||||
"""LogMessage and StateList message types have "MUI" in their names to distinguish them from those in mserialize
|
||||
class ManticoreLogMessage(google.protobuf.message.Message):
|
||||
"""LogMessage and StateList message types have "Manticore" in their names to distinguish them from those in mserialize"""
|
||||
|
||||
"""
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
CONTENT_FIELD_NUMBER: builtins.int
|
||||
content: typing.Text
|
||||
def __init__(self,
|
||||
content: builtins.str
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
content: typing.Text = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["content",b"content"]) -> None: ...
|
||||
global___MUILogMessage = MUILogMessage
|
||||
content: builtins.str = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["content", b"content"]) -> None: ...
|
||||
|
||||
class MUIMessageList(google.protobuf.message.Message):
|
||||
global___ManticoreLogMessage = ManticoreLogMessage
|
||||
|
||||
class ManticoreMessageList(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
MESSAGES_FIELD_NUMBER: builtins.int
|
||||
@property
|
||||
def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MUILogMessage]: ...
|
||||
def __init__(self,
|
||||
def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManticoreLogMessage]: ...
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
messages: typing.Optional[typing.Iterable[global___MUILogMessage]] = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["messages",b"messages"]) -> None: ...
|
||||
global___MUIMessageList = MUIMessageList
|
||||
messages: collections.abc.Iterable[global___ManticoreLogMessage] | None = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["messages", b"messages"]) -> None: ...
|
||||
|
||||
class MUIState(google.protobuf.message.Message):
|
||||
global___ManticoreMessageList = ManticoreMessageList
|
||||
|
||||
class ManticoreState(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
STATE_ID_FIELD_NUMBER: builtins.int
|
||||
PC_FIELD_NUMBER: builtins.int
|
||||
PARENT_ID_FIELD_NUMBER: builtins.int
|
||||
@@ -49,20 +61,23 @@ class MUIState(google.protobuf.message.Message):
|
||||
parent_id: builtins.int
|
||||
@property
|
||||
def children_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
|
||||
def __init__(self,
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
state_id: builtins.int = ...,
|
||||
pc: builtins.int = ...,
|
||||
parent_id: typing.Optional[builtins.int] = ...,
|
||||
children_ids: typing.Optional[typing.Iterable[builtins.int]] = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_parent_id",b"_parent_id","parent_id",b"parent_id"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_parent_id",b"_parent_id","children_ids",b"children_ids","parent_id",b"parent_id","pc",b"pc","state_id",b"state_id"]) -> None: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_parent_id",b"_parent_id"]) -> typing.Optional[typing_extensions.Literal["parent_id"]]: ...
|
||||
global___MUIState = MUIState
|
||||
parent_id: builtins.int | None = ...,
|
||||
children_ids: collections.abc.Iterable[builtins.int] | None = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_parent_id", b"_parent_id", "parent_id", b"parent_id"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_parent_id", b"_parent_id", "children_ids", b"children_ids", "parent_id", b"parent_id", "pc", b"pc", "state_id", b"state_id"]) -> None: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_parent_id", b"_parent_id"]) -> typing_extensions.Literal["parent_id"] | None: ...
|
||||
|
||||
class MUIStateList(google.protobuf.message.Message):
|
||||
global___ManticoreState = ManticoreState
|
||||
|
||||
class ManticoreStateList(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
ACTIVE_STATES_FIELD_NUMBER: builtins.int
|
||||
WAITING_STATES_FIELD_NUMBER: builtins.int
|
||||
FORKED_STATES_FIELD_NUMBER: builtins.int
|
||||
@@ -70,62 +85,70 @@ class MUIStateList(google.protobuf.message.Message):
|
||||
COMPLETE_STATES_FIELD_NUMBER: builtins.int
|
||||
PAUSED_STATES_FIELD_NUMBER: builtins.int
|
||||
@property
|
||||
def active_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MUIState]:
|
||||
"""state categories in MUI - based on manticore enums StateStatus and StateList"""
|
||||
pass
|
||||
def active_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManticoreState]:
|
||||
"""state categories in Manticore - based on manticore enums StateStatus and StateList"""
|
||||
@property
|
||||
def waiting_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MUIState]: ...
|
||||
def waiting_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManticoreState]: ...
|
||||
@property
|
||||
def forked_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MUIState]: ...
|
||||
def forked_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManticoreState]: ...
|
||||
@property
|
||||
def errored_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MUIState]: ...
|
||||
def errored_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManticoreState]: ...
|
||||
@property
|
||||
def complete_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MUIState]: ...
|
||||
def complete_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManticoreState]: ...
|
||||
@property
|
||||
def paused_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MUIState]: ...
|
||||
def __init__(self,
|
||||
def paused_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ManticoreState]: ...
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
active_states: typing.Optional[typing.Iterable[global___MUIState]] = ...,
|
||||
waiting_states: typing.Optional[typing.Iterable[global___MUIState]] = ...,
|
||||
forked_states: typing.Optional[typing.Iterable[global___MUIState]] = ...,
|
||||
errored_states: typing.Optional[typing.Iterable[global___MUIState]] = ...,
|
||||
complete_states: typing.Optional[typing.Iterable[global___MUIState]] = ...,
|
||||
paused_states: typing.Optional[typing.Iterable[global___MUIState]] = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["active_states",b"active_states","complete_states",b"complete_states","errored_states",b"errored_states","forked_states",b"forked_states","paused_states",b"paused_states","waiting_states",b"waiting_states"]) -> None: ...
|
||||
global___MUIStateList = MUIStateList
|
||||
active_states: collections.abc.Iterable[global___ManticoreState] | None = ...,
|
||||
waiting_states: collections.abc.Iterable[global___ManticoreState] | None = ...,
|
||||
forked_states: collections.abc.Iterable[global___ManticoreState] | None = ...,
|
||||
errored_states: collections.abc.Iterable[global___ManticoreState] | None = ...,
|
||||
complete_states: collections.abc.Iterable[global___ManticoreState] | None = ...,
|
||||
paused_states: collections.abc.Iterable[global___ManticoreState] | None = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["active_states", b"active_states", "complete_states", b"complete_states", "errored_states", b"errored_states", "forked_states", b"forked_states", "paused_states", b"paused_states", "waiting_states", b"waiting_states"]) -> None: ...
|
||||
|
||||
global___ManticoreStateList = ManticoreStateList
|
||||
|
||||
class ManticoreInstance(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
UUID_FIELD_NUMBER: builtins.int
|
||||
uuid: typing.Text
|
||||
def __init__(self,
|
||||
uuid: builtins.str
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
uuid: typing.Text = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["uuid",b"uuid"]) -> None: ...
|
||||
uuid: builtins.str = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["uuid", b"uuid"]) -> None: ...
|
||||
|
||||
global___ManticoreInstance = ManticoreInstance
|
||||
|
||||
class TerminateResponse(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
def __init__(self,
|
||||
) -> None: ...
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
) -> None: ...
|
||||
|
||||
global___TerminateResponse = TerminateResponse
|
||||
|
||||
class Hook(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
class _HookType:
|
||||
ValueType = typing.NewType('ValueType', builtins.int)
|
||||
ValueType = typing.NewType("ValueType", builtins.int)
|
||||
V: typing_extensions.TypeAlias = ValueType
|
||||
class _HookTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Hook._HookType.ValueType], builtins.type):
|
||||
|
||||
class _HookTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Hook._HookType.ValueType], builtins.type): # noqa: F821
|
||||
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
||||
FIND: Hook._HookType.ValueType # 0
|
||||
AVOID: Hook._HookType.ValueType # 1
|
||||
CUSTOM: Hook._HookType.ValueType # 2
|
||||
GLOBAL: Hook._HookType.ValueType # 3
|
||||
class HookType(_HookType, metaclass=_HookTypeEnumTypeWrapper):
|
||||
pass
|
||||
|
||||
class HookType(_HookType, metaclass=_HookTypeEnumTypeWrapper): ...
|
||||
FIND: Hook.HookType.ValueType # 0
|
||||
AVOID: Hook.HookType.ValueType # 1
|
||||
CUSTOM: Hook.HookType.ValueType # 2
|
||||
@@ -136,23 +159,26 @@ class Hook(google.protobuf.message.Message):
|
||||
FUNC_TEXT_FIELD_NUMBER: builtins.int
|
||||
address: builtins.int
|
||||
type: global___Hook.HookType.ValueType
|
||||
func_text: typing.Text
|
||||
def __init__(self,
|
||||
func_text: builtins.str
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
address: typing.Optional[builtins.int] = ...,
|
||||
address: builtins.int | None = ...,
|
||||
type: global___Hook.HookType.ValueType = ...,
|
||||
func_text: typing.Optional[typing.Text] = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_address",b"_address","_func_text",b"_func_text","address",b"address","func_text",b"func_text"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_address",b"_address","_func_text",b"_func_text","address",b"address","func_text",b"func_text","type",b"type"]) -> None: ...
|
||||
func_text: builtins.str | None = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_address", b"_address", "_func_text", b"_func_text", "address", b"address", "func_text", b"func_text"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_address", b"_address", "_func_text", b"_func_text", "address", b"address", "func_text", b"func_text", "type", b"type"]) -> None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_address",b"_address"]) -> typing.Optional[typing_extensions.Literal["address"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_address", b"_address"]) -> typing_extensions.Literal["address"] | None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_func_text",b"_func_text"]) -> typing.Optional[typing_extensions.Literal["func_text"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_func_text", b"_func_text"]) -> typing_extensions.Literal["func_text"] | None: ...
|
||||
|
||||
global___Hook = Hook
|
||||
|
||||
class NativeArguments(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
PROGRAM_PATH_FIELD_NUMBER: builtins.int
|
||||
BINARY_ARGS_FIELD_NUMBER: builtins.int
|
||||
ENVP_FIELD_NUMBER: builtins.int
|
||||
@@ -162,45 +188,48 @@ class NativeArguments(google.protobuf.message.Message):
|
||||
ADDITIONAL_MCORE_ARGS_FIELD_NUMBER: builtins.int
|
||||
HOOKS_FIELD_NUMBER: builtins.int
|
||||
EMULATE_UNTIL_FIELD_NUMBER: builtins.int
|
||||
program_path: typing.Text
|
||||
program_path: builtins.str
|
||||
@property
|
||||
def binary_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
||||
def binary_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
||||
@property
|
||||
def envp(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
||||
def envp(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
||||
@property
|
||||
def symbolic_files(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
||||
concrete_start: typing.Text
|
||||
stdin_size: typing.Text
|
||||
additional_mcore_args: typing.Text
|
||||
def symbolic_files(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
||||
concrete_start: builtins.str
|
||||
stdin_size: builtins.str
|
||||
additional_mcore_args: builtins.str
|
||||
@property
|
||||
def hooks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Hook]: ...
|
||||
emulate_until: builtins.int
|
||||
def __init__(self,
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
program_path: typing.Text = ...,
|
||||
binary_args: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
||||
envp: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
||||
symbolic_files: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
||||
concrete_start: typing.Optional[typing.Text] = ...,
|
||||
stdin_size: typing.Optional[typing.Text] = ...,
|
||||
additional_mcore_args: typing.Optional[typing.Text] = ...,
|
||||
hooks: typing.Optional[typing.Iterable[global___Hook]] = ...,
|
||||
emulate_until: typing.Optional[builtins.int] = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_additional_mcore_args",b"_additional_mcore_args","_concrete_start",b"_concrete_start","_emulate_until",b"_emulate_until","_stdin_size",b"_stdin_size","additional_mcore_args",b"additional_mcore_args","concrete_start",b"concrete_start","emulate_until",b"emulate_until","stdin_size",b"stdin_size"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_additional_mcore_args",b"_additional_mcore_args","_concrete_start",b"_concrete_start","_emulate_until",b"_emulate_until","_stdin_size",b"_stdin_size","additional_mcore_args",b"additional_mcore_args","binary_args",b"binary_args","concrete_start",b"concrete_start","emulate_until",b"emulate_until","envp",b"envp","hooks",b"hooks","program_path",b"program_path","stdin_size",b"stdin_size","symbolic_files",b"symbolic_files"]) -> None: ...
|
||||
program_path: builtins.str = ...,
|
||||
binary_args: collections.abc.Iterable[builtins.str] | None = ...,
|
||||
envp: collections.abc.Iterable[builtins.str] | None = ...,
|
||||
symbolic_files: collections.abc.Iterable[builtins.str] | None = ...,
|
||||
concrete_start: builtins.str | None = ...,
|
||||
stdin_size: builtins.str | None = ...,
|
||||
additional_mcore_args: builtins.str | None = ...,
|
||||
hooks: collections.abc.Iterable[global___Hook] | None = ...,
|
||||
emulate_until: builtins.int | None = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_additional_mcore_args", b"_additional_mcore_args", "_concrete_start", b"_concrete_start", "_emulate_until", b"_emulate_until", "_stdin_size", b"_stdin_size", "additional_mcore_args", b"additional_mcore_args", "concrete_start", b"concrete_start", "emulate_until", b"emulate_until", "stdin_size", b"stdin_size"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_additional_mcore_args", b"_additional_mcore_args", "_concrete_start", b"_concrete_start", "_emulate_until", b"_emulate_until", "_stdin_size", b"_stdin_size", "additional_mcore_args", b"additional_mcore_args", "binary_args", b"binary_args", "concrete_start", b"concrete_start", "emulate_until", b"emulate_until", "envp", b"envp", "hooks", b"hooks", "program_path", b"program_path", "stdin_size", b"stdin_size", "symbolic_files", b"symbolic_files"]) -> None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_additional_mcore_args",b"_additional_mcore_args"]) -> typing.Optional[typing_extensions.Literal["additional_mcore_args"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_additional_mcore_args", b"_additional_mcore_args"]) -> typing_extensions.Literal["additional_mcore_args"] | None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_concrete_start",b"_concrete_start"]) -> typing.Optional[typing_extensions.Literal["concrete_start"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_concrete_start", b"_concrete_start"]) -> typing_extensions.Literal["concrete_start"] | None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_emulate_until",b"_emulate_until"]) -> typing.Optional[typing_extensions.Literal["emulate_until"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_emulate_until", b"_emulate_until"]) -> typing_extensions.Literal["emulate_until"] | None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_stdin_size",b"_stdin_size"]) -> typing.Optional[typing_extensions.Literal["stdin_size"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_stdin_size", b"_stdin_size"]) -> typing_extensions.Literal["stdin_size"] | None: ...
|
||||
|
||||
global___NativeArguments = NativeArguments
|
||||
|
||||
class EVMArguments(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
CONTRACT_PATH_FIELD_NUMBER: builtins.int
|
||||
CONTRACT_NAME_FIELD_NUMBER: builtins.int
|
||||
SOLC_BIN_FIELD_NUMBER: builtins.int
|
||||
@@ -208,70 +237,82 @@ class EVMArguments(google.protobuf.message.Message):
|
||||
TX_ACCOUNT_FIELD_NUMBER: builtins.int
|
||||
DETECTORS_TO_EXCLUDE_FIELD_NUMBER: builtins.int
|
||||
ADDITIONAL_FLAGS_FIELD_NUMBER: builtins.int
|
||||
contract_path: typing.Text
|
||||
contract_name: typing.Text
|
||||
solc_bin: typing.Text
|
||||
tx_limit: typing.Text
|
||||
tx_account: typing.Text
|
||||
contract_path: builtins.str
|
||||
contract_name: builtins.str
|
||||
solc_bin: builtins.str
|
||||
tx_limit: builtins.str
|
||||
tx_account: builtins.str
|
||||
@property
|
||||
def detectors_to_exclude(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
|
||||
additional_flags: typing.Text
|
||||
def __init__(self,
|
||||
def detectors_to_exclude(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
||||
additional_flags: builtins.str
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
contract_path: typing.Text = ...,
|
||||
contract_name: typing.Text = ...,
|
||||
solc_bin: typing.Text = ...,
|
||||
tx_limit: typing.Optional[typing.Text] = ...,
|
||||
tx_account: typing.Optional[typing.Text] = ...,
|
||||
detectors_to_exclude: typing.Optional[typing.Iterable[typing.Text]] = ...,
|
||||
additional_flags: typing.Optional[typing.Text] = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_additional_flags",b"_additional_flags","_tx_account",b"_tx_account","_tx_limit",b"_tx_limit","additional_flags",b"additional_flags","tx_account",b"tx_account","tx_limit",b"tx_limit"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_additional_flags",b"_additional_flags","_tx_account",b"_tx_account","_tx_limit",b"_tx_limit","additional_flags",b"additional_flags","contract_name",b"contract_name","contract_path",b"contract_path","detectors_to_exclude",b"detectors_to_exclude","solc_bin",b"solc_bin","tx_account",b"tx_account","tx_limit",b"tx_limit"]) -> None: ...
|
||||
contract_path: builtins.str = ...,
|
||||
contract_name: builtins.str = ...,
|
||||
solc_bin: builtins.str = ...,
|
||||
tx_limit: builtins.str | None = ...,
|
||||
tx_account: builtins.str | None = ...,
|
||||
detectors_to_exclude: collections.abc.Iterable[builtins.str] | None = ...,
|
||||
additional_flags: builtins.str | None = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["_additional_flags", b"_additional_flags", "_tx_account", b"_tx_account", "_tx_limit", b"_tx_limit", "additional_flags", b"additional_flags", "tx_account", b"tx_account", "tx_limit", b"tx_limit"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["_additional_flags", b"_additional_flags", "_tx_account", b"_tx_account", "_tx_limit", b"_tx_limit", "additional_flags", b"additional_flags", "contract_name", b"contract_name", "contract_path", b"contract_path", "detectors_to_exclude", b"detectors_to_exclude", "solc_bin", b"solc_bin", "tx_account", b"tx_account", "tx_limit", b"tx_limit"]) -> None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_additional_flags",b"_additional_flags"]) -> typing.Optional[typing_extensions.Literal["additional_flags"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_additional_flags", b"_additional_flags"]) -> typing_extensions.Literal["additional_flags"] | None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_tx_account",b"_tx_account"]) -> typing.Optional[typing_extensions.Literal["tx_account"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_tx_account", b"_tx_account"]) -> typing_extensions.Literal["tx_account"] | None: ...
|
||||
@typing.overload
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_tx_limit",b"_tx_limit"]) -> typing.Optional[typing_extensions.Literal["tx_limit"]]: ...
|
||||
def WhichOneof(self, oneof_group: typing_extensions.Literal["_tx_limit", b"_tx_limit"]) -> typing_extensions.Literal["tx_limit"] | None: ...
|
||||
|
||||
global___EVMArguments = EVMArguments
|
||||
|
||||
class ManticoreRunningStatus(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
IS_RUNNING_FIELD_NUMBER: builtins.int
|
||||
is_running: builtins.bool
|
||||
def __init__(self,
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
is_running: builtins.bool = ...,
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["is_running",b"is_running"]) -> None: ...
|
||||
) -> None: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["is_running", b"is_running"]) -> None: ...
|
||||
|
||||
global___ManticoreRunningStatus = ManticoreRunningStatus
|
||||
|
||||
class StopServerRequest(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
def __init__(self,
|
||||
) -> None: ...
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
) -> None: ...
|
||||
|
||||
global___StopServerRequest = StopServerRequest
|
||||
|
||||
class StopServerResponse(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
def __init__(self,
|
||||
) -> None: ...
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
) -> None: ...
|
||||
|
||||
global___StopServerResponse = StopServerResponse
|
||||
|
||||
class ControlStateRequest(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
|
||||
class _StateAction:
|
||||
ValueType = typing.NewType('ValueType', builtins.int)
|
||||
ValueType = typing.NewType("ValueType", builtins.int)
|
||||
V: typing_extensions.TypeAlias = ValueType
|
||||
class _StateActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ControlStateRequest._StateAction.ValueType], builtins.type):
|
||||
|
||||
class _StateActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ControlStateRequest._StateAction.ValueType], builtins.type): # noqa: F821
|
||||
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
||||
RESUME: ControlStateRequest._StateAction.ValueType # 0
|
||||
PAUSE: ControlStateRequest._StateAction.ValueType # 1
|
||||
KILL: ControlStateRequest._StateAction.ValueType # 2
|
||||
class StateAction(_StateAction, metaclass=_StateActionEnumTypeWrapper):
|
||||
pass
|
||||
|
||||
class StateAction(_StateAction, metaclass=_StateActionEnumTypeWrapper): ...
|
||||
RESUME: ControlStateRequest.StateAction.ValueType # 0
|
||||
PAUSE: ControlStateRequest.StateAction.ValueType # 1
|
||||
KILL: ControlStateRequest.StateAction.ValueType # 2
|
||||
@@ -283,18 +324,23 @@ class ControlStateRequest(google.protobuf.message.Message):
|
||||
@property
|
||||
def manticore_instance(self) -> global___ManticoreInstance: ...
|
||||
action: global___ControlStateRequest.StateAction.ValueType
|
||||
def __init__(self,
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
state_id: builtins.int = ...,
|
||||
manticore_instance: typing.Optional[global___ManticoreInstance] = ...,
|
||||
manticore_instance: global___ManticoreInstance | None = ...,
|
||||
action: global___ControlStateRequest.StateAction.ValueType = ...,
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["manticore_instance",b"manticore_instance"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["action",b"action","manticore_instance",b"manticore_instance","state_id",b"state_id"]) -> None: ...
|
||||
) -> None: ...
|
||||
def HasField(self, field_name: typing_extensions.Literal["manticore_instance", b"manticore_instance"]) -> builtins.bool: ...
|
||||
def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "manticore_instance", b"manticore_instance", "state_id", b"state_id"]) -> None: ...
|
||||
|
||||
global___ControlStateRequest = ControlStateRequest
|
||||
|
||||
class ControlStateResponse(google.protobuf.message.Message):
|
||||
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
||||
def __init__(self,
|
||||
) -> None: ...
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
) -> None: ...
|
||||
|
||||
global___ControlStateResponse = ControlStateResponse
|
||||
+70
-70
@@ -2,10 +2,10 @@
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from muicore import MUICore_pb2 as muicore_dot_MUICore__pb2
|
||||
from manticore_server import ManticoreServer_pb2 as manticore__server_dot_ManticoreServer__pb2
|
||||
|
||||
|
||||
class ManticoreUIStub(object):
|
||||
class ManticoreServerStub(object):
|
||||
"""Missing associated documentation comment in .proto file."""
|
||||
|
||||
def __init__(self, channel):
|
||||
@@ -15,48 +15,48 @@ class ManticoreUIStub(object):
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.StartNative = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/StartNative',
|
||||
request_serializer=muicore_dot_MUICore__pb2.NativeArguments.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
'/manticore_server.ManticoreServer/StartNative',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.NativeArguments.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
)
|
||||
self.StartEVM = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/StartEVM',
|
||||
request_serializer=muicore_dot_MUICore__pb2.EVMArguments.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
'/manticore_server.ManticoreServer/StartEVM',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.EVMArguments.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
)
|
||||
self.Terminate = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/Terminate',
|
||||
request_serializer=muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.TerminateResponse.FromString,
|
||||
'/manticore_server.ManticoreServer/Terminate',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.TerminateResponse.FromString,
|
||||
)
|
||||
self.GetStateList = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/GetStateList',
|
||||
request_serializer=muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.MUIStateList.FromString,
|
||||
'/manticore_server.ManticoreServer/GetStateList',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreStateList.FromString,
|
||||
)
|
||||
self.GetMessageList = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/GetMessageList',
|
||||
request_serializer=muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.MUIMessageList.FromString,
|
||||
'/manticore_server.ManticoreServer/GetMessageList',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreMessageList.FromString,
|
||||
)
|
||||
self.CheckManticoreRunning = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/CheckManticoreRunning',
|
||||
request_serializer=muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.ManticoreRunningStatus.FromString,
|
||||
'/manticore_server.ManticoreServer/CheckManticoreRunning',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreRunningStatus.FromString,
|
||||
)
|
||||
self.StopServer = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/StopServer',
|
||||
request_serializer=muicore_dot_MUICore__pb2.StopServerRequest.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.StopServerResponse.FromString,
|
||||
'/manticore_server.ManticoreServer/StopServer',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.StopServerRequest.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.StopServerResponse.FromString,
|
||||
)
|
||||
self.ControlState = channel.unary_unary(
|
||||
'/muicore.ManticoreUI/ControlState',
|
||||
request_serializer=muicore_dot_MUICore__pb2.ControlStateRequest.SerializeToString,
|
||||
response_deserializer=muicore_dot_MUICore__pb2.ControlStateResponse.FromString,
|
||||
'/manticore_server.ManticoreServer/ControlState',
|
||||
request_serializer=manticore__server_dot_ManticoreServer__pb2.ControlStateRequest.SerializeToString,
|
||||
response_deserializer=manticore__server_dot_ManticoreServer__pb2.ControlStateResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class ManticoreUIServicer(object):
|
||||
class ManticoreServerServicer(object):
|
||||
"""Missing associated documentation comment in .proto file."""
|
||||
|
||||
def StartNative(self, request, context):
|
||||
@@ -108,56 +108,56 @@ class ManticoreUIServicer(object):
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_ManticoreUIServicer_to_server(servicer, server):
|
||||
def add_ManticoreServerServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'StartNative': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.StartNative,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.NativeArguments.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.NativeArguments.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
),
|
||||
'StartEVM': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.StartEVM,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.EVMArguments.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.EVMArguments.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
),
|
||||
'Terminate': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Terminate,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.TerminateResponse.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.TerminateResponse.SerializeToString,
|
||||
),
|
||||
'GetStateList': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetStateList,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.MUIStateList.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreStateList.SerializeToString,
|
||||
),
|
||||
'GetMessageList': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetMessageList,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.MUIMessageList.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreMessageList.SerializeToString,
|
||||
),
|
||||
'CheckManticoreRunning': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.CheckManticoreRunning,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.ManticoreRunningStatus.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.ManticoreRunningStatus.SerializeToString,
|
||||
),
|
||||
'StopServer': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.StopServer,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.StopServerRequest.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.StopServerResponse.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.StopServerRequest.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.StopServerResponse.SerializeToString,
|
||||
),
|
||||
'ControlState': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.ControlState,
|
||||
request_deserializer=muicore_dot_MUICore__pb2.ControlStateRequest.FromString,
|
||||
response_serializer=muicore_dot_MUICore__pb2.ControlStateResponse.SerializeToString,
|
||||
request_deserializer=manticore__server_dot_ManticoreServer__pb2.ControlStateRequest.FromString,
|
||||
response_serializer=manticore__server_dot_ManticoreServer__pb2.ControlStateResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'muicore.ManticoreUI', rpc_method_handlers)
|
||||
'manticore_server.ManticoreServer', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class ManticoreUI(object):
|
||||
class ManticoreServer(object):
|
||||
"""Missing associated documentation comment in .proto file."""
|
||||
|
||||
@staticmethod
|
||||
@@ -171,9 +171,9 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/StartNative',
|
||||
muicore_dot_MUICore__pb2.NativeArguments.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/StartNative',
|
||||
manticore__server_dot_ManticoreServer__pb2.NativeArguments.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@@ -188,9 +188,9 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/StartEVM',
|
||||
muicore_dot_MUICore__pb2.EVMArguments.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.ManticoreInstance.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/StartEVM',
|
||||
manticore__server_dot_ManticoreServer__pb2.EVMArguments.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@@ -205,9 +205,9 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/Terminate',
|
||||
muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.TerminateResponse.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/Terminate',
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.TerminateResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@@ -222,9 +222,9 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/GetStateList',
|
||||
muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.MUIStateList.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/GetStateList',
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreStateList.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@@ -239,9 +239,9 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/GetMessageList',
|
||||
muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.MUIMessageList.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/GetMessageList',
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreMessageList.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@@ -256,9 +256,9 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/CheckManticoreRunning',
|
||||
muicore_dot_MUICore__pb2.ManticoreInstance.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.ManticoreRunningStatus.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/CheckManticoreRunning',
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreInstance.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.ManticoreRunningStatus.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@@ -273,9 +273,9 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/StopServer',
|
||||
muicore_dot_MUICore__pb2.StopServerRequest.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.StopServerResponse.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/StopServer',
|
||||
manticore__server_dot_ManticoreServer__pb2.StopServerRequest.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.StopServerResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@@ -290,8 +290,8 @@ class ManticoreUI(object):
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/muicore.ManticoreUI/ControlState',
|
||||
muicore_dot_MUICore__pb2.ControlStateRequest.SerializeToString,
|
||||
muicore_dot_MUICore__pb2.ControlStateResponse.FromString,
|
||||
return grpc.experimental.unary_unary(request, target, '/manticore_server.ManticoreServer/ControlState',
|
||||
manticore__server_dot_ManticoreServer__pb2.ControlStateRequest.SerializeToString,
|
||||
manticore__server_dot_ManticoreServer__pb2.ControlStateResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
@@ -0,0 +1 @@
|
||||
from . import manticore_server
|
||||
@@ -5,13 +5,12 @@ from manticore.core.state import StateBase
|
||||
from manticore.utils.enums import StateLists
|
||||
|
||||
|
||||
# from https://github.com/trailofbits/ManticoreUI/blob/master/mui/introspect_plugin.py
|
||||
class MUIIntrospectionPlugin(IntrospectionAPIPlugin):
|
||||
NAME = "MUIIntrospectionPlugin"
|
||||
class ManticoreServerIntrospectionPlugin(IntrospectionAPIPlugin):
|
||||
NAME = "ManticoreServerIntrospectionPlugin"
|
||||
|
||||
@property
|
||||
def name(self) -> str:
|
||||
return "MUIIntrospectionPlugin"
|
||||
return "ManticoreServerIntrospectionPlugin"
|
||||
|
||||
def create_state(self, state_id: int):
|
||||
"""Override create_state to force a state update right after creation.
|
||||
@@ -28,9 +28,12 @@ from manticore.utils.helpers import deque
|
||||
from manticore.utils.log import CallbackStream, ManticoreContextFilter
|
||||
|
||||
from .evm_utils import setup_detectors_flags
|
||||
from .introspect_plugin import MUIIntrospectionPlugin
|
||||
from .MUICore_pb2 import *
|
||||
from .MUICore_pb2_grpc import ManticoreUIServicer, add_ManticoreUIServicer_to_server
|
||||
from .introspect_plugin import ManticoreServerIntrospectionPlugin
|
||||
from .ManticoreServer_pb2 import *
|
||||
from .ManticoreServer_pb2_grpc import (
|
||||
ManticoreServerServicer,
|
||||
add_ManticoreServerServicer_to_server,
|
||||
)
|
||||
from .native_plugin import UnicornEmulatePlugin
|
||||
from .native_utils import parse_native_arguments
|
||||
|
||||
@@ -80,7 +83,7 @@ class ManticoreWrapper:
|
||||
q.put(msg)
|
||||
|
||||
|
||||
class MUIServicer(ManticoreUIServicer):
|
||||
class ManticoreServicer(ManticoreServerServicer):
|
||||
"""Provides functionality for the methods set out in the protobuf spec"""
|
||||
|
||||
def __init__(self, stop_event: Event):
|
||||
@@ -157,7 +160,7 @@ class MUIServicer(ManticoreUIServicer):
|
||||
if not native_arguments.stdin_size
|
||||
else int(native_arguments.stdin_size),
|
||||
workspace_url=parsed.workspace,
|
||||
introspection_plugin_type=MUIIntrospectionPlugin,
|
||||
introspection_plugin_type=ManticoreServerIntrospectionPlugin,
|
||||
)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
@@ -343,9 +346,8 @@ class MUIServicer(ManticoreUIServicer):
|
||||
|
||||
def GetStateList(
|
||||
self, mcore_instance: ManticoreInstance, context: _Context
|
||||
) -> MUIStateList:
|
||||
"""Returns full list of states for given ManticoreInstance.
|
||||
Currently, implementation is based on MUI's Binary Ninja plugin."""
|
||||
) -> ManticoreStateList:
|
||||
"""Returns full list of states for given ManticoreInstance."""
|
||||
active_states = []
|
||||
waiting_states = []
|
||||
paused_states = []
|
||||
@@ -356,7 +358,7 @@ class MUIServicer(ManticoreUIServicer):
|
||||
if mcore_instance.uuid not in self.manticore_instances:
|
||||
context.set_code(grpc.StatusCode.FAILED_PRECONDITION)
|
||||
context.set_details("Specified Manticore instance not found!")
|
||||
return MUIStateList()
|
||||
return ManticoreStateList()
|
||||
|
||||
mcore_wrapper = self.manticore_instances[mcore_instance.uuid]
|
||||
states = (
|
||||
@@ -379,7 +381,7 @@ class MUIServicer(ManticoreUIServicer):
|
||||
|
||||
state_args["children_ids"] = list(state_desc.children)
|
||||
|
||||
s = MUIState(**state_args)
|
||||
s = ManticoreState(**state_args)
|
||||
|
||||
if state_desc.status == StateStatus.running:
|
||||
active_states.append(s)
|
||||
@@ -400,7 +402,7 @@ class MUIServicer(ManticoreUIServicer):
|
||||
else:
|
||||
raise ValueError(f"Unknown status {state_desc.status}")
|
||||
|
||||
return MUIStateList(
|
||||
return ManticoreStateList(
|
||||
active_states=active_states,
|
||||
waiting_states=waiting_states,
|
||||
paused_states=paused_states,
|
||||
@@ -411,22 +413,22 @@ class MUIServicer(ManticoreUIServicer):
|
||||
|
||||
def GetMessageList(
|
||||
self, mcore_instance: ManticoreInstance, context: _Context
|
||||
) -> MUIMessageList:
|
||||
) -> ManticoreMessageList:
|
||||
"""Returns any new log messages for given ManticoreInstance since the previous call.
|
||||
Currently, implementation is based on TUI."""
|
||||
if mcore_instance.uuid not in self.manticore_instances:
|
||||
context.set_code(grpc.StatusCode.FAILED_PRECONDITION)
|
||||
context.set_details("Specified Manticore instance not found!")
|
||||
return MUIMessageList()
|
||||
return ManticoreMessageList()
|
||||
|
||||
q = self.manticore_instances[mcore_instance.uuid].log_queue
|
||||
i = 0
|
||||
messages = []
|
||||
while not q.empty():
|
||||
msg = MUILogMessage(content=q.get())
|
||||
msg = ManticoreLogMessage(content=q.get())
|
||||
messages.append(msg)
|
||||
i += 1
|
||||
return MUIMessageList(messages=messages)
|
||||
return ManticoreMessageList(messages=messages)
|
||||
|
||||
def CheckManticoreRunning(
|
||||
self, mcore_instance: ManticoreInstance, context: _Context
|
||||
@@ -536,7 +538,7 @@ class MUIServicer(ManticoreUIServicer):
|
||||
def main():
|
||||
stop_event = Event()
|
||||
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
|
||||
add_ManticoreUIServicer_to_server(MUIServicer(stop_event), server)
|
||||
add_ManticoreServerServicer_to_server(ManticoreServicer(stop_event), server)
|
||||
server.add_insecure_port("[::]:50010")
|
||||
server.start()
|
||||
stop_event.wait()
|
||||
@@ -1,173 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: muicore/MUICore.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15muicore/MUICore.proto\x12\x07muicore\" \n\rMUILogMessage\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\":\n\x0eMUIMessageList\x12(\n\x08messages\x18\x02 \x03(\x0b\x32\x16.muicore.MUILogMessage\"d\n\x08MUIState\x12\x10\n\x08state_id\x18\x03 \x01(\x05\x12\n\n\x02pc\x18\n \x01(\x04\x12\x16\n\tparent_id\x18\x1c \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x0c\x63hildren_ids\x18\x1d \x03(\x05\x42\x0c\n\n_parent_id\"\x8e\x02\n\x0cMUIStateList\x12(\n\ractive_states\x18\x04 \x03(\x0b\x32\x11.muicore.MUIState\x12)\n\x0ewaiting_states\x18\x05 \x03(\x0b\x32\x11.muicore.MUIState\x12(\n\rforked_states\x18\x06 \x03(\x0b\x32\x11.muicore.MUIState\x12)\n\x0e\x65rrored_states\x18\x07 \x03(\x0b\x32\x11.muicore.MUIState\x12*\n\x0f\x63omplete_states\x18\x08 \x03(\x0b\x32\x11.muicore.MUIState\x12(\n\rpaused_states\x18! \x03(\x0b\x32\x11.muicore.MUIState\"!\n\x11ManticoreInstance\x12\x0c\n\x04uuid\x18\t \x01(\t\"\x13\n\x11TerminateResponse\"\xad\x01\n\x04Hook\x12\x14\n\x07\x61\x64\x64ress\x18\x1a \x01(\x04H\x00\x88\x01\x01\x12$\n\x04type\x18\x1b \x01(\x0e\x32\x16.muicore.Hook.HookType\x12\x16\n\tfunc_text\x18\x1f \x01(\tH\x01\x88\x01\x01\"7\n\x08HookType\x12\x08\n\x04\x46IND\x10\x00\x12\t\n\x05\x41VOID\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\n\n\x06GLOBAL\x10\x03\x42\n\n\x08_addressB\x0c\n\n_func_text\"\xc4\x02\n\x0fNativeArguments\x12\x14\n\x0cprogram_path\x18\x0b \x01(\t\x12\x13\n\x0b\x62inary_args\x18\x10 \x03(\t\x12\x0c\n\x04\x65nvp\x18\x11 \x03(\t\x12\x16\n\x0esymbolic_files\x18\x12 \x03(\t\x12\x1b\n\x0e\x63oncrete_start\x18\x13 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nstdin_size\x18\x14 \x01(\tH\x01\x88\x01\x01\x12\"\n\x15\x61\x64\x64itional_mcore_args\x18\x15 \x01(\tH\x02\x88\x01\x01\x12\x1c\n\x05hooks\x18\x1e \x03(\x0b\x32\r.muicore.Hook\x12\x1a\n\remulate_until\x18 \x01(\x04H\x03\x88\x01\x01\x42\x11\n\x0f_concrete_startB\r\n\x0b_stdin_sizeB\x18\n\x16_additional_mcore_argsB\x10\n\x0e_emulate_until\"\xec\x01\n\x0c\x45VMArguments\x12\x15\n\rcontract_path\x18\x0c \x01(\t\x12\x15\n\rcontract_name\x18\r \x01(\t\x12\x10\n\x08solc_bin\x18\x0e \x01(\t\x12\x15\n\x08tx_limit\x18\x16 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntx_account\x18\x17 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x14\x64\x65tectors_to_exclude\x18\x18 \x03(\t\x12\x1d\n\x10\x61\x64\x64itional_flags\x18\x19 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_tx_limitB\r\n\x0b_tx_accountB\x13\n\x11_additional_flags\",\n\x16ManticoreRunningStatus\x12\x12\n\nis_running\x18\x0f \x01(\x08\"\x13\n\x11StopServerRequest\"\x14\n\x12StopServerResponse\"\xc9\x01\n\x13\x43ontrolStateRequest\x12\x10\n\x08state_id\x18\" \x01(\x05\x12\x36\n\x12manticore_instance\x18# \x01(\x0b\x32\x1a.muicore.ManticoreInstance\x12\x38\n\x06\x61\x63tion\x18$ \x01(\x0e\x32(.muicore.ControlStateRequest.StateAction\".\n\x0bStateAction\x12\n\n\x06RESUME\x10\x00\x12\t\n\x05PAUSE\x10\x01\x12\x08\n\x04KILL\x10\x02\"\x16\n\x14\x43ontrolStateResponse2\xda\x04\n\x0bManticoreUI\x12\x45\n\x0bStartNative\x12\x18.muicore.NativeArguments\x1a\x1a.muicore.ManticoreInstance\"\x00\x12?\n\x08StartEVM\x12\x15.muicore.EVMArguments\x1a\x1a.muicore.ManticoreInstance\"\x00\x12\x45\n\tTerminate\x12\x1a.muicore.ManticoreInstance\x1a\x1a.muicore.TerminateResponse\"\x00\x12\x43\n\x0cGetStateList\x12\x1a.muicore.ManticoreInstance\x1a\x15.muicore.MUIStateList\"\x00\x12G\n\x0eGetMessageList\x12\x1a.muicore.ManticoreInstance\x1a\x17.muicore.MUIMessageList\"\x00\x12V\n\x15\x43heckManticoreRunning\x12\x1a.muicore.ManticoreInstance\x1a\x1f.muicore.ManticoreRunningStatus\"\x00\x12G\n\nStopServer\x12\x1a.muicore.StopServerRequest\x1a\x1b.muicore.StopServerResponse\"\x00\x12M\n\x0c\x43ontrolState\x12\x1c.muicore.ControlStateRequest\x1a\x1d.muicore.ControlStateResponse\"\x00\x62\x06proto3')
|
||||
|
||||
|
||||
|
||||
_MUILOGMESSAGE = DESCRIPTOR.message_types_by_name['MUILogMessage']
|
||||
_MUIMESSAGELIST = DESCRIPTOR.message_types_by_name['MUIMessageList']
|
||||
_MUISTATE = DESCRIPTOR.message_types_by_name['MUIState']
|
||||
_MUISTATELIST = DESCRIPTOR.message_types_by_name['MUIStateList']
|
||||
_MANTICOREINSTANCE = DESCRIPTOR.message_types_by_name['ManticoreInstance']
|
||||
_TERMINATERESPONSE = DESCRIPTOR.message_types_by_name['TerminateResponse']
|
||||
_HOOK = DESCRIPTOR.message_types_by_name['Hook']
|
||||
_NATIVEARGUMENTS = DESCRIPTOR.message_types_by_name['NativeArguments']
|
||||
_EVMARGUMENTS = DESCRIPTOR.message_types_by_name['EVMArguments']
|
||||
_MANTICORERUNNINGSTATUS = DESCRIPTOR.message_types_by_name['ManticoreRunningStatus']
|
||||
_STOPSERVERREQUEST = DESCRIPTOR.message_types_by_name['StopServerRequest']
|
||||
_STOPSERVERRESPONSE = DESCRIPTOR.message_types_by_name['StopServerResponse']
|
||||
_CONTROLSTATEREQUEST = DESCRIPTOR.message_types_by_name['ControlStateRequest']
|
||||
_CONTROLSTATERESPONSE = DESCRIPTOR.message_types_by_name['ControlStateResponse']
|
||||
_HOOK_HOOKTYPE = _HOOK.enum_types_by_name['HookType']
|
||||
_CONTROLSTATEREQUEST_STATEACTION = _CONTROLSTATEREQUEST.enum_types_by_name['StateAction']
|
||||
MUILogMessage = _reflection.GeneratedProtocolMessageType('MUILogMessage', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MUILOGMESSAGE,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.MUILogMessage)
|
||||
})
|
||||
_sym_db.RegisterMessage(MUILogMessage)
|
||||
|
||||
MUIMessageList = _reflection.GeneratedProtocolMessageType('MUIMessageList', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MUIMESSAGELIST,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.MUIMessageList)
|
||||
})
|
||||
_sym_db.RegisterMessage(MUIMessageList)
|
||||
|
||||
MUIState = _reflection.GeneratedProtocolMessageType('MUIState', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MUISTATE,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.MUIState)
|
||||
})
|
||||
_sym_db.RegisterMessage(MUIState)
|
||||
|
||||
MUIStateList = _reflection.GeneratedProtocolMessageType('MUIStateList', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MUISTATELIST,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.MUIStateList)
|
||||
})
|
||||
_sym_db.RegisterMessage(MUIStateList)
|
||||
|
||||
ManticoreInstance = _reflection.GeneratedProtocolMessageType('ManticoreInstance', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICOREINSTANCE,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.ManticoreInstance)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreInstance)
|
||||
|
||||
TerminateResponse = _reflection.GeneratedProtocolMessageType('TerminateResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _TERMINATERESPONSE,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.TerminateResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(TerminateResponse)
|
||||
|
||||
Hook = _reflection.GeneratedProtocolMessageType('Hook', (_message.Message,), {
|
||||
'DESCRIPTOR' : _HOOK,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.Hook)
|
||||
})
|
||||
_sym_db.RegisterMessage(Hook)
|
||||
|
||||
NativeArguments = _reflection.GeneratedProtocolMessageType('NativeArguments', (_message.Message,), {
|
||||
'DESCRIPTOR' : _NATIVEARGUMENTS,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.NativeArguments)
|
||||
})
|
||||
_sym_db.RegisterMessage(NativeArguments)
|
||||
|
||||
EVMArguments = _reflection.GeneratedProtocolMessageType('EVMArguments', (_message.Message,), {
|
||||
'DESCRIPTOR' : _EVMARGUMENTS,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.EVMArguments)
|
||||
})
|
||||
_sym_db.RegisterMessage(EVMArguments)
|
||||
|
||||
ManticoreRunningStatus = _reflection.GeneratedProtocolMessageType('ManticoreRunningStatus', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MANTICORERUNNINGSTATUS,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.ManticoreRunningStatus)
|
||||
})
|
||||
_sym_db.RegisterMessage(ManticoreRunningStatus)
|
||||
|
||||
StopServerRequest = _reflection.GeneratedProtocolMessageType('StopServerRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _STOPSERVERREQUEST,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.StopServerRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(StopServerRequest)
|
||||
|
||||
StopServerResponse = _reflection.GeneratedProtocolMessageType('StopServerResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _STOPSERVERRESPONSE,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.StopServerResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(StopServerResponse)
|
||||
|
||||
ControlStateRequest = _reflection.GeneratedProtocolMessageType('ControlStateRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CONTROLSTATEREQUEST,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.ControlStateRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ControlStateRequest)
|
||||
|
||||
ControlStateResponse = _reflection.GeneratedProtocolMessageType('ControlStateResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CONTROLSTATERESPONSE,
|
||||
'__module__' : 'muicore.MUICore_pb2'
|
||||
# @@protoc_insertion_point(class_scope:muicore.ControlStateResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ControlStateResponse)
|
||||
|
||||
_MANTICOREUI = DESCRIPTOR.services_by_name['ManticoreUI']
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
_MUILOGMESSAGE._serialized_start=34
|
||||
_MUILOGMESSAGE._serialized_end=66
|
||||
_MUIMESSAGELIST._serialized_start=68
|
||||
_MUIMESSAGELIST._serialized_end=126
|
||||
_MUISTATE._serialized_start=128
|
||||
_MUISTATE._serialized_end=228
|
||||
_MUISTATELIST._serialized_start=231
|
||||
_MUISTATELIST._serialized_end=501
|
||||
_MANTICOREINSTANCE._serialized_start=503
|
||||
_MANTICOREINSTANCE._serialized_end=536
|
||||
_TERMINATERESPONSE._serialized_start=538
|
||||
_TERMINATERESPONSE._serialized_end=557
|
||||
_HOOK._serialized_start=560
|
||||
_HOOK._serialized_end=733
|
||||
_HOOK_HOOKTYPE._serialized_start=652
|
||||
_HOOK_HOOKTYPE._serialized_end=707
|
||||
_NATIVEARGUMENTS._serialized_start=736
|
||||
_NATIVEARGUMENTS._serialized_end=1060
|
||||
_EVMARGUMENTS._serialized_start=1063
|
||||
_EVMARGUMENTS._serialized_end=1299
|
||||
_MANTICORERUNNINGSTATUS._serialized_start=1301
|
||||
_MANTICORERUNNINGSTATUS._serialized_end=1345
|
||||
_STOPSERVERREQUEST._serialized_start=1347
|
||||
_STOPSERVERREQUEST._serialized_end=1366
|
||||
_STOPSERVERRESPONSE._serialized_start=1368
|
||||
_STOPSERVERRESPONSE._serialized_end=1388
|
||||
_CONTROLSTATEREQUEST._serialized_start=1391
|
||||
_CONTROLSTATEREQUEST._serialized_end=1592
|
||||
_CONTROLSTATEREQUEST_STATEACTION._serialized_start=1546
|
||||
_CONTROLSTATEREQUEST_STATEACTION._serialized_end=1592
|
||||
_CONTROLSTATERESPONSE._serialized_start=1594
|
||||
_CONTROLSTATERESPONSE._serialized_end=1616
|
||||
_MANTICOREUI._serialized_start=1619
|
||||
_MANTICOREUI._serialized_end=2221
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
@@ -1 +0,0 @@
|
||||
from . import mui_server
|
||||
@@ -1,5 +1,5 @@
|
||||
[tool.mypy]
|
||||
files = ["muicore", "tests"]
|
||||
files = ["manticore_server", "tests"]
|
||||
ignore_missing_imports = true
|
||||
warn_redundant_casts = true
|
||||
warn_unused_ignores = true
|
||||
@@ -7,13 +7,13 @@ warn_unreachable = true
|
||||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
skip = ["venv", "muicore/MUICore_pb2.py", "muicore/MUICore_pb2_grpc.py"]
|
||||
skip = ["venv", "manticore_server/ManticoreServer_pb2.py", "manticore_server/ManticoreServer_pb2_grpc.py"]
|
||||
|
||||
[tool.black]
|
||||
line-length = 88
|
||||
extend-exclude = '''
|
||||
MUICore_pb2_grpc\.py
|
||||
| MUICore_pb2\.py
|
||||
| MUICore_pb2\.pyi
|
||||
ManticoreServer_pb2_grpc\.py
|
||||
| ManticoreServer_pb2\.py
|
||||
| ManticoreServer_pb2\.pyi
|
||||
| venv
|
||||
'''
|
||||
|
||||
+4
-6
@@ -4,9 +4,7 @@ from setuptools import Command, find_packages, setup
|
||||
|
||||
|
||||
class GenerateCommand(Command):
|
||||
description = (
|
||||
"generates muicore server protobuf + grpc code from protobuf specification file"
|
||||
)
|
||||
description = "generates manticore_server server protobuf + grpc code from protobuf specification file"
|
||||
user_options = []
|
||||
|
||||
def initialize_options(self):
|
||||
@@ -25,13 +23,13 @@ class GenerateCommand(Command):
|
||||
"--python_out=.",
|
||||
"--grpc_python_out=.",
|
||||
"--mypy_out=.",
|
||||
"./muicore/MUICore.proto",
|
||||
"./manticore_server/ManticoreServer.proto",
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
setup(
|
||||
name="muicore",
|
||||
name="manticore_server",
|
||||
version="0.0.1",
|
||||
packages=find_packages(exclude=["tests", "tests.*"]),
|
||||
python_requires=">=3.7",
|
||||
@@ -55,7 +53,7 @@ setup(
|
||||
},
|
||||
entry_points={
|
||||
"console_scripts": [
|
||||
"muicore=muicore.mui_server:main",
|
||||
"manticore_server=manticore_server.manticore_server:main",
|
||||
],
|
||||
"distutils.commands": ["generate = GenerateCommand"],
|
||||
},
|
||||
|
||||
@@ -11,17 +11,17 @@ from uuid import UUID, uuid4
|
||||
|
||||
import grpc
|
||||
|
||||
from muicore import mui_server
|
||||
from muicore.MUICore_pb2 import *
|
||||
from manticore_server import manticore_server
|
||||
from manticore_server.ManticoreServer_pb2 import *
|
||||
from tests.mock_classes import MockContext
|
||||
|
||||
|
||||
class MUICoreEVMTest(unittest.TestCase):
|
||||
class ManticoreServerEVMTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.dirname = str(Path(getframeinfo(currentframe()).filename).resolve().parent)
|
||||
self.contract_path = str(self.dirname / Path("contracts") / Path("adder.sol"))
|
||||
self.test_event = threading.Event()
|
||||
self.servicer = mui_server.MUIServicer(self.test_event)
|
||||
self.servicer = manticore_server.ManticoreServicer(self.test_event)
|
||||
self.solc_path = str(self.dirname / Path("solc"))
|
||||
self.context = MockContext()
|
||||
|
||||
|
||||
@@ -9,19 +9,19 @@ from uuid import UUID, uuid4
|
||||
|
||||
import grpc
|
||||
|
||||
from muicore import mui_server
|
||||
from muicore.MUICore_pb2 import *
|
||||
from manticore_server import manticore_server
|
||||
from manticore_server.ManticoreServer_pb2 import *
|
||||
from tests.mock_classes import MockContext
|
||||
|
||||
|
||||
class MUICoreNativeTest(unittest.TestCase):
|
||||
class ManticoreServerCoreNativeTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.dirname = str(Path(getframeinfo(currentframe()).filename).resolve().parent)
|
||||
self.binary_path = str(
|
||||
self.dirname / Path("binaries") / Path("arguments_linux_amd64")
|
||||
)
|
||||
self.test_event = threading.Event()
|
||||
self.servicer = mui_server.MUIServicer(self.test_event)
|
||||
self.servicer = manticore_server.ManticoreServicer(self.test_event)
|
||||
self.context = MockContext()
|
||||
|
||||
def tearDown(self):
|
||||
|
||||
Reference in New Issue
Block a user