Jouons avec l'obfuscation de code

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines


Résumé

Rendre son code illisible lorsque l'on prêche pour l'open source, c'est le mal incarné. Toutefois, il est possible de concevoir que dans certains cas, on souhaite obscurcir des parties d'un code et, surtout d'un point de vue purement technique, cela peut se révéler intéressant.


L'obfuscation est un anglicisme signifiant « obscurcissement ». Obscurcir un code, c'est le rendre illisible en y ajoutant une couche de complexité telle que le cerveau humain peinera à en comprendre le sens, alors que la machine pourra le lire et l'interpréter sans peine. Que ce soit pour de bonnes ou de mauvaises raisons, l'obfuscation reste un mécanisme intéressant à étudier, car il n'y a pas une, mais plusieurs méthodes d'obscurcissement et elles ne sont pas toutes aussi efficaces les unes que les autres. Dans cet article, nous aborderons donc plusieurs techniques, en partant des plus simples pour aller vers des solutions un peu plus complexes.

Tenter d'obscurcir un code est un exercice d'autant plus intéressant en Python que le langage a été conçu justement pour que le code soit le plus lisible possible.

1. Le code de départ

Pour expérimenter différentes techniques d'obfuscation, il nous faut un code à la fois simple, mais suffisamment...

Cet article est réservé aux abonnés. Il vous reste 98% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Programmation avec le 6502 : les sprites de la NES, ou comment coder le jeu Pac-Man

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Domaines
Résumé

Dans le précédent article, nous avons commencé à nous familiariser avec la partie graphique de la console NES (Nintendo Entertainment System). Aujourd’hui, nous allons réaliser un véritable jeu, ou du moins nous allons suffisamment le débuter pour qu’il commence à être intéressant.

Analyse de code avec Cppcheck (et intégration sous Eclipse)

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
112
Mois de parution
janvier 2021
Domaines
Résumé

Zut ! Encore un plantage !!! Combien de fois n’avez vous pas prononcé cette phrase, face au blocage d’une application de bureautique bien connue ou face à un crash système ? Sur un ordinateur de bureau, ce type de désagrément n’a d’autre effet que de faire monter votre niveau d’énervement, mais dans le cas d’un système embarqué, les effets sont bien plus graves. Heureusement, Cppcheck est là pour vous aider.

Réinvention de la roue... des temporisations

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
112
Mois de parution
janvier 2021
Domaines
Résumé

Les temporisations sont essentielles au sein des systèmes d'exploitation et dans certaines applications, pour déclencher des actions à l'échéance d'un délai. Il existe différents algorithmes pour les gérer de manière efficace. Cet article présente la fusion de deux d'entre eux, pour en tirer le meilleur.