是否有附加到进程的地图,同时保持您的文件隐藏的地图

问题描述:

input="$(
sudo gdb -n -q -batch-silent \ 
    -ex "set logging on" \ 
    -ex "set logging file /dev/null" \ 
    -ex "set logging redirect on" \ 
    -ex "attach $PID" \ 
    -ex "set \$dlopen = (void*(*)(char*, int)) dlopen" \ 
    -ex "call \$dlopen(\"/$filename\", 1)" \ 
    -ex "detach" \ 
    -ex "quit" 
)" 

基本上我想附加我的文件$ filename到$ PID,但我不想$ PID知道$文件名是在它的地图?我该怎么做是否有附加到进程的地图,同时保持您的文件隐藏的地图

我该怎么做

这是不容易的:有一个过程太多的方法可以发现$filename在其地址空间:

阅读这些文件:

/proc/$pid/maps 
/proc/$pid/task/$tid/maps 

调用这些函数:

dl_iterate_phdr 
dladdr 

阅读这些全局变量:

_DYNAMIC[]  /* points to _r_debug */ 
_r_debug.r_map /* points to linked list of DSOs */ 

可能有其他方面也。你会想到所有这些,或者这个过程可能会发现你的诡计。

+0

我听说你可能会欺骗过程的映射。你知道怎么做吗。我对编程一无所知,拿了AP计算机科学,拿到了5,但什么都不明白。整个事情是压倒性的。请给我喂匙:(。 –

+2

@BoxHeadBlueClan你试图解决什么*实际*问题? –

+1

我只是想绕过VAC反作弊。 –