Mois : octobre 2022

Sixel

Vous voulez afficher des images sur votre terminal ? Sixel est fait pour vous.

Le Sixel ? Kesako ?

Wikipedia nous dit ceci:

Un Sixel (mot-valise de « six pixels ») est un format graphique bitmap supporté à l’origine par les terminaux et les imprimantes de DEC. Il est constitué d’un motif de six pixels de haut et d’1 en largeur, permettant ainsi d’obtenir 64 motifs différents. Chaque motif est assigné à un caractère ASCII, rendant les sixels faciles à transmettre sur les liaisons séries 7-bit.

Sixel a d’abord été créé comme un moyen de transmettre des images bitmap aux imprimantes matricielles de DEC, telles que la LA50. Après avoir été converties en « mode sixel » les données résultantes sont interprétées directement pour contrôler 6 des 9 broches de la tête d’impression. Une chaîne de caractères sixels encode une simple colonne de 6 pixels de haut de l’image.

Voila, le format Sixel vous permet donc d’afficher des graphismes dans votre terminal.

Tous les terminaux ne le supportent pas encore. Sur macOS, le bien connu (et open source) iTerm2 le permet. Pour les autres OS, voitre choix peux vous porter vers wezterm, open-source également.

Pour afficher une image, installer juste le package libsixel-bin

sudo apt-get install libsixel-bin

La commande img2sixel vous permet alors d’afficher l’image dans votre terminal (la plupart des formats d’images connus).

Si vous utilisez le navigateur web texte w3m, celui si possède une option pour afficher les images aussi.

 w3m -sixel deadketchup.kyuran.be

Il n’y a pas énormément d’applications supportant le format sixel mais il existe une librarie permettant de remplacer la libsdl par sixel. Si l’envie de recompiler votre applications préféres, allez faire un tour du coté de SDL1.2-SIXEL

D’autres formats existent pour afficher des images. iTerm, par exemple possède son propre format. Kitty aussi. Ils ont tous leurs avangates et inconvénients.

J’approfondirais le sujet à l’avenir, il a sans doute plus à en dire… mais ceci est une autre histoire, qui sera contée une autre fois.

InputStick, Rubber Ducky et P4wnP1

⚠ AVERTISSEMENT : Toutes les informations fournies dans cette publication le sont à des fins éducatives uniquement. Le site n'est en aucun cas responsable de toute utilisation abusive de ces informations. Vous êtes seul responsable de vos actes devant la loi.

Est-ce que cela vous est déjà arrivé de devoir taper des lignes de commandes sur un serveur (ou un simple PC) sans disposer d’un clavier ?

Ou alors, pour jouer à l’apprenti pirate, de vouloir executer un script sur un ordinateur qui ne vous appartient pas ?

L’InputStick

Pour ma première proposition, je possède une clef InputStick de Jakub Zawadzki.

Il se présente sous la forme du clef usb que vous inserez dans n’importe quel PC/mac…

A partir d’une application sur votre smartphone, vous controlez alors cette machine via le bluetooth 4.

L’application permet d’executer des macros simples. Le principal défault que je lui trouve est de ne pas avoir d’application desktop (pour l’utiliser via mon GPD Pocket 3). J’ai commencé une application open-source qui permettrait de le faire mais qui est loin d’être operationnelle.

Une API est disponible afin de permettre aux développeurs tiers d’intégrer ces fonctionnalités dans leurs applications. Je l’ai utilisé dans KyPass afin de faciliter l’envoi de mot de passe complexe sur votre ordinateur.

Le Rubber Ducky

Pour la deuxième proposition, la solution la plus connue est le Rubber Ducky de Hak5. Comme l’inputStick, il se présente sous la forme du clef usb sur laquelle vous avez copié votre script (en Ducky Script) tel que celui-là:

GUI r
DELAY 100
STRING notepad.exe
ENTER
DELAY 100
STRING Bonjour

