From 1b9cef4caae2c098cad3e8a949b7528e273eed12 Mon Sep 17 00:00:00 2001 From: "iliya.saroukha" <iliya.saroukhanian@etu.hesge.ch> Date: Fri, 28 Mar 2025 19:53:49 +0100 Subject: [PATCH] wip: typos in chap 3 --- thesis/chapters/chap3.tex | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/thesis/chapters/chap3.tex b/thesis/chapters/chap3.tex index f65d71e..fdbac3b 100644 --- a/thesis/chapters/chap3.tex +++ b/thesis/chapters/chap3.tex @@ -334,6 +334,8 @@ registres de travaux et d'offset, ainsi que des registres de \verb|r8| à puis l'adresse résultate du pointeur de pile est copié dans le registre \verb|rcx| et est fourni en argument à la fonction \verb|HvmSubvertCpu()|. +\newpage + La fonction \verb|HvmSubvertCpu()|, dont le contenu est présenté dans la Figure~\ref{fig:code_hvm_subvert_cpu}, s'occupera d'allouer plusieurs éléments indispensables au bon fonctionnement de l'hyperviseur. Initialement @@ -343,19 +345,19 @@ lorsqu'un processus en mode utilisateur exécute un appel système et l'exécuti est transférée au mode noyau \cite{noauthor_kernel_2020}. Cet espace servira essentiellement à sauvegarder la valeur des registres utilisés avant le changement de contexte de sorte à ce que l'état du mode utilisateur puisse -être correctement restaurer lorsque l'\acrshort{os} aura traiter l'appel système. +être correctement restauré lorsque l'\acrshort{os} aura traité l'appel système. Dans le cas d'un hyperviseur, le mode utilisateur représente l'entièreté des anneaux de privilèges de l'invité. Cette pile sera donc utilisée lorsque l'hyperviseur reprendra le contrôle sur l'exécution après l'interception d'une instruction du côté de l'\acrshort{os} virtualisé. -Suite à cela, deux autres éléments sont alloués: la \gls{gdt} et \gls{idt}. -Respectivement, ces structures de données sont utilisées pour référencer -des segments mémoire ainsi que les droits d'accès à ceux-ci (i.e. accessible -en mode utilisateur ou non, en lecture et/ou en écriture). L'\acrshort{idt}, -quant à elle, est utilisé par le processeur pour déterminer les adresses -mémoire des diverses routines de gestion d'interruption afin qu'il puisse réagir -en conséquence lorsqu'une interruption ou exception survient. +Suite à cela, deux autres éléments sont alloués: la \gls{gdt} et l'\gls{idt}. +La \acrshort{gdt} est utilisée pour référencer des segments mémoire ainsi que +les droits d'accès à ceux-ci (c-à-d. accessible en mode utilisateur ou non, en +lecture et / ou en écriture). L'\acrshort{idt}, quant à elle, est utilisée par le +processeur pour déterminer les adresses mémoire des diverses routines de gestion +d'interruption afin qu'il puisse réagir en conséquence lorsqu'une interruption +ou exception survient. Du fait que la version du code source présenté dans ce rapport est plus récente que l'implémentation originelle de Blue Pill, celle-ci est désormais compatible -- GitLab