Hackflash #6 : Extraire les mots d’un dictionnaire d’un binaire

Lors d'un challenge de forensics, il arrive souvent d'avoir à extraire des informations d'un dump de la mémoire, un gros fichier binaire.
Evidemment, il existe des outils pour cela, et le plus simple est sans doute d'utiliser un bon vieux grep -a. Toutefois, il peut être nécessaire d'avoir le faire soi-même.
Extraire le mots d'un dictionnaire d'un binaire en Python 3
La solution la plus simple est alors encore de rédiger un programme en Python.
Continuer la lecture de "Hackflash #6 : Extraire les mots d’un dictionnaire d’un binaire"
Hackflash #6 : Extraire les mots d’un dictionnaire d’un binaire

Chronique de l’IA #6

L'IA générative n'en finit pas de générer des initiatives dans tous les domaines, ce qui conduit les entrepreneurs à tester des limites qui ne sont pas seulement techniques, mais aussi éthiques.
Chronique de l'IA #6
Ainsi, est-il vraiment possible d'espérer que l'Artificial General Intelligence (AGI) surgisse sous le seul effet du gigantisme poussé toujours plus loin ? Est-il possible de mettre toujours plus prématurément sur le marché des produits qui intègrent l'IA en misant sur les retours des utilisateurs pour les finaliser ? Est-il raisonnable d'entreprendre de créer des robots toujours plus sophistiqués, pilotés par des IA qui restent encore à ce jour des boîtes noires ? Faut-il accepter que nos systèmes d'armement intègrent des IA toujours plus autonomes, au point que l'humain sorte de la boucle ?
NB : Ce billet a été rédigé début juin par un humain et non une boîte de conserve, et sera publié dans le numéro #264 de Programmez! de juin 2024.
Continuer la lecture de "Chronique de l’IA #6"
Chronique de l’IA #6

Chronique de l’IA #5

Avec l'IA, le show n'en finit pas, au rythme d'évolutions par palier qui, de ce fait, prennent toujours au dépourvu. Ainsi, à peine venait-on de s'épousseter le derrière sur lequel l'on était tombé au visionnage des vidéos générées par Sora, que l'on est retombé dessus à l'écoute des musiques générées par Suno v3, Udio et autres Stable Audio 2.0.
Chronique de l'IA #5
Parallèlement, l'on assiste à l'explosion des infrastructures requises pour élaborer cette offre et faire face à la demande qu'elle suscite, au rythme d'annonces qui ne sont pas moins spectaculaires.
Bienvenue dans une nouvelle édition de la chronique qui s'efforce de suivre, où l'humain tient la plume, et l'IA tient le pinceau.
NB : Ce billet a été rédigé début mars par un humain et non une boîte de conserve, et publié dans le numéro #263 de Programmez! de mai 2024.
Continuer la lecture de "Chronique de l’IA #5"
Chronique de l’IA #5

Chronique de l’IA #4

Après la période des fêtes qu'il faut bien qualifier d'assez calme, le rythme des annonces dans le domaine de l'IA générative a repris.
Chronique de l'IA #4
Clairement, celui qui suit un tant soit peu ces dernières est désormais moins surpris par ce qui déboule : l'IA générative est rentrée dans ses moeurs ; ce n'est plus l'ébahissement qu'il a connu en se confrontant pour la première fois à ChatGPT. Toutefois, il reste à cette IA bien des domaines où elle peut se déployer et s'améliorer, et cela n'a pas manqué de créer des surprises...
NB : Ce billet a été rédigé début mars par un humain et non une boîte de conserve, et publié dans le numéro spécial IA de Programmez! d'avril 2024.
Continuer la lecture de "Chronique de l’IA #4"
Chronique de l’IA #4

Chronique de l’IA #3

Tandis que les scénaristes et les acteurs faisaient grève outre-Atlantique, le feuilleton de l'IA a continué comme jamais, nous assurant une distraction quotidienne à défaut de nouvelles séries de science-fiction.
Chronique de l'IA #3
Comme le lecteur pourra le constater, ces derniers mois ont apporté leur lot d'innovations techniques, mais aussi réglementaires. Plus que jamais, l'informatique devient un univers compliqué, où il est n'est plus seulement nécessaire de maîtriser la technique ; il faut de plus maîtriser les règles qui en contraignent l'emploi : celles relatives à la protection des données personnelles, à la sécurité, aux impacts environnementaux, et donc désormais aussi à l'intelligence artificielle.
NB : Ce billet a été rédigé mi-décembre par un humain et non une boîte de conserve, et publié dans Programmez! #261 de janvier 2024.
Continuer la lecture de "Chronique de l’IA #3"
Chronique de l’IA #3

Chronique de l’IA #2

Tout un été a passé depuis la dernière chronique de l'IA, mais sans trêve estivale ! En effet, l'actualité du domaine n'a qu'à peine marqué le pas, si bien qu'il faut de nouveau faire des choix déchirants pour retenir ce qu'il convient de mentionner sans fatiguer le lecteur.
Toutefois, puisque votre serviteur y a consacré un temps, il n'en réservera pas moins quelques lignes finales pour vous présenter une sélection draconienne de ressources si, comme lui, loin de vous contenter de regarder le DL se déployer partout, vous souhaitez comprendre un peu comment ça marche...
NB : Ce billet a été rédigé début octobre par un humain et non une boîte de conserve, et une version publiée dans Programmez! #260 de novembre 2023.
Continuer la lecture de "Chronique de l’IA #2"
Chronique de l’IA #2

