Le reverse engineering c'est quoi ? - Comment ça marche en profondeur ?

Salut tout le monde, je suis actuellement en 2eme année DUT info et je me penche actuellement sur le reverse engineering. Je sais grosso modo le principe et les bases de cette technique. Mais plus qu’un simple descriptif ou une définition je cherche un site qui explique en détaillé comme ça marche. ( voir de l’ASM ne me fait pas peur :wink: ) A ceux qui repondrait “google est ton ami” Je dois vous avouer que j’ai déjà bien cherché en vain… Donc si vous connaissez un petit site perso bien documenté à ce sujet, passez le moi ! :smiley:

Merci d’avoir pris le temps de me lire et à Bientôt !

Bonjour,
Pour moi, ça a toujours été empirique, et parfois à la limite de la langue de bois: certains disent faire du reverse pour ne pas dire “on lit du code”. :smiley:
Mais réellement, pour faire du reverse engineering, on commence par voir l’utilisation générale du produit, et on remonte dans le code pour comprendre le fonctionnement précis, pour faire les spécification détaillées, puis les spécification générales, … à l’inverse d’un cycle normal. Mais s’il y a une vraie méthode, je suis preneur. :wink:

La mode actuelle étant au Java, certains AGL Java (Rational Rose, Objecteering,…) sont capables de produire les diagrammes de classes UML à partir du code java, ou encore de mettre à jour les diagrammes de classes suite à une modification du code.

Ah oui, et il y a Together aussi. (et peut-être Argo UML??) :slight_smile:
C’est pas qu’une mode, il m’est arrivé de faire des trucs qui marchent en Java :smiley:
Par contre, je ne suis pas fan de ces usines à gaz, (together et cie) mais je ne sais peut-être pas bien m’en servir, je ne veux pas influencer vos choix.

Tu as aussi omondo UML, plugin pour Eclipse. Bon par contre, les diagrammes de séquence qu’il pond sont merdiques.

(je sais, mon projet de Design Pattern/Génie Logiciel consistait à faire du Reverse Engineering sur un truc fait par mes profs)

Pour le java, ca ne sert pas à grand chose d’utiliser la méthode du reverse engeneering étant donné que c’est décompilable …
Non, pour moi, le RE consiste à comprendre les mécanisme d’un programme (drivers compris) pour ensuite faire du code qui puisse exploiter les données que l’on a récolté.
Exemple : je veux faire un pilote pour une carte tv usb par reconnue sous nunux

–> je regarde ce qui passe par le port usb,
–> je fait des actions précise et je matte ce qui passe par le port usb,
–> je schématise tout ça,
–> je commence à faire un embryon de code que je test au fur et a mesure tout en vérifiant ce qui passe dans le port usb par rapport à ce que j’ai noté au début.

Merci pour vos reflexions sur le RE c’est tres interressant, j’apprends plein de truc MAIS! Car il y a toujours un mais ça ne reponds pas à mes attentes…
Je m’explique: je dois rendre un rapport sur le RE aussi, je me dois de trouver un exemple de RE pour expliquer le principe à mon auditoire. Bien sur je sais que montrer un exemple est contraire au principe du RE car chaque RE de programme est different. Mais un exemple serai je pense bienvenue pour faire comprendre ce principe à ma classe lors de mon rapport.

Merci et à bientôt bande de taré de l’informatique :smiley:

Petit exemple :

http://www.honeynet.org/scans/scan33/sols/A-Vinay_Mahadik/

Mais la bible se trouve ici.