diff --git a/thesis/chapters/chap1.tex b/thesis/chapters/chap1.tex
index 5ae88c1a3daa2f9371604bb0db6f1840e973f002..8f26ac2f981b41406f91198ac8305a01feef4be7 100644
--- a/thesis/chapters/chap1.tex
+++ b/thesis/chapters/chap1.tex
@@ -81,7 +81,7 @@ d'exploitations \say{invités} qu'il hébèrge.
     \begin{center}
         \includegraphics[width=0.55\textwidth]{figures/diagrams/platform_virt}
     \end{center}
-    \caption{Diagramme d'un \acrshort{vmm}}\label{fig:platform_virt}
+    \caption{Diagramme simplifiée d'\acrshort{vmm}. Source : tiré de researchgate.net, ref. URL02 / réalisé par ALVARES Frederico}\label{fig:platform_virt}
 \end{figure}
 
 Dans le but de pouvoir re-créer des environnements informatiques virtuels
@@ -222,7 +222,7 @@ côté, l'hyperviseur ainsi que les applications de l'hôte seront exécutés en
     \begin{center}
         \includegraphics[width=0.65\textwidth]{figures/diagrams/cpu_mode_flg}
     \end{center}
-    \caption{Diagramme représentant les deux modes d'exécution du \acrshort{cpu}}\label{fig:cpu_mode_flg}
+    \caption{Diagramme représentant les modes d'exécution du \acrshort{cpu}, privilégié et non-privilégié. Source : tiré du cours 02-Platform\_Virtualization.pdf 2025, p.28, ref. URL03 / réalisé par GLÜCK Florent}\label{fig:cpu_mode_flg}
 \end{figure}
 
 
@@ -240,7 +240,7 @@ s'en chargera de la gérer de manière adéquate.
     \begin{center}
         \includegraphics[width=0.45\textwidth]{figures/diagrams/vmentry_vmexit_flg}
     \end{center}
-    \caption{Diagramme représentant les transitions entre les modes d'exécution du \acrshort{cpu}}\label{fig:vmentry_vmexit_flg}
+    \caption{Diagramme représentant les transitions entre les modes d'exécution du \acrshort{cpu}. Source : tiré du cours 02-Platform\_Virtualization.pdf 2025, p.29, ref. URL03 / réalisé par GLÜCK Florent}\label{fig:vmentry_vmexit_flg}
 \end{figure}
 
 L'implémentation de ses extensions matérielles ont permis de rendre
diff --git a/thesis/chapters/chap2.tex b/thesis/chapters/chap2.tex
index b7b51704fdc787b392fb59bb8cebcccb8fbad9af..d70453b78995ada885a594685762eb2adf442847 100644
--- a/thesis/chapters/chap2.tex
+++ b/thesis/chapters/chap2.tex
@@ -206,7 +206,7 @@ conséquence de lancer le \textit{malware} au prochain démarrage.
         \includegraphics[width=0.8\textwidth]{figures/diagrams/subvirt_repr}
     \end{center}
     \caption{Diagramme comparant l'état sain et infectée d'une machine infectée
-    par SubVirt. Les parties grises représentent les composantes du \acrshort{vmbr}}\label{fig:subvirt_repr}
+    par SubVirt, les parties grises représentent les composantes du \acrshort{vmbr}. Source : papier scientifique de SubVirt, p.5 \cite{king_subvirt_2006}}\label{fig:subvirt_repr}
 \end{figure}
 
 \subsection{Blue Pill}\label{sec:blue_pill}
@@ -243,7 +243,7 @@ ou exfiltrer des données sensibles.
     \begin{center}
         \includegraphics[width=0.8\textwidth]{figures/diagrams/blue_pill_diagram}
     \end{center}
-    \caption{Diagramme représentant le fonctionnement simplifié de Blue Pill}\label{fig:blue_pill_simplified}
+    \caption{Diagramme représentant le fonctionnement simplifié de Blue Pill. Source : tiré de la présentation BH-US-06-Rutkowska.pdf, p.29, ref. URL04 / réalisé par RUTKOWSKA Joanna}\label{fig:blue_pill_simplified}
 \end{figure}
 
 % NOTE: section 3 (Design) of the paper is interesting
diff --git a/thesis/chapters/chap3.tex b/thesis/chapters/chap3.tex
index 2cf78ffdcad4017a45a1e8880bbc7e09cf70e9ae..372a41fe07a48f07b16a65b81c52257937fbbcd0 100644
--- a/thesis/chapters/chap3.tex
+++ b/thesis/chapters/chap3.tex
@@ -91,7 +91,7 @@ est le présenté ci-dessous :
 build -czgw
 ctags -R
     \end{minted}
-    \caption{Contenu du script de compilation build\_code.cmd}\label{fig:build_code_script}
+    \caption{Script de compilation build\_code.cmd. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:build_code_script}
 \end{figure}
 
 \newpage
@@ -123,7 +123,7 @@ est stocké dans le répertoire \verb|.\bin\amd64|.
         \includegraphics[width=1\textwidth]{figures/screenshots/bluepill_compilation}
     \end{center}
     \caption{Capture d'écran illustrant la compilation réussie du code source
-    de Blue Pill}\label{fig:bluepill_compilation}
+    de Blue Pill. Source : \acrshort{vm} Windows Vista / réalisé par SAROUKHANIAN Iliya}\label{fig:bluepill_compilation}
 \end{figure}
 
 \subsection{Mise en place du pilote noyau}
@@ -165,7 +165,7 @@ de démarrage via la touche F8
         \includegraphics[width=0.75\textwidth]{figures/screenshots/disable_signature}
     \end{center}
     \caption{Désactivation de l'obligation de signer les pilotes via le menu
-    avancé de démarrage}\label{fig:disable_signature}
+    avancé de démarrage. Source : tiré de learn.microsoft.com, ref. URL05 / réalisé par MICROSOFT}\label{fig:disable_signature}
 \end{figure}
 
 Après que le système ait redémarré, il est finalement possible de lancer le
@@ -282,7 +282,7 @@ NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject,
 [...]
 }
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{common/newbp.c:46}}\label{fig:code_driver_entry}
+    \caption{Fichier \lstinline{common/newbp.c:46}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_driver_entry}
 \end{figure}
 
 Dans la fonction \verb|HvmSwallowBluepill()|, dont le contenu est illustrer
@@ -323,7 +323,7 @@ NTSTATUS NTAPI HvmSwallowBluepill (
 [...]
 }
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{common/hvm.c:547}}\label{fig:code_hvm_swallow_bp}
+    \caption{Fichier \lstinline{common/hvm.c:547}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_hvm_swallow_bp}
 \end{figure}
 
 Après la modification du masque d'affinité, la \textit{callback} \verb|CmSubvert()|
