Yesterday I wrote a plugin for the radare io layer to support connect:// and
listen:// URIs.

These uris layouts active the remote plugin (src/remote.c) it wrapps the open/
read/write/seek/close/system calls to make tunnel them into TCP.

This stupid plugin allows to do awesome things like remotely debugging an ARM
process on Linux from a NetBSD box or viceversa :)

This is possible because you can nest URIs to bypass proxies, or acces remote
resources:

 $ radare connect://192.168.0.33:9999/dbg:///bin/ls

(In the server side just run:)

 $ while : ; do radare listen://:9999 ; done

All the 'hard' stuff is done locally (disasembly and so), but the lightweight
debugging stuff is done remotelly (!regs*) (!help) (!step) (!bp)...

This way you can use your local tools and programs to run them transparently
as if they were running in the remote side. This means that in the server-side
you only need a lonely radare binary.

WARNING: ATM the current protocol only supports 32 bit offsets. This is enought
for working with /dev/mem and debugging processes on 32 bit systems. But not
for making remote searchs on hard disks or >4GB files. I will add 64 bit support
in a near future probably.

Have fun!

  --pancake
_______________________________________________
radare mailing list
[email protected]
https://lists.nopcode.org/mailman/listinfo/radare

Reply via email to