Injcode attaches to the target process using ptrace(). It then copies code
and data into the memory space of the process and runs that. Then it cleans
up as if it was never there.
Injected code includes:
move program from one tty to another
close fd and reopen another file in its place
The tty-moving code doesn't seem to work on Linux 2.4.x yet.