@@ -385,7 +385,7 @@ typedef NTSTATUS (
     PVOID GuestRsp
 );
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{common/common.h:362}}\label{fig:code_arch_init_func_ptr}
+    \caption{Fichier \lstinline{common/common.h:362}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_arch_init_func_ptr}
 \end{figure}
 
 \begin{figure}[tbph!]
@@ -418,7 +418,7 @@ typedef struct
 } HVM_DEPENDENT,
 *PHVM_DEPENDENT;
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{common/common.h:420}}\label{fig:code_hvm_dependent_struct}
+    \caption{Fichier \lstinline{common/common.h:420}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_hvm_dependent_struct}
 \end{figure}
 
 \newpage
@@ -501,7 +501,7 @@ NTSTATUS NTAPI HvmSubvertCpu (
     return Status;
 }
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{common/hvm.c:356}}\label{fig:code_hvm_subvert_cpu}
+    \caption{Fichier \lstinline{common/hvm.c:356}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_hvm_subvert_cpu}
 \end{figure}
 
 \newpage
@@ -559,7 +559,7 @@ svm_vmsave MACRO
 	BYTE	0Fh, 01h, 0DBh
 ENDM
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{amd64/svm-asm.asm:24}}\label{fig:code_asm_svm_vmsave}
+    \caption{Fichier \lstinline{amd64/svm-asm.asm:24}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_asm_svm_vmsave}
 \end{figure}
 
 
@@ -615,7 +615,7 @@ static NTSTATUS NTAPI SvmInitialize (
     return STATUS_SUCCESS;
 }
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{svm/svm.c:940}}\label{fig:code_svm_initialize}
+    \caption{Fichier \lstinline{svm/svm.c:940}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_svm_initialize}
 \end{figure}
 
 \newpage
