macOS ◆ xterm-256color ◆ fish 279 views

Pyromaniac has a configuration option to provide access to the ‘system request’ command system. This system allows access to the internals of the system from outside the OS. It is used by the UI system to perform simple tasks like saving the screen, but can also be used to examine the system state whilst it is running.

The interface can be enabled as a textual command processor over a TCP socket. This is similar to the manner in which the QEmu monitor command system works - this is the system after which the interface is styled.

This recording runs a Pyromaniac session under screen so that multiple terminals are accessible. Whilst the system is running, it can be examined by connecting to the TCP port in another terminal. On RISC OS a list of modules is obtained, and from this the address of a section of SharedCLibrary is found (&381f000). Then we switch to another terminal and connect to the service.

The list of commands is shown, and then the memory within the module is dumped, and disassembled to demonstrate that the running system is being used.

Although only a few commands are currently supported, the system is easily extensible.