Inject custom code or data into running process

Mike Krinkin krinkin.m.u at gmail.com
Tue Jan 3 14:45:20 EST 2017


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 <cdkrot at yandex.ru>
> 
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list