radare2/libr/sysproxy
pancake c5303272d9 * Make r_cons independent from r_line
- r_cons_user_fgets() is a configurable function pointer
  - Simplify build
* Initial import of r_sysproxy
  - Directly copied from r1 (no api or anything working yet)
* R_APIze r_vm and r_print
* Make r_core_seek more consistent
* Move r_cons_progressbar() to r_print
* Rename visual 'x' -> 'w' (oops)
  - 'a' and 'w' are now compatible with cursor mode
* Implement r_sys_usleep() on w32 and fix r_sys_sleep()
2009-04-07 11:28:22 +00:00
..
listeners * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
README * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
rpc.c * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
sp.h * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
syscall-linux.c * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
syscall.c * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
syscall.S * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
test_sp.c * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
test_srv1.c * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
test_srv.c * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00

r_sysproxy
==========

This module implements a multiarch/os proxy syscalling library.

ATM the contents of this directory are a mess.. See radare1 for a working
implementation... Here we will specify a standard API and we will have to
write sysproxy agents for other architectures and operating systems.

+-------------------+                    +-----------------+
| sysproxy listener | <--.           .-- | sysproxy client |
+-------------------+    |  network  |   +-----------------+
  arch/os/dependant      `-----------'    radare sysproxy://

   - listener agent
   - pwned service
   - ...

------------------------------------------------------
sp = r_sysproxy_new ()
if (fork()) {
	r_sysproxy_listen (sp, 9999);
} else {
	r_sysproxy_connect (sp, "127.0.0.1", 9999);
	ret = r_sysproxy_call (sp, R_SYSPROXY_SC_WRITE, buf, 128);
}
------------------------------------------------------

The sysproxy r_io plugin implements a basic IO abstraction using
sysproxy to remotely open/read/write files, but maybe also for remote
debugging using ptrace() thru r_sysproxy.

--pancake