Reverse Engineering

Qu’est-ce que la Rétro-ingénierie ?

Le reverse engineering (rétro-ingénierie, ou ingénierie inverse en Français) est une technique qui consiste à étudier un objet pour en déterminer le fonctionnement interne ou la méthode de fabrication. On parle également de rétroconception dans le domaine du vivant de biomimétisme.

Dans le domaine informatique, faire du reverse revient souvent à utiliser des outils d’analyse comme le désassembleur ou le décompilateur dans le cadre d’analyse en boîte blanche. Nous reviendrons par la suite sur les différents contextes d’analyse. On retrouve également des outils permettant d’analyser les entrées/sorties d’un programme en sniffant le réseau comme Wireshark, ainsi que de nombreux autres outils, sur lesquels nous reviendront par la suite.

Le reverse étant très lié au monde de la sécurité informatique, une distribution Linux apellée Kali Linux (anciennement Backtrack) spécialisée dans le domaine de la sécurité est un très bon point de départ pour se former au monde du reverse. S’y aventurer n’est pas chose facile, mais de nombreux sites webs, conférences (Nuit du HackHack in ParisDEFCON, etc…), livres, et autres supports vous aideront durant cette longue quête.

 

Le reverse étant très lié au monde de la sécurité informatique, une distribution Linux apellée Kali Linux (anciennement Backtrack) spécialisée dans le domaine de la sécurité est un très bon point de départ pour se former au monde du reverse. S’y aventurer n’est pas chose facile, mais de nombreux sites webs, conférences (Nuit du HackHack in ParisDEFCON, etc…), livres, et autres supports vous aideront durant cette longue quête.

A quoi sert le Reverse Engineering ?

Dans le domaine de l’informatique, le reverse a de nombreuses utilités :

  • Il peut être utilisé pour comprendre en détail le fonctionnement d’un logiciel,
  • Améliorer la sécurité et qualité d’un logiciel (recherche de failles, étude d’un virus pour l’éradiquer, …),
  • Permettre de contourner les protections logiciels (numéro de licence, etc…),
  • Reproduire le comportement d’un logiciel en outrepassant les DRM et restrictions des logiciels propriétaires.

Ainsi, il permet de passer sous licence libre de nombreux logiciels propriétaires :

On peut citer le désormais très populaire outil SaMBa, outil permettant de réaliser des partages réseaux de fichiers et d’imprimantes entre des systèmes Linux et Windows. Cette implémentation du protocole SMB/CIFS a été réalisée initialement par Andrew Tridgell par le biais d’une analyse réseau du protocole.

Dans le monde des drivers libres, Nouveau, projet de la fondation X.org produit des pilotes libres pour les cartes graphiques Nvidia, en utilisant le principe du Reverse : L’idée est d’analyser le comportement du pilote officiel de NVIDIA et ses interactions avec le matériel et le kernel Linux, pour ainsi en reproduire un totalement libre de droit.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page

Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php:528 Stack trace: #0 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php(528): implode(Array, '|') #1 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php(314): MatthiasMullie\Minify\CSS->shortenColors('.arqam-widget-c...') #2 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/Minify.php(111): MatthiasMullie\Minify\CSS->execute(NULL) #3 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/optimization/CSS/class-minify.php(175): MatthiasMullie\Minify\Minify->minify() #4 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/optimization/CSS/class-minify.php(128): WP_Rocket\Optimization\CSS\Minify->minify('/home/clients/6...', '/home/clients/6...') #5 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/optimization/CSS/class-minify.php(66): WP_Rocket\Optimization\CSS\Minify->replace_url('https://www.zer...') #6 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/subscriber/Optimization/class-abstract-minify-subscriber.php(85): WP_Rocket\Optimization\CSS\Minify->optimize('<!DOCTYPE html>...') #7 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/subscriber/Optimization/class-minify-css-subscriber.php(44): WP_Rocket\Subscriber\Optimization\Minify_Subscriber->optimize('<!DOCTYPE html>...') #8 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/class-wp-hook.php(308): WP_Rocket\Subscriber\Optimization\Minify_CSS_Subscriber->process('<!DOCTYPE html>...') #9 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/plugin.php(205): WP_Hook->apply_filters('<!DOCTYPE html>...', Array) #10 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/Buffer/class-optimization.php(94): apply_filters('rocket_buffer', '<!DOCTYPE html>...') #11 [internal function]: WP_Rocket\Buffer\Optimization->maybe_process_buffer('<!DOCTYPE html>...', 9) #12 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/functions.php(5279): ob_end_flush() #13 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/class-wp-hook.php(308): wp_ob_end_flush_all('') #14 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, Array) #15 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #16 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/load.php(1124): do_action('shutdown') #17 [internal function]: shutdown_action_hook() #18 {main} thrown in /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php on line 528