Une fois le Rubber Ducky inseré dans le PC, il ouvrira l’application notepad et ecrira « Bonjour » dans l’éditeur de texte.

Cette solution est moins cher et le nombre de scripts existants est impressionnant.

Son principal defaut est de ne pas être connecté.

Le P4wnP1 A.L.O.A.

Après de longues recherches (au moins 5 minutes), je suis tombé sur le projet P4wnP1 A.L.O.A. de MaMe82 (A.L.O.A. pour “A Little Offensive Appliance”, c’est à dire « Un petit appareil offensif », successeur de P4wnP1)

Ce projet utilise un raspberry pi Zero (que l’on trouve à 10€) et simule un periphérique USB lorsqu’il est connecté à un ordinateur.

Dans sa configuration par défaut, le rpi fait office d’accès point que vous pouvez accèder à partir d’un autre pc. Vous pouvez alors vous connecter à l’adresse http://172.24.0.1:8000 pour configurer (et envoyer des scripts) votre P4wnP1.

Là où cela devient très puissant, c’est qu’il vous est aussi possible d’accèder au P4wnP1 en ssh.

# connection sur le rpi (mot de passe par defaut: toor)
ssh root@172.24.0.1
P4wnP1_cli hid run -c 'press("gui enter")'
P4wnP1_cli hid run -c 'layout("us"); type("ls -latrn")'

Vous pouvez aller faire un tour dans les dossiers /usr/local/P4wnP1/legacy/ et /usr/local/P4wnP1/scripts/ pour voir des exemples de scripts.

Le P4wnP1 permet beaucoup plus que cela:

  • Il est possible aussi de se connecter en bluetooth sur le rpi
  • Elle peut se faire passer pour une carte réseau usb, pour un port série, …
  • Son HIDScript est plus puissant que le Ducky Script
  • Le module Wifi a été modifié pour gérer l’attaque KARMA (j’en parlerai dans une autre post)
  • La distribution installée est KALI Linux, très connue des pentesters.
BadUSB USB-A Addon Board…

Il ne vous reste plus que usberisé (clerifié ?) votre rpi via une carte BadUSB USB-A Addon.

eDEX-UI

Vous voulez vous la jouer hacker pendant vos heures de bureau ?

Gabriel Saillard a pensé à vous.

Il a developpé eDEX-UI qui s’inspire des effets du film Tron : L’Héritage pour créer un terminal futuriste.

En plus du terminal, il affiche des informations sur le système tel que l’occupation CPU, la mémoire disponible, les process consommateurs de CPU, l’adresse IP, …

Ca bouge de partout et c’est de toute beauté ©

eDEX-UI a été dévéloppé à l’aide de l’environnement Electron. Cela la rend plus lourd qu’une application traditionnelle, mais aura au moins l’avantage de tourner sur tous les OS majeurs (linux, macOS et Windows).

eDEX-UI n’est plus maintenu depuis octobre 2021, mais de par sa nature open-source, il y a des chances qu’il soit un jour repris.

Tout est téléchargeable sur son GitHub

RGC 2022

Après une absence de 3 ans due à ce p*** de Covid, la RGC était de retour ce week-end pour son édition 2022.

La team Crazy Piri était bien représentée par ses 3 membres belges (Koopa, Shaan1974 et moi-même). Nos amis français n’avaient malheureusement pas pu s’y rendre.

Il s’agissait de ma première RGC. J’avais participé à l’AC l’année passée à Congis-sur-Thérouanne, également organisée par l’association Retro-Gaming Connexion mais plus orienté ordinosaures.

Pour la premiére fois, la RGC ne se déroulait pas au Colisée de Meaux mais dans la salle municipale de la ville de Lizy-sur-Ourcq. Malgré une plus petite taille que les années précédentes, personne n’a été mis de côté.

Et même si la RGC est plus orientée console, la partie ordinosaure était bien présente et ce fut l’occasion de revoir une bonne partie des personnes présentes à l’AC2021.

Les stands

(mode melon ON)

