Skip to content

Commit

Permalink
Merge branch 'master' of github.com:DennisYurichev/RE-for-beginners
Browse files Browse the repository at this point in the history
  • Loading branch information
yurichev committed Nov 18, 2019
2 parents 4855cdf + 3089e19 commit 588d232
Show file tree
Hide file tree
Showing 22 changed files with 644 additions and 34 deletions.
7 changes: 3 additions & 4 deletions FAQ_FR.tex
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
\subsection*{mini-FAQ}

% TBT
%\par Q: Is this book simpler/easier than others?
%\par A: No, it is at about the same level as other books of this subject.
\par Q: Est-ce que ce livre est plus simple/facile que les autres?
\par R: Non, c'est à peu près le même niveau que les autres livres sur ce sujet.

\par Q: Quels sont les pré-requis nécessaires avant de lire ce livre ?
\par R: Une compréhension de base du C/C++ serait l'idéal.
Expand Down Expand Up @@ -38,7 +37,7 @@ \subsection*{mini-FAQ}
\par Q: Comment trouver du travail dans le domaine de la rétro-ingénierie ?
\par R: Il existe des sujets d'embauche qui apparaissent de temps en temps sur Reddit, dédiés à la rétro-ingénierie (cf. reverse engineering ou RE)\FNURLREDDIT{}
(\RedditHiringThread{}).
Jetez un oeil ici.
Jetez un \oe{}il ici.

Un sujet d'embauche quelque peu lié peut être trouvé dans le subreddit \q{netsec}: \NetsecHiringThread{}.

Expand Down
2 changes: 1 addition & 1 deletion OS/NT_critical_sections_FR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ \subsection{Windows NT: Section critique}
et il sera ainsi égal à la valeur modifiée de \TT{LockCount}.

Cette opération est atomique puisqu'elle est préfixée par \TT{LOCK}, signifiant que
tous les autres CPUs ou c\oe urs de CPU dans le système ne peuvent pas accéder à cette
tous les autres CPUs ou c\oe{}urs de CPU dans le système ne peuvent pas accéder à cette
zone de la mémoire.

Le préfixe \TT{LOCK} est très important:
Expand Down
32 changes: 31 additions & 1 deletion advanced/310_obfuscation/indirect_FR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,35 @@ \subsubsection{Utilisation de pointeurs indirects}

Les variables globales et même les fonctions peuvent être accédées comme ça.

% TBT to be synced with _EN file
Maintenant, quelque chose de légèrement plus avancé.

Franchement, je ne connais pas con nom exact, mais je vais l'appeler \textit{pointeur décalés}.
Cette technique est assez commune, au moins dans les systèmes de protection contre
la copie.

En bref: lorsque vous écrivez une valeur dans la mémoire globale, vous utilisez
une adresse, mais lorsque vous lisez, vous utilisez la somme d'une (autre) adresse,
ou peut-être une différence.
Le but est de cacher l'adresse réelle au rétro-ingénieur qui débogue le code ou
l'explore dans \IDA (ou un autre désassembleur).

Ceci peut être pénible.

\lstinputlisting[style=customc]{\CURPATH/indirect.c}

Compiler avec MSVC 2015 sans optimisation:

\lstinputlisting[style=customasmx86]{\CURPATH/indirect.asm}

Vous voyez, \IDA obtient seulement deux adresses: \verb|secret_array[]| (début du
tableau) et \verb|point_passed_to_get_byte_at_0x6000|.

Comment s'y prendre: vous pouvez utiliser les point d'arrêt matériel sur les opérations
d'accès en mémoire, \tracer possède l'option \TT{BPMx}) ou des moteurs d'exécution
symbolique ou peut-être écrire un module pour \IDA\dots

C'est sûr, un tableau peut être utiliser pour des nombreuses valeurs, non limité
aux booléennes\dots

N.B.: MSVC 2015 avec optimisation est assez malin pour optimiser la fonction \verb|get_byte_at_0x6000()|.

11 changes: 11 additions & 0 deletions advanced/450_more_ptrs/62_FR.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
\subsection{Pointeur sur une fonction: un bogue courant}

Un bogue notoire:

\lstinputlisting[style=customc]{advanced/450_more_ptrs/62.c}

Puisque le nom de la fonction lui-même est un pointeur sur une fonction, ou une
adresse, la déclaration \verb|if(function_name)| est comme \verb|if(true)|.

Malheureusement, un compilateur \CCpp ne va pas générer d'avertissement.

2 changes: 1 addition & 1 deletion advanced/450_more_ptrs/main_FR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
\input{advanced/450_more_ptrs/5_FR}
\input{advanced/450_more_ptrs/6_FR}
\input{advanced/450_more_ptrs/61_FR}
%\input{advanced/450_more_ptrs/62_FR}
\input{advanced/450_more_ptrs/62_FR}
\input{advanced/450_more_ptrs/7_FR}
\input{advanced/450_more_ptrs/Oracle_and_GC_FR}

3 changes: 1 addition & 2 deletions call_for_translators_FR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@

\href{\GitHubBlobMasterURL/Translation.md}{Lire ici}.

% TBT
% The language statistics is available right here: \url{https://beginners.re/}.
Les statistiques par langage sont disponible ici: \url{https://beginners.re/}.

La vitesse de traduction n'est pas importante, puisqu'il s'agit d'un projet open-source après tout.
Votre nom sera mentionné en tant que contributeur au projet.
Expand Down
4 changes: 1 addition & 3 deletions community_FR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ \chapter{Communautés}

\par \href{http://go.yurichev.com/17029}{reverseengineering.stackexchange.com}.

%TBT
%On IRC there are \#\#re and \#\#asm channels on
Sur IRC, il y a un channel \#\#re sur
Sur IRC, il y a les canaux \#\#re et \#\#asm sur
FreeNode\footnote{\href{http://go.yurichev.com/17030}{freenode.net}}.

15 changes: 7 additions & 8 deletions digging_into_code/snapshots_comparing_FR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,13 @@ \subsubsection{Registres de Windows}
\myindex{UNIX!diff}
Ils peuvent être comparés en utilisant diff...

% TBT
%\subsubsection{Engineering software, CADs, etc}

%If a software uses proprietary files, you can also investigate something here as well.
%You save file.
%Then you add a dot or line or another primitive.
%Save file, compare.
%Or move dot, save file, compare.
\subsubsection{Logiciels d'ingénierie, de CAO, etc.}

Si un logiciel utilise des fichiers propriétaires, vous pouvez aussi les examiner.
Sauvez un fichier.
Puis, ajouter un point ou une ligne ou une autre primitive.
Sauvez le fichier, comparez.
Ou déplacez un point, sauvez le fichier, comparez.

\subsubsection{Comparateur à clignotement}

Expand Down
2 changes: 1 addition & 1 deletion examples/main_FR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ \chapter{Études de cas}
\input{examples/lines/main_FR}
\input{examples/minesweeper/main_FR}
\input{examples/timedate/main_FR}
%\input{examples/solitaire/main_FR}
\input{examples/solitaire/main_FR}
\input{examples/dongles/main_FR}
\input{examples/qr9/qr9_FR}
\input{examples/encrypted_DB1/main_FR}
Expand Down
Loading

0 comments on commit 588d232

Please sign in to comment.