Introduction à la rétro-ingénierie

L'ingénierie inverse est une méthode de restauration d'un produit à partir d'une évaluation de sa structure logicielle, de ses exigences de fonctionnalité et de ses fonctions. Cela établit une liste des logiciels et en extrait des connaissances. Cette technologie vise à promouvoir les travaux de maintenance en améliorant la compréhensibilité des systèmes et en générant les documents nécessaires pour un système hérité.

Quelles sont les utilisations courantes de la rétro-ingénierie?

1. Rendre les nouveaux produits compatibles moins chers que ceux actuellement disponibles sur le marché.

2. Rendre le code plus puissant pour interopérer ou pour lier différents systèmes d'exploitation ou bases de données.

3. Découvrir les caractéristiques des produits commerciaux non coordonnés.

4. Cette forme d'enquête implique les individus dans un processus productif d'apprentissage sur le fonctionnement des programmes et des services. La méthode d'identification d'un élément et d'explication de son fonctionnement est un moyen important d'apprendre et de développer la création d'un système. L'ingénierie inverse permet de dupliquer un composant existant en collectant les dimensions physiques, les caractéristiques et les propriétés du composant. Une analyse du cycle de vie et une analyse des coûts ou des avantages bien planifiées doivent être effectuées pour justifier les projets d'ingénierie inverse avant de tenter l'ingénierie inverse.

Il comprend les étapes suivantes, selon la méthodologie:

  • Comparez vos observations avec l'appareil réel et suggérez une amélioration.
  • Observer et analyser les mécanismes de fonctionnement du système.
  • Disséquer et étudier le fonctionnement interne d'un appareil mécanique.

Un chercheur peut collecter les données techniques nécessaires pour enregistrer la fonction d'un logiciel ou d'une partie d'un processus par rétro-ingénierie. Les chercheurs peuvent examiner la force des systèmes et identifier leurs faiblesses en termes de performances, d'interopérabilité et de sécurité lors de l'utilisation de logiciels d'ingénierie inverse. La méthode de rétro-ingénierie aide les chercheurs à comprendre comment un système fonctionne et quels éléments du logiciel entraînent son incapacité à fonctionner. Les producteurs indépendants peuvent être intéressés par un marché concurrentiel qui reconnaît les améliorations apportées aux produits dominants. Par exemple, il est nécessaire que les audits de sécurité permettent aux utilisateurs de code de mieux protéger leurs systèmes et réseaux en découvrant des failles de sécurité. Cela commence souvent par la création de meilleures conceptions et l'interopérabilité des produits existants.

Les étapes à suivre pour la rétro-ingénierie sont les suivantes:

  1. Informations sur la collection
  2. Enregistrement de la fonctionnalité
  3. Examen des informations
  4. Enregistrement du flux de contrôle
  5. Extraire la structure
  6. Enregistrement du flux de données
  7. Examiner la conception extraite
  8. Générer de la documentation

Quels sont certains cas juridiques ou problèmes éthiques?

De nouvelles décisions de justice montrent que l'existence légale et éthique de techniques d'ingénierie inverse est utilisée pour obtenir l'interopérabilité avec un programme informatique développé de manière indépendante. Lexmark a déposé une plainte contre SCC en décembre 2002, l'accusant d'avoir violé à la fois la loi sur le droit d'auteur et le DMCA. Le code utilisé dans la cartouche d'imprimante Lexmark a été rétro-conçu par SCC pour créer des cartouches compatibles. Selon le monde des ordinateurs, Lexmark affirme que les puces Smartek de SCC contiennent la technologie Lexmark protégée par le droit d'auteur. Le programme gère l'interaction entre les imprimantes Lexmark et les cartouches de toner; sans cela, les cartouches de toner réhabilitées ne fonctionneront pas avec les imprimantes Lexmark. «Le tribunal a jugé que« la loi sur le droit d'auteur ne devrait pas être utilisée pour empêcher l'interopérabilité entre les produits d'une entreprise et ceux de leurs concurrents. Dans une décision américaine. «Le DMCA n'interdit pas aux développeurs de code d'utiliser l'ingénierie inverse pour accéder à du matériel protégé par des droits d'auteur électroniques s'ils le font afin de réaliser l'interopérabilité avec un programme informatique développé de manière indépendante», a déclaré le Bureau du droit d'auteur en octobre 2003.

Qu'est-ce que la mise en œuvre juridique?

  • Protection par brevet - protège le concept derrière le fonctionnement d'un nouveau produit.
  • La protection par copyright couvre uniquement la forme et la conception d'un produit.

Un brevet n'est rien de plus qu'un signal d'avertissement à un rival afin de décourager la concurrence, selon NPD-solutions. Seules les solutions NPD indiquent qu'un rival peut faire l'une des choses suivantes s'il y a un intérêt pour une idée: l'ER est généralement réalisée à l'aide du mur chinois ou de la salle blanche. Salle blanche, c'est fait séquentiellement.

Est-il contraire à l'éthique de faire de l'ingénierie inverse?

Ce problème est largement discuté et il n'y a apparemment pas de réponse exacte à la scission. Celui de la propriété intellectuelle est la première revendication contre l'ingénierie inverse. Parce que Lexmark et les entreprises comme elles passent du temps et de l'argent à développer des produits, ils trouvent contraire à l'éthique que d'autres puissent inverser l'ingénierie de leurs produits. Il existe également des éléments qui ont été endommagés par ces activités, comme Bit Keeper. Pourquoi les entreprises et les particuliers devraient-ils dépenser de grandes quantités de ressources pour acquérir une propriété intellectuelle que leurs concurrents pourraient inverser à une fraction du coût?.

Articles recommandés

Ceci est un guide de l'ingénierie inverse. Nous discutons ici des utilisations, des cas juridiques, des problèmes éthiques et de la mise en œuvre juridique de la rétro-ingénierie. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Ingénierie inverse avec Python
  2. Questions d'entretiens chez Software Engineering
  3. Carrières en tant qu'ingénieur logiciel
  4. Questions d'entretiens chez Electrical Engineering