Notre stand présentait nos productions:

  • Le Puzzle Bobble, sorti il y a presque un an mais qui a toujours son petit succès
  • Kolotoc, notre vision du jeu télévisé « La roue de la Fortune »
  • et enfin, Brixen, gagnant du « CPC Gamedev Contest 2020 » dont l’édition physique ne devrait pas tarder.

Les autres stands étaient tout aussi digne d’intérêt (mode melon OFF).

Pour continuer, une petite sélection des gens que j’ai pu rencontrer. D’autres sans doute aussi intéressants étaient présents mais la convention est trop courte….

Mille excuses aussi à ceux que j’aurais oubliés (Monos, Nicam, Sicca, Ricolaoz, Ricco59, Cyril61 et plein d’autres). Vous n’êtiez pas sur mes photos…

Alekmaul

Il nous a présenté sur grand écran (excusez du peu) la dernière version de son kit de développement pour Super Nintendo.

Nous nous connaissons depuis quelques années déjà… 2006. Alek avait développé son émulateur Amstrad (ameDS) pour Nintendo DS et moi le mien (CrocoDS) et nous nous livrions à une saine concurrence. Après 16 ans, nous nous sommes enfin rencontrés !

IMG_2346-%20alekmaul

CheshireCat

Plus grande demomakeuse Amstrad, elle nous montrait un jeu encore secret (futur hit) et un scroll au 1/64ème de pixels sur notre CPC adoré. Du jamais vu.

Notre restaurant coutumier n’a pas pu avoir lieu. Ma déception de ce week-end…

IMG_2379%20-%20chesirecat

DarkSteph

Encore un CPCiste. Éditeur de l’excellent Amstrad Cent pour Cent 50. Toujours un plaisir de se voir. Un vrai passionné (oui, je me répête).

Je remarque sur une des photos que j’ai raté les frères Possomaï… Grmbl.

IMG_2378%20-%20darksteph%20-%20olivier

Commodore 64 Mania

Belle rencontre à l’AC2021. Cela se répète ici. Monsieur Olivier, malgré vos goûts spéciaux, vous êtes une belle personne !

Yannosh

Est-il nécessaire de présenter Yannosh ?

Il nous a présenté une facette que je ne connaissais pas à travers les synthés de Koopa (vous avez vu son Amstrad Fidelity CKX100 ?)