Chronique de l’IA #1

Si un sujet occupe bien le devant de l'actualité technique, voire de l'actualité tout court, ce sont les progrès accomplis dans l'univers de l'IA, constellation ML, système DL, planète LLM notamment.
Difficile de s'y retrouver pour qui y pose le pied après à un premier contact avec ChatGPT. C'est que ladite planète est en ébullition ; le paysage y change du jour au lendemain. Dès lors, se refaire le film ne pourrait-il pas permettre de se donner quelques points de repère ? Cette petite chronique de temps récents tâchera de s'y employer.
NB : Ce billet a été rédigé en juin par un humain et non une boîte de conserve, et publié dans Programmez! #258 de juillet 2023.
Continuer la lecture de "Chronique de l’IA #1"
Chronique de l’IA #1

Contourner la protection « debugger » des sites de streaming

Certains sites de streaming trouvent malin d'interdire l'accès au débogueur de Firefox. Qui entreprend de l'activer se trouve confronté à un point d'arrêt sur exécution de l'instruction debugger, point d'arrêt qu'il est visiblement impossible de désactiver. Par exemple :
La protection "Mise en pause par l'instruction debugger" ("Paused on debugger statement" d'un site de streaming
Dans ces conditions, impossible d'accéder au moniteur Réseau du débogueur pour visualiser la requête à une playlist dont il serait possible d'utiliser l'URL pour télécharger la vidéo via un outil quelconque, notamment ffmpeg.
Heureusement, il existe une solution très simple pour y parvenir : prendre quelques minutes pour écrire une extension.
Continuer la lecture de "Contourner la protection « debugger » des sites de streaming"
Contourner la protection « debugger » des sites de streaming

Exporter le contenu binaire d’une réponse HTTP depuis Firefox

Lors de l'exploration d'un site, il peut être utile de sauvegarder le contenu d'une réponse à une requête HTTP. Le débogueur de Firefox apparaît alors comme l'outil tout indiqué. De fait, non seulement il se trouve immédiatement à disposition, mais il est de plus véritablement bien conçu. Entre autres, il comprend un moniteur Réseau qui permet de visualiser l'intégralité des requêtes formulées par le navigateur et les réponses reçues en retour.
Toutefois, le contenu de la réponse qu'il s'agit de sauvegarder peut consister non pas en texte, mais en binaire. Dans ces conditions, les fonctionnalités du moniteur Réseau ne sont pas suffisantes. En effet, s'il permet bien de consulter la réponse, il affiche cette dernière sous forme de texte, après donc une conversion des octets de la réponse qu'il est impossible de renverser.
Pas de panique, il existe des moyens pour s'en sortir !
Continuer la lecture de "Exporter le contenu binaire d’une réponse HTTP depuis Firefox"
Exporter le contenu binaire d’une réponse HTTP depuis Firefox

Mon aventure avec ChatGPT

A moins d'être benêt comme certains, l'utilisateur de ChatGPT comprend vite qu'il faut prendre le machin pour ce qu'il est, une machine qui génère du texte, et non pour ce que certains le vendent, une entité avec qui il serait possible de papoter. Seulement voilà : un machin qui génère du texte, c'est amusant, mais pour quoi en faire ? Et dans le cas présent, quoi en faire dans le domaine de la programmation ?
Question à son tour amusante, car dès lors, c'est un renversement de perspective qui s'opère. En effet, le produit d'Open AI n'apparaît pas comme un outil, que par définition il n'est intéressant d'utiliser qu'à condition de savoir à quoi il sert. A l'inverse, il apparaît comme un machin dont il est intéressant de chercher à faire un outil en l'utilisant pour trouver à quoi il sert. Le fait que le fonctionnement de ChatGPT soit si imprévisible qu'il est volontiers qualifié de boite noire vient rajouter du sel à l'exercice, car s'il a donc son petit caractère, on sent bien que cela ne va pas être simple de dompter le bestiau.
ChatGPT, l'I.A. qui a toujours raison
Bref, ChatGPT, on ne sait pas à quoi ça sert, et encore moins comment ça fonctionne, mais pour le développeur, c'est justement là que réside le fun. C'est que vu ainsi, utiliser ChatGPT permet de revivre une expérience similaire à celle de l'apprentissage de la programmation : on peut visiblement demander plein de choses amusantes à faire à la machine, et pour savoir ce qu'il est exactement possible en la matière, rien de mieux que de procéder d'emblée à des expérimentations ; par la suite, il sera toujours temps de tenter de rentrer dans les détails pour comprendre le pourquoi du comment, mais ce n'est pas un prérequis pour s'y mettre.
Partant, pourquoi ne pas chercher à l'utiliser pour créer un jeu ? Mon aventure avec ChatGPT relèvera donc un peu de la mise en abime : ce sera l'aventure de mon (jeu d')aventure avec ChatGPT, avant la dernière version qui repose sur GPT-4.
Continuer la lecture de "Mon aventure avec ChatGPT"
Mon aventure avec ChatGPT