Capitole du Libre 2024

La rétro-ingénierie, comment ça marche ? L'exemple d'enioka Scan
16/11/2024 , A304

L'an dernier, nous vous avions présenté enioka Scan, notre bibliothèque Android facilitant l'intégration de scanners de code barre dans des applications Android.

L'intérêt principal de cette bibliothèque est son interface unique permettant de communiquer avec une grande variété de scanners, de Honeywell a Zebra et autres Generalscan. L'objectif : permettre aux utilisateurs la liberté de changer de fournisseur sans devoir réécrire leur application. Pour se faire, il nous a fallu comprendre les protocoles spécifiques utilisés par chaque constructeur afin de développer une implémentation open-source avec laquelle enioka Scan peut s'interfacer. Cela passe souvent par une étape de rétro-ingénierie.

Cette année, nous nous concentrerons sur l'aspect pratique de cette rétro-ingénierie : comment capturer les communications entre un smartphone et un appareil bluetooth, et comment utiliser Wireshark pour interpréter les données obtenues, pour finalement traduire un protocole.

Dans cette présentation, après un rapide historique du projet, et une explication d'une méthode de retro-ingénierie, nous ferons une démonstration étape par étape de ce procédé sur un SDK propriétaire auquel nous avons été confronté.

Développeur chez enioka et mainteneur de la bibliothèque Android open-source "enioka Scan"