Pas de code source ? Pas de problème ! explore le défi de créer des doublons fonctionnels de logiciels lorsque seuls des fichiers binaires sont disponibles. Le développement typique de logiciels s'appuie sur des modifications de code source ou sur une création nouvelle, mais ce processus traite l'ingénierie inverse nécessaire lorsque le code original n'est pas disponible. L'article cadre cela comme un pont au-dessus de la lacune sémantique, nécessitant un mappage précis du sens du programme original sur les systèmes hôtes modernes.
Cela implique principalement la création d'interpréteurs ou d'émulateurs pour l'ensemble d'instructions du processeur cible tout en gérant les périphériques d'entrée/sortie. La faisabilité dépend du ratio d'instructions hôtes nécessaires pour émuler une seule instruction cible (G), qui est généralement d'au moins 10. Les techniques discutées vont au-delà de la préservation des jeux vidéo, offrant des solutions pour le remplacement du matériel ancien avec des programmes modernes compatibles.
En traitant les données ROM originales comme un paramètre du programme plutôt que comme un code compilé, les émulateurs maintiennent une fidélité plus élevée au comportement original, particulièrement lorsque les documents de spécification ne parviennent pas à décrire le fonctionnement complet du logiciel.
Source: Hacker News · Résumé par HeadlinesBriefing