N-PN White-Hat Project
[C] Un exemple de jail basée sur ptrace - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25)
+--- Sujet : [C] Un exemple de jail basée sur ptrace (/showthread.php?tid=3202)



[C] Un exemple de jail basée sur ptrace - b0fh - 19-07-2013




RE: [C] Un exemple de jail basée sur ptrace - notfound - 20-07-2013

Y'a juste un fail dans ton code, à cause des balises de code.

Code C :

    for(; {     /* instead of */    for ( ;; ){...}
 



RE: [C] Un exemple de jail basée sur ptrace - Kiwazaru - 20-07-2013

J'ai pas bien pigé le principe du code, j'ai compris dans la généralité qu'il hook certains syscall, like a ptrace, mais au final, ça reviens à coder un ptrace like, ou tout simplement un autre projet dont je n'ai pas compris le but? :p


RE: [C] Un exemple de jail basée sur ptrace - b0fh - 20-07-2013

Ahoui, merci pour la remarque sur le formatage. Saleté de moteur de rendu.

C'est pas du ptrace-like, c'est du ptrace. C'est juste que l'API est assez imbitable et la documentation pas des mieux organisées (man 2 ptrace n'est pas vraiment fourni en exemples.)

Du coup, c'était surtout pour donner un exemple simple qui illustre les détails chiants, comme par exemple le danger d'appeler PTRACE_SETOPTIONS quand le process tracé n'est pas encore dans l'état stoppé, ou le fait qu'il faille distinguer a la main les syscall-enter des syscall-exit et des occurrences de signaux, et bien sur le florilège de macros pour disséquer le retour de wait().


RE: [C] Un exemple de jail basée sur ptrace - gruik - 20-07-2013

(20-07-2013, 10h48)b0fh a écrit : Saleté de moteur de rendu.

oui, bon.. je pense pas que geshi soit vraiment en cause, plutot la facon dont c'est intégré à mon avis :x

Citation :C'est juste que l'API est assez imbitable et la documentation pas des mieux organisées

"ptrace is unique and arcane" ;o

en tous cas c'est un code de mini-sandbox clair et concis pour le coup, thx Big Grin