This sounds like a solution, but it's a bit complicated one. I would prefer to implement injection in kernel space, because it should be more simple. Thank you for your idea nevertheless =)
03.01.2017, 22:45, "Mike Krinkin" <[email protected]>: > On Tue, Jan 03, 2017 at 10:24:11PM +0300, Sayutin Dmitry wrote: >> Hello, how one should inject code or data into allready running process? > > If you have enough priviledges to use ptrace you can write in a target > process memory. Though, AFAIK, you can only overwrite existing memory and > can't create new mapping using ptrace, so in order to overcome this you > need to save original code first, rewrite it with your injection bootstrap > code (bootstrap code for example can load a shared library), execute it > and then return original code back. > >> There is no need to start code execution at this point, but it should >> appear in it's virtual memory. >> >> Moreover, i want this data to persist across execve's or clone's (probably >> can be implemented as hook on appropriate kernel methodes) >> >> (If you want to know motivation for this -- I want to implement some new >> idea on sandboxing). >> >> Thanks in advance, Sayutin Dmitry <[email protected]> >> >> _______________________________________________ >> Kernelnewbies mailing list >> [email protected] >> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ----- Sayutin Dmitry <[email protected]> _______________________________________________ Kernelnewbies mailing list [email protected] https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