Sinon, il y a moyen d’avoir une entrée pour la PGR l’année prochaine ? Trop vite sold-out cette année :=(

M. Recalbox

Il ne présentait rien. Juste venu en mode touriste.

Pour l’anecdote, il était derrière moi. Déjà fatigué, je me retourne et lui dis: « On se connait ? Ta tête me dit quelque chose… ». Il ne m’avait pas reconnu, le bougre 🙂

IMG_2362%20-%20recalbox

Chipitos

Plus grand collectionneur Commodore de Belgique (qu’on me prouve le contraire).

Il a créé le OneBus qui une interface Wifi pour relier un Commodore64 (ou un PET) avec des périphériques tels un lecteur de disque, une imprimante. Un bijou d’ingénierie réalisé par un passionné. . Je résume car cela mérite un article complet. J’y penserai la prochaine fois que je le vois. Stéphane fréquente beaucoup de conventions, cela devrait arriver très vite.

Juice Lizard

Grand fan des micro-consoles.

Découverte de la PicoSystem de Pimoroni qui me fait de l’œil.

N’hésitez pas à aller voir ses créations sur son GitHub.

IMG_2381%20-%20juicelizard

Les achats

Un MSX entré de gamme Sanyo et une MegaDrive II acheté 40 euros chacun à Lesarthois. Merci encore à lui pour ses tarifs plus qu’honnêtes.

Conclusion

Rejoignez nous, mais petits conseils:

  • Optimisez votre temps. Cela passe trop vite !
  • N’hésitez pas à discuter avec les gens dans ces conventions. Ils ont tous un truc à partager et c’est tellement agréable de discuter avec des passionnés qui partagent la même passion.
  • Préparez votre stand ! Rien n’était près de mon côté et cela s’est vu…

Et pour finir, un petit tour de la salle brut afin de retranscrire un minimum l’ambiance du weekend:

Utiliser la camera de son smartphone via l’application droidcam

⚠ AVERTISSEMENT : Toutes les informations fournies dans cette publication le sont à des fins éducatives uniquement. Le site n'est en aucun cas responsable de toute utilisation abusive de ces informations. Vous êtes seul responsable de vos actes devant la loi.

Vous voulez espionner la voisine (ou le voisin) qui prend un bain de soleil ? Je ne juge pas… (mais ce n’est pas très joli-joli)

Il existe des caméras dites ‘caméra espion’, mais vous pouvez utiliser pour un moindre coût votre materiel préféré.

Nous reprendrons donc ici notre pc portable linux et notre smartphone (android ou iPhone) dont nous deporterons la caméra en wifi.

Sur notre smartphone, il sera nécessaire d’installer l’application Droidcam.
Niveau linux, nous installerons le module v4l2 loopback (qui crée un device /dev/video virtuel)

sudo apt-get install v4l2loopback-utils

et le client droidcam tel que décrit sur le site de Dev47apps

(c) Pexels – Donald Tong

Pour afficher le flux, nous appelerons le client vlc sur le /dev/video0

Le script donne ceci (à modifier avec l’adresse IP affichée sur le smartphone et en esperant que n’avoir qu’un seul /dev/video… Sinon, il faudra aussi modifier :p)

#!/bin/bash
sudo insmod v4l2loopback
nohup droidcam-cli 192.168.1.232 4747 &>/dev/null &
echo "Recherche du /dev/videoX installé"
dev="$(ls /dev | grep "video" | sed -s 's/^//dev//g')"
sleep 1
echo "Demarrage de vlc sur "$dev
cvlc --fullscreen v4l2://$dev
killall -9 droidcam-cli

Simple ? Non ?

Après, si vous êtes un fan (ou si vous devez subir) des videoconférences, le flux camera de votre smartphone est aussi disponible en tant que webcam dans votre Teams/Zoom/Skype…

Grav

Utilisateur WordPress depuis de très longues années, je voulais quelque chose de beaucoup plus léger pour ce blog.

Après de nombreuses recherches, mon choix s’est porté sur Grav, un CMS basé sur des fichiers plats (et sans base de données).

La rédaction des articles se fait en markdown. Ce qui fait que vous pouvez utiliser votre éditeur de texte préféré pour rédiger vos articles.

Pour ma part, j’utilise Visual Studio Code avec le plugin remote-ssh. Je me connecte sur mon serveur (ou mon GPD Pocket 3) en ssh et accède directement à l’arborescence des articles. J’ai rarement plus pratique pour mettre à jour un site web.

cd /var/www
wget https://getgrav.org/download/core/grav-admin/latest -O archive.zip
unzip archive.zip

Lors de l’installation, vous avez déjà un site utilisable.

Pour la paramétrisation, tout se fait dans le dossier user à la racine de votre site. Vos themes, vos plugins, votre config et vos pages s’y trouvent.

Pour plus de facilité, le plugin admin permet de gérer votre site à partir de votre navigateur.

Grav se prète aussi bien à un site vitrine qu’à un blog ou un site plus complet. Tout dépend de la customisation que vous voulez y mettre.

J’adore.

Ketchup Killers Commander

Aujourd’hui, nous reviendrons à mes 21 ans et parlerons d’un des mes premiers grands projets de développement: Ketchup Killers Commander !

« Ketchup Killers » pour mon groupe de démo. « Commander » pour… « Norton Commander ».

Notre groupe de démo fonctionne bien mais je voudrais sortir ma propre application. Utilisant quotidiennement Norton Commander mais ayant tellement de choses à lui reprocher, mon choix est vite fait. Je ferais ma propre version de cet Orthodox file manager.

Le développement de KKC début fin 1996. J’entame ma deuxième année de graduat en informatique après mon monumental échec à la Polytech. La première version (v0.1) sort début 97.

Dès la première version, il gère déjà les formats d’archive ZIP, RAR, ARJ et LHA. Il peut afficher des informations sur 100 types de fichiers via ma librairie IDF (qui reconnait un format selon son en-tête… mais ceci est une autre histoire, qui sera contée une autre fois).

Les versions suivantes s’enchaineront pendant 1 an et demi (jusque mi 98) et sortiront généralement lors d’une demoparty (Saturne’97, LTP2, Wired’97, Mekka/Symposium’97, …).

Il sortira sur quelques BBS et est encore disponible à quelques endroits sur Internet (dont le Metropoli BBS)

Metropoli BBS

Ce que je retiendrais de KKC (et qui le differenciait de Norton Commander) :

sa redefinition des caractères ASCII et sa couleur beige qui lui donnait sa propre athmosphère,
sa reconnaissance automatique des lecteurs de fichiers (lié à la reconnaissance des fichiers selon leur en-tête)
son mode BBS (il était possible de le faire passer en mode ansi et de se connecter sur lui en port série… l’intérêt était limité mais fun)
son visualisateur interne .html (utilisé par l’aide en ligne)
son éditeur de macro (tous les formulaires étaient faits via un langage de macro compilable – cela avait permit de faire le voting disk de la Wired’98)
son support des long noms de fichiers (presque unique en 97 dans un programme MS-DOS)

En 1996, MS-DOS était déjà passé de mode, Windows 95 est passé par là. Mais en 1998, il ne répresente plus que 3.8% de part de marché. Comme beaucoup je passe aussi à Windows. Je rentre aussi dans le monde professionel et passe dans le developpement Web. Je tente une version linux (le code tournant sur DJGPP au lieu de Watcom depuis quelques versions) mais trop de choses avaient été écrites spécifiquement pour MS-DOS. C’est la fin pour KKC…

Toutes les sources (historisée) sont disponible sur GitHub

NooElec NESDR Nano 2+

Je vous avais déjà parlé de radio logicielle dans un précedent post.

J’utilisais le Cinergy TStick RC Rev3 jusqu’à maintenant mais il était un peu gros pour toujours l’avoir avec soi. Mon choix s’est porté sur le NooElec NESDR Nano 2+ qui est vraiment très petit.

Niveau technologie, on est presque sur le même produit.

Toujours le demodulateur RTL2832U mais le tuner est maintenante un R820T2 au lieu du E4000. Niveau fréquence, cela donne ceci:

TunerFréq minFréq maxRemarques
R820T224 MHz1766 MHz
E400052 MHz2200 MHzgap entre 1100 MHz to 1250 MHz

D’après certains tests, le R820T2 aurait aussi un signal plus propre que le E4000.

J’ai testé les outils que j’utilisais avec le Cinergy et tout fonctionne très bien pour l’instant. Le NESDR est juste beaucoup plus chaud que mon ancien, mais je le savais avant de l’acheter.

Je suis maintenant près pour les futurs posts SDR et vous aurez sans aucun doute des retours plus poussés sur ce petit stick.

(c) Pexels - NOHK - Free Wifi ?

Le wifi pour les nuls

Je ne vous ferais pas l’affront de vous rappeler ce qu’est le wifi. L’utiliser sous Linux est plus intéressant.

Tout d’abord, le package indispensable:

sudo apt-get install network-manager

C’est lui qui gérera vos connections réseaux (donc aussi le wifi pour ceux qui suivent)

A travers le serveur X’ cela se présente sous la forme d’un icône dans votre barre d’icône: vous êtes en chemin connu.

Utilisation de nmcli

En ligne de commande, comme d’habitude, c’est plus complet.

Pour rechercher les wifi aux alentours:

nmcli d w  # ou 'nmcli device wifi' list dans sa forme longue 
IN-USE  BSSID              SSID                   MODE   CHAN  RATE        SIGNAL  BARS  SECURITY  >
        90:9A:4A:B2:99:1A  Proximus-Home-BF90     Infra  8     270 Mbit/s  37      ▂▄__  WPA2      >
        22:B0:01:EC:7C:29  WiFi-2.4-7130          Infra  1     130 Mbit/s  30      ▂___  WPA2      >
        84:A1:D1:4A:8E:76  WiFi-2.4-8E70          Infra  1     130 Mbit/s  22      ▂___  WPA2      >
        9C:97:26:7D:A6:44  WiFi-2.4-A644          Infra  8     130 Mbit/s  22      ▂___  WPA2      >
*       9E:97:26:7D:A6:47  Proximus Public Wi-Fi  Infra  8     130 Mbit/s  22      ▂___  WPA1 WPA2 >
        96:9A:4A:B2:99:1B  --                     Infra  36    270 Mbit/s  15      ▂___  WPA2      >
        A8:6A:BB:90:85:7E  Proximus-Home-8578     Infra  6     130 Mbit/s  12      ▂___  WPA2      >
        90:9A:4A:B2:99:1B  Proximus-Home-BF90     Infra  36    270 Mbit/s  12      ▂___  WPA2      >

Pour se connecter sur un des réseau

nmcli d w c <SSID> --ask # ou 'nmcli device wifi connect SSID-Name --ask' dans sa forme longue
nmcli d w c <SSID> ifname <ifname> --ask # pour selection l'interface réseau spécifique 

Pour obtenir les informations sur votre reseau:

nmcli d # ou 'nmcli device status' dans sa forme longue
DEVICE         TYPE      STATE         CONNECTION
wlan0          wifi      connected     DeadKetchup
wlan1          wifi      disconnected  --
lo             loopback  unmanaged     --

Et si vous préférez une interface ncurse, il existe nmtui et nmtui-connect.

Petits suppléments

Vous en voulez plus ?

Renommage des noms d’interface

Quand vous faites un ifconfig, vous ne voyez plus wlan0 mais quelque chose comme wlp1s0 ou wlx3283af8ca3ac (un nom de device avec la mac-adress) ?

Cela se corrige facilement via

ln -sf /dev/null /lib/udev/rules.d/80-net-setup-link.rules

Cela peut se faire aussi en rajoutant net.ifnames=0 dans la variable GRUB_CMDLINE_LINUX_DEFAULT de votre grub.

Et si vous voulez fixer le nom,

vi /etc/udev/rules.d/70-persistent-net.rules

et ajoutez ceci (en remplacant NAME et ATTR{address} selon votre envie

# PCI device 0x168c:0xyyy (wifi_module_here)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="32:83:af:8c:a3:ac", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan2"

Retrouvez les mots de passe de vos réseaux (Wifi , VPN, …)

C’est trop facile.

sudo grep psk= /etc/NetworkManager/system-connections/*.nmconnection
# pour info, sous window, l'equivalent serait:
# netsh wlan show profiles ; netsh wlan show profile key=clear

Ce qu’il serait amusant, c’est de pouvoir exécuter cette commande à distance, mais ceci est une autre histoire, qui sera contée une autre fois.

Encore une fois, vive la ligne de commande !

Pain 02/98

Février 1998,

Ketchup Killers, notre groupe de démo est invité par la rédaction de Pain, un diskmag suisse, à raconter notre vision de la demoscène belge.

Darkangel et moi nous nous en donnons à coeur joie.

Je me rappelle de la rédaction de cette article dans le café de la gare de Mons, maintenant disparue (le café, pas la gare). Une Blanche pour moi, un Coca pour Dark. Nous y avions mis tout l’humour dont nous disposions.

Qu’en pensez vous ? (idéalement, c’est à écouter avec un bon module, ou encore mieux, via le diskmag directement, sous DosBox ou sur 486 avec une GUS)