@@ -672,7 +672,7 @@ static NTSTATUS NTAPI SvmVirtualize (
     return STATUS_UNSUCCESSFUL;
 }
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{svm/svm.c:1174}}\label{fig:code_svm_virtualize}
+    \caption{Fichier \lstinline{svm/svm.c:1174}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_svm_virtualize}
 \end{figure}
 
 La routine \verb|SvmVmrun()|, illustré par la Figure~\ref{fig:code_asm_svm_vmrun}, 
@@ -739,7 +739,7 @@ SvmVmrun PROC
 
 SvmVmrun ENDP
     \end{minted}
-    \caption{Extrait du code source Blue Pill : \lstinline{amd64/svm-asm.c:75}}\label{fig:code_asm_svm_vmrun}
+    \caption{Fichier \lstinline{amd64/svm-asm.c:75}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_asm_svm_vmrun}
 \end{figure}
 
 Arrivant au terme de l'analyse du code source de Blue Pill, il est souhaitable
diff --git a/thesis/chapters/chap4.tex b/thesis/chapters/chap4.tex
index 2152982d5abf0e75795211c843b295e5bc68aa47..cffdbffdc4849f1e3ab308fa47157ac4229a2c75 100644
--- a/thesis/chapters/chap4.tex
+++ b/thesis/chapters/chap4.tex
@@ -109,7 +109,7 @@ all:
 clean:
 	$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
     \end{minted}
-    \caption{\lstinline{Makefile} du projet d'hyperviseur sous forme de \acrshort{lkm}}\label{fig:makefile_lkm}
+    \caption{Fichier \lstinline{proto/Makefile}. Source : tiré du code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:makefile_lkm} 
 \end{figure}
 
 La variable \verb|obj-m| défini le nom que portera le module à travers
@@ -165,8 +165,7 @@ et visuelle quant à la transition vers ce mode de fonctionnement.
     \begin{center}
         \includegraphics[width=0.55\textwidth]{figures/diagrams/vmm_life_cycle}
     \end{center}
-    \caption{Diagramme représentant le cycle de vie d'un \acrshort{vmm} selon
-    les extensions Intel \acrshort{vmx}}\label{fig:vmm_life_cycle}
+    \caption{Diagramme représentant le cycle de vie d'un \acrshort{vmm}. Source : tiré de la documentation officielle d'Intel, p.4 \cite{noauthor_intel_2024}}\label{fig:vmm_life_cycle}
 \end{figure}
 
 Lorsque l'on exécute l'instruction \verb|VMXON| sur un processeur logique,
@@ -263,8 +262,7 @@ static bool vmx_support_cpuid(void) {
     return (ecx_vmx >> 5) & 1;
 }
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    appel à l'instruction \lstinline{CPUID}}\label{fig:impl_cpuid_call}
+    \caption{Fichier \lstinline{proto/hypervisor.c:53}. Source : tiré code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:impl_cpuid_call}
 \end{figure}
 
 \subsection{Préparation de la région VMXON}
@@ -299,13 +297,14 @@ sur un autre processeur.
         ]
         {c}
 struct vmxon_t {
-    unsigned long vmcs_rev_id : 31;
-    unsigned long shadow_vmcs : 1;
+    struct {
+        unsigned long vmcs_rev_id : 31;
+        unsigned long shadow_vmcs : 1;
+    } header;
     char state[0x1000 - sizeof(unsigned long)];
 };
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    structure \lstinline{vmxon_t}}\label{fig:impl_vmxon_t}
+    \caption{Fichier \lstinline{proto/region/vmxon.h:3}. Source : tiré code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:impl_vmxon_t}
 \end{figure}
 
 La fonction \verb|alloc_vmxon()| présentée ci-dessous, illustre la manière
@@ -341,10 +340,11 @@ struct vmxon_t *alloc_vmxon(void) {
     return vmxon;
 }
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    fonction \lstinline{alloc_vmxon()}}\label{fig:impl_alloc_vmxon}
+    \caption{Fichier \lstinline{proto/region/vmxon.c:9}. Source : tiré code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:impl_alloc_vmxon}
 \end{figure}
 
+\newpage
+
 Pour pouvoir correctement renseigner la valeur du \acrshort{vmcs}
 \textit{revision identifier} au début de la région VMXON, il est nécessaire
 de l'obtenir en lisant les 31 premiers bits du \acrshort{msr}
@@ -365,8 +365,7 @@ de l'obtenir en lisant les 31 premiers bits du \acrshort{msr}
         {c}
 #define VMCS_REVISION_ID (__rdmsr(IA32_VMX_BASIC) & 0x7fffffff)
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    macro \lstinline{VMCS_REVISION_ID}}\label{fig:impl_vmcs_rev_id}
+    \caption{Fichier \lstinline{proto/msr/msr.h:16}. Source : tiré code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:impl_vmcs_rev_id}
 \end{figure}
 
 \subsection{Restrictions quant aux opérations en \acrshort{vmx}}
@@ -412,8 +411,7 @@ void patch_control_registers(void) {
     [...]
 }
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    fonction \lstinline{patch_control_registers()}}\label{fig:impl_patch_control_reg}
+    \caption{Fichier \lstinline{proto/msr/msr.c:27}. Source : tiré code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:impl_patch_control_reg}
 \end{figure}
 
 \subsection{Passage en mode \acrshort{vmx} \textit{Root}}
@@ -474,8 +472,7 @@ bool ia32_feature_control_flags(void) {
     return true;
 }
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    fonction \lstinline{ia32_feature_control_flags()}}\label{fig:impl_feature_control_flags}
+    \caption{Fichier \lstinline{proto/msr/msr.c:6}. Source : tiré code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:impl_feature_control_flags}
 \end{figure}
 
 Finalement, il ne reste plus qu'à infomer le processeur actuel que celui-ci
@@ -504,8 +501,7 @@ static int cr4_enable_vmx(void) {
     return 0;
 }
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    fonction \lstinline{cr4_enable_vmx()}}\label{fig:impl_cr4_enable_vmx}
+    \caption{Fichier \lstinline{proto/hypervisor.c:34}. Source : tiré code source de l'implémentation du \acrshort{lkm}, ref. URL07 / réalisé par SAROUKHANIAN Iliya}\label{fig:impl_cr4_enable_vmx}
 \end{figure}
 
 Ayant préparé le processeur via ses divers registres et en initialisant
@@ -516,6 +512,8 @@ de ne pas commettre d'erreur dans cette partie délicate du code, la décision 
 été prise de reprendre l'implémentation de cette fonction depuis le code source
 de \acrshort{kvm} \cite{noauthor_vmxc_nodate}.
 
+\newpage
+
 \begin{figure}[tbph!]
     \begin{minted}
         [
@@ -545,8 +543,7 @@ fault:
     return -EFAULT;
 }
     \end{minted}
-    \caption{Code source de l'implémentation du \acrshort{vmm},
-    fonction \lstinline{kvm_cpu_vmxon()}}\label{fig:impl_kvm_cpu_vmxon}
+    \caption{Fichier \lstinline{arch/x86/kvm/vmx/vmx.c:2824}. Source : tiré du code source de Linux \cite{noauthor_vmxc_nodate}}\label{fig:impl_kvm_cpu_vmxon}
 \end{figure}
 
 Ceci conclut donc la partie initiale de l'implémentation d'un hyperviseur
@@ -554,13 +551,11 @@ Ceci conclut donc la partie initiale de l'implémentation d'un hyperviseur
 présentées jusqu'à présent ont permis de faire basculer le processeur en mode
 \acrshort{vmx} \textit{Root}. Il sera dès lors possible de mettre ce processeur
 à disposition d'une machine virtuelle créée au préalable à travers
-l'initialisation de son \acrshort{vmcs}.
-
-Dans la Section~\ref{sec:preambule_bp}, certaines difficultés quant à
-l'implémentation de ce travail furent mentionnées, notamment dues à la
-complexité de la mise en place d'un \acrshort{vmcs}. De ce fait, ce travail
-fut temporairement suspendu afin d'acquérir davantage de connaissances sur
-le fonctionnement d'un \textit{rootkit} \acrshort{hvm} et bénéficier de temps
-supplémentaire afin de se documenter de manière plus détaillée sur les diverses
-parties constituantes de cette structure de données phare pour la
-virtualisation.
+l'initialisation de son \acrshort{vmcs}. Dans la Section~\ref{sec:preambule_bp},
+certaines difficultés quant à l'implémentation de ce travail furent mentionnées,
+notamment dues à la complexité de la mise en place d'un \acrshort{vmcs}. De ce
+fait, ce travail fut temporairement suspendu afin d'acquérir davantage de
+connaissances sur le fonctionnement d'un \textit{rootkit} \acrshort{hvm} et
+bénéficier de temps supplémentaire afin de se documenter de manière plus
+détaillée sur les diverses parties constituantes de cette structure de données
+phare pour la virtualisation.