diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/py/src/ghidradbg/commands.py b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/py/src/ghidradbg/commands.py index 921fe064dc..fc35765358 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/py/src/ghidradbg/commands.py +++ b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/py/src/ghidradbg/commands.py @@ -185,20 +185,20 @@ def ghidra_trace_connect(address: Optional[str] = None) -> None: raise RuntimeError("port must be numeric") -def ghidra_trace_listen(address: str = '0.0.0.0:0') -> None: +def ghidra_trace_listen(address: str = '127.0.0.1:0') -> None: """Listen for Ghidra to connect for tracing. Takes an optional address for the host and port on which to listen. Either the form 'host:port' or just 'port'. If omitted, it will bind - to an ephemeral port on all interfaces. If only the port is given, - it will bind to that port on all interfaces. This command will block - until the connection is established. + to an ephemeral port on localhost. If only the port is given, it will + bind to that port on localhost. This command will block until the + connection is established. """ STATE.require_no_client() parts = address.split(':') if len(parts) == 1: - host, port = '0.0.0.0', parts[0] + host, port = '127.0.0.1', parts[0] elif len(parts) == 2: host, port = parts else: @@ -1526,8 +1526,8 @@ def put_exceptions() -> None: @util.dbg.eng_thread -def put_single_exception(obj: TraceObject, objpath: str, - p: DbgEng._DEBUG_EXCEPTION_FILTER_PARAMETERS, +def put_single_exception(obj: TraceObject, objpath: str, + p: DbgEng._DEBUG_EXCEPTION_FILTER_PARAMETERS, offset: int, index: int, specific: bool) -> None: exc_name = "None" if specific is True: diff --git a/Ghidra/Debug/Debugger-agent-drgn/src/main/py/src/ghidradrgn/commands.py b/Ghidra/Debug/Debugger-agent-drgn/src/main/py/src/ghidradrgn/commands.py index 3272679a85..d3145a6fd6 100644 --- a/Ghidra/Debug/Debugger-agent-drgn/src/main/py/src/ghidradrgn/commands.py +++ b/Ghidra/Debug/Debugger-agent-drgn/src/main/py/src/ghidradrgn/commands.py @@ -170,21 +170,21 @@ def ghidra_trace_connect(address: Optional[str] = None) -> None: raise RuntimeError("port must be numeric") -def ghidra_trace_listen(address: str = '0.0.0.0:0') -> None: +def ghidra_trace_listen(address: str = '127.0.0.1:0') -> None: """ Listen for Ghidra to connect for tracing - Takes an optional address for the host and port on which to listen. Either - the form 'host:port' or just 'port'. If omitted, it will bind to an - ephemeral port on all interfaces. If only the port is given, it will bind to - that port on all interfaces. This command will block until the connection is - established. + Takes an optional address for the host and port on which to listen. + Either the form 'host:port' or just 'port'. If omitted, it will bind + to an ephemeral port on localhost. If only the port is given, it will + bind to that port on localhost. This command will block until the + connection is established. """ STATE.require_no_client() parts = address.split(':') if len(parts) == 1: - host, port = '0.0.0.0', parts[0] + host, port = '127.0.0.1', parts[0] elif len(parts) == 2: host, port = parts else: @@ -199,7 +199,7 @@ def ghidra_trace_listen(address: str = '0.0.0.0:0') -> None: c, (chost, cport) = s.accept() s.close() print("Connection from {}:{}".format(chost, cport)) - STATE.client = Client(c, "dbgeng.dll", methods.REGISTRY) + STATE.client = Client(c, "drgn", methods.REGISTRY) except ValueError: raise RuntimeError("port must be numeric") @@ -786,7 +786,7 @@ def ghidra_trace_set_value(path: str, key: str, value: Any, Set a value (attribute or element) in the Ghidra trace's object tree. A void value implies removal. - NOTE: The type of an expression may be subject to the dbgeng's current + NOTE: The type of an expression may be subject to drgn's current language. which current defaults to DEBUG_EXPR_CPLUSPLUS (vs DEBUG_EXPR_MASM). For most non-primitive cases, we are punting to the Python API. """ diff --git a/Ghidra/Debug/Debugger-agent-gdb/src/main/py/src/ghidragdb/commands.py b/Ghidra/Debug/Debugger-agent-gdb/src/main/py/src/ghidragdb/commands.py index f0c362e1e1..fd0f50d2db 100644 --- a/Ghidra/Debug/Debugger-agent-gdb/src/main/py/src/ghidragdb/commands.py +++ b/Ghidra/Debug/Debugger-agent-gdb/src/main/py/src/ghidragdb/commands.py @@ -236,9 +236,9 @@ def ghidra_trace_listen(address: Optional[str] = None, *, is_mi: bool, Takes an optional address for the host and port on which to listen. Either the form 'host:port' or just 'port'. If omitted, it will bind - to an ephemeral port on all interfaces. If only the port is given, - it will bind to that port on all interfaces. This command will block - until the connection is established. + to an ephemeral port on localhost. If only the port is given, it will + bind to that port on localhost. This command will block until the + connection is established. """ STATE.require_no_client() @@ -247,13 +247,13 @@ def ghidra_trace_listen(address: Optional[str] = None, *, is_mi: bool, if address is not None: parts = address.split(':') if len(parts) == 1: - host, port = '0.0.0.0', parts[0] + host, port = '127.0.0.1', parts[0] elif len(parts) == 2: host, port = parts else: raise gdb.GdbError("address must be 'port' or 'host:port'") else: - host, port = '0.0.0.0', 0 + host, port = '127.0.0.1', 0 try: s = socket.socket() s.bind((host, int(port))) diff --git a/Ghidra/Debug/Debugger-agent-lldb/src/main/py/src/ghidralldb/commands.py b/Ghidra/Debug/Debugger-agent-lldb/src/main/py/src/ghidralldb/commands.py index 1636ec26cc..c2c18a33d9 100644 --- a/Ghidra/Debug/Debugger-agent-lldb/src/main/py/src/ghidralldb/commands.py +++ b/Ghidra/Debug/Debugger-agent-lldb/src/main/py/src/ghidralldb/commands.py @@ -302,23 +302,23 @@ def ghidra_trace_listen(debugger: lldb.SBDebugger, command: str, Usage: ghidra trace listen [ADDRESS] ADDRESS must be PORT or HOST:PORT - Takes an optional address for the host and port on which to listen. Either - the form 'host:port' or just 'port'. If omitted, it will bind to an - ephemeral port on all interfaces. If only the port is given, it will bind to - that port on all interfaces. This command will block until the connection is - established. + Takes an optional address for the host and port on which to listen. + Either the form 'host:port' or just 'port'. If omitted, it will bind + to an ephemeral port on localhost. If only the port is given, it will + bind to that port on localhost. This command will block until the + connection is established. """ args = shlex.split(command) host: str port: Union[str, int] if len(args) == 0: - host, port = '0.0.0.0', 0 + host, port = '127.0.0.1', 0 elif len(args) == 1: address = args[0] parts = address.split(':') if len(parts) == 1: - host, port = '0.0.0.0', parts[0] + host, port = '127.0.0.1', parts[0] elif len(parts) == 2: host, port = parts else: diff --git a/Ghidra/Debug/Debugger-agent-x64dbg/src/main/py/src/ghidraxdbg/commands.py b/Ghidra/Debug/Debugger-agent-x64dbg/src/main/py/src/ghidraxdbg/commands.py index 4913e14163..441909881f 100644 --- a/Ghidra/Debug/Debugger-agent-x64dbg/src/main/py/src/ghidraxdbg/commands.py +++ b/Ghidra/Debug/Debugger-agent-x64dbg/src/main/py/src/ghidraxdbg/commands.py @@ -182,20 +182,20 @@ def ghidra_trace_connect(address: Optional[str] = None) -> None: raise RuntimeError("port must be numeric") -def ghidra_trace_listen(address: str = '0.0.0.0:0') -> None: +def ghidra_trace_listen(address: str = '127.0.0.1:0') -> None: """Listen for Ghidra to connect for tracing. Takes an optional address for the host and port on which to listen. Either the form 'host:port' or just 'port'. If omitted, it will bind - to an ephemeral port on all interfaces. If only the port is given, - it will bind to that port on all interfaces. This command will block - until the connection is established. + to an ephemeral port on localhost. If only the port is given, it will + bind to that port on localhost. This command will block until the + connection is established. """ STATE.require_no_client() parts = address.split(':') if len(parts) == 1: - host, port = '0.0.0.0', parts[0] + host, port = '127.0.0.1', parts[0] elif len(parts) == 2: host, port = parts else: diff --git a/Ghidra/Debug/Debugger-jpda/src/main/java/ghidra/dbg/jdi/rmi/jpda/JdiCommands.java b/Ghidra/Debug/Debugger-jpda/src/main/java/ghidra/dbg/jdi/rmi/jpda/JdiCommands.java index 552ecd1a6f..9569d39e55 100644 --- a/Ghidra/Debug/Debugger-jpda/src/main/java/ghidra/dbg/jdi/rmi/jpda/JdiCommands.java +++ b/Ghidra/Debug/Debugger-jpda/src/main/java/ghidra/dbg/jdi/rmi/jpda/JdiCommands.java @@ -156,7 +156,7 @@ public class JdiCommands { public void ghidraTraceListen(String address) { // TODO: UNTESTED state.requireNoClient(); - String host = "0.0.0.0"; + String host = "127.0.0.1"; int port = 0; if (address != null) { String[] parts = address.split(":"); diff --git a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiPlugin.java b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiPlugin.java index a23aa46569..dbf15cdc93 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiPlugin.java +++ b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiPlugin.java @@ -79,7 +79,7 @@ public class TraceRmiPlugin extends Plugin implements InternalTraceRmiService { @SuppressWarnings("unused") private final Wiring autoServiceWiring; - private SocketAddress serverAddress = new InetSocketAddress("0.0.0.0", DEFAULT_PORT); + private SocketAddress serverAddress = new InetSocketAddress("127.0.0.1", DEFAULT_PORT); private TraceRmiServer server; private final Set handlers = new LinkedHashSet<>();