2017-10-07 7 views
0
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" 
)" 

fondamentalement je veux attacher mon fichier $ filename en $ PID mais je ne veux pas que $ PID sache que $ filename est dans son Plans? Comment puis-je faireEst-il de toute façon attacher aux cartes d'un processus tout en gardant votre fichier caché des cartes

Répondre

0

Comment ferais-je

Ce n'est pas facile: il y a trop de façons pour un processus de découvrir que $filename est dans son espace d'adressage:

Lisez ces fichiers:

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

appeler ces fonctions:

dl_iterate_phdr 
dladdr 

Lire ces variables globales:

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

Il y a probablement d'autres façons. Vous aurez tous ces éléments, ou le processus peut découvrir votre ruse.

+0

J'ai entendu que vous pourriez usurper la cartographie du processus. Savez-vous comment faire cela. Je ne sais rien à propos de la programmation, a pris AP Computer Science, j'ai un 5 mais je ne comprends rien. Le tout est écrasant. S'il vous plaît cuillère-nourrir moi :(. –

+2

@BoxHeadBlueClan Quel * problème * réel * essayez-vous de résoudre? –

+1

Je veux juste contourner VAC anti-triche –