Projection et projection inverse avec WebGL

La multiplication des coordonnées (Xe,Ye,Ze,1.0) d'un point par la matrice de projection de WebGL produit des coordonnées de clipping (Xc,Yc,Zc,Wc).
Comment en déduire les coordonnées du pixel (Xs,Ys) dans le canvas ? A l'inverse, comment retrouver les coordonnées du point à partir des coordonnées du pixel ?
Continuer la lecture de "Projection et projection inverse avec WebGL"
Projection et projection inverse avec WebGL

Réinstaller et nettoyer Windows 10 pour plus de confidentialité

Windows 10 est un système d'exploitation bien agréable, mais encombré d'un tas de fonctionnalités activées par défaut qui sont proprement insupportables : Cortana, paramètres de confidentialité autorisant la communication de données à Microsoft, affichage variable selon le type du dossier, Edge ne démarrant pas en mode InPrivate, applications Microsoft inutiles ("Cartes", "Xbox Game Bar", etc.), connexion à un compte Microsoft, exécution automatique des périphériques, etc.
Par ailleurs, le système est généralement plus encombré encore quand il a été installé par un constructeur, car ce dernier ne manque jamais d'installer des outils tiers parfaitement inutiles dans l'espoir que le gogo ne voudra pas s'en passer : un antivirus, des jeux, etc.
A l'occasion d'une réinstallation de Windows 10 sur mon portable, j'ai dressé la liste des modifications à apporter pour faire le ménage. Certes, il existe des outils pour cela, comme Privatezilla ou Windows10Debloater, non seulement plus complet mais aussi plus ergonomique, mais s'agissant de modifications sensibles, j'ai pris le temps de prendre la main.
Mise à jour du 20/04/2021 : désactiver les notifications
Mise à jour du 18/04/2021 : désactiver les expériences partagées, désinstaller le protocoles de réseaux Microsoft, désactiver la découverte de réseaux
Continuer la lecture de "Réinstaller et nettoyer Windows 10 pour plus de confidentialité"
Réinstaller et nettoyer Windows 10 pour plus de confidentialité

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 2)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 2.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 2)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 2)

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 3)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 3.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 3)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 3)

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 5)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 5.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 5)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 5)

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Après avoir consacré pas mal de temps à ces puzzles, je n'en ai résolu que deux : le puzzle 7 et le puzzle 9. Pour les autres, j'ai dégagé des pistes. Comme je dois m'arrêter là pour passer à autre chose, voici ces pistes. Cela aidera peut-être ceux qui sont en galère, et qui voudront pousser plus loin que moi. Je ne fournis pas tout le code que j'ai écrit pour tester de nombreuses solutions...
Bien entendu, le jeu est de parvenir à trouver les solutions tout seul. Je m'y emploierai de nouveau à l'occasion, et je publierai les solutions si j'en trouve...
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 9)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 9.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 9)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 9)

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 7)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 7.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 7)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 7)

Boucle d’événements et multithreading dans Node.js

En un peu plus d'une dizaine d'années, Node.js s'est imposé comme un élément central des architectures Web. A en lire des articles inventoriant les grandes entreprises qui l'utilisent, comme ici, Node.js est utilisé par Netflix, eBay, PayPal, et j'en passe.
Node.js
Joli succès pour cette technologie sortie de l'esprit de Ryan Dahl, qui a su repenser "out of the box" une manière de fonctionner des serveurs HTTP que plus personne ou preque n'interrogeait, se reposant dessus comme sur un acquis.
Pourtant, en dépit de sa popularité, il apparaît que les bases du fonctionnement de Node.js sont très mal maîtrisées. Au coeur du sujet : le fonctionnement de la boucle d'événements, et la place qu'elle laisse au multithreading.
Retour à base, pour tenter de comprendre non seulement ces aspects, mais aussi les raisons pour lesquelles ils peuvent être encore méconnus.
Continuer la lecture de "Boucle d’événements et multithreading dans Node.js"
Boucle d’événements et multithreading dans Node.js

Hackflash #5 : Ecrire un shellcode

Un shellcode est un petit programme dont il faut déclencher l'exécution, généralement en écrasant l'adresse de retour d'un programme dans la pile (la valeur de EIP empilée par le CALL du programme appelant) au moyen d'un buffer overflow.
Ecrire un shellcode
Qu'est-il attendu d'un shellcode, et quelles sont les contraintes qui imposent son écriture en assembleur ?
Continuer la lecture de "Hackflash #5 : Ecrire un shellcode"
Hackflash #5 : Ecrire un shellcode