Wo ist das Reverse Engineering verwendet?
Frage ich mich wo reverse engineering verwendet wird. Ich bin interessiert am lernen. Aber ich weiß nicht, ob ich kann/sollte es auf meinem Lebenslauf.
Ich will nicht, dass mein neuer Chef denken, ich bin ein böser Hacker oder so etwas. 🙂
- So ist es das Wert?
- Sollte ich es lernen, oder meine Bemühungen irgendwo anders?
- Gibt es ein gutes Buch oder tutorial gibt? 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Reverse engineering wird Häufig verwendet, für entschlüsseln Dateiformate zur Verbesserung der Interoperabilität. Zum Beispiel, dass viele populäre kommerzielle Windows-Anwendungen laufen nicht auf Linux, die eine reverse-engineering von Dateien produziert, die von diesen Anwendungen, so dass Sie kann unter Linux benutzt werden. Ein gutes Beispiel HIERFÜR wären die verschiedenen Formate von Gimp, OpenOffice, Inkscape, etc.
Ein weiteres verbreitetes Einsatzgebiet von reverse engineering ist Entschlüsselung Protokolle. Gute Beispiele sind Samba, DAAP Unterstützung in vielen nicht-iTunes-Anwendungen, cross-Plattform-Instant-Messaging-clients wie Pidgin, etc. Für das Protokoll reverse-engineering, Allgemeine Werkzeuge des Handels gehören Wireshark und libpcap.
Kein Zweifel reverse engineering ist oft im Zusammenhang mit software knacken, das ist in Erster Linie Verständnis-Programm Demontage. Ich kann nicht sagen, dass ich jemals benötigt zu zerlegen, ein anderes Programm als aus reiner Neugier-oder um es etwas tun, er war es nicht. Ein plus-Seite, um reverse-engineering-Programme ist, dass, um einen Sinn für Sie, Sie müssen lernen, Montage-Programmierung. Es gibt jedoch rechtliche Möglichkeiten, um verbessern Sie Ihre Demontage Fähigkeiten, speziell mit Crackmes. Ein wichtiger Punkt ist, dass wenn Sie die Entwicklung von Sicherheitsmaßnahmen in Ihren Anwendungen, oder wenn Sie in das Geschäft, Sie müssen zu wissen, wie reverse-Ingenieure arbeiten, um zu versuchen, einen Schritt Voraus zu bleiben.
IMHO, reverse engineering ist eine sehr mächtige und nützliche Fähigkeit zu haben. Nicht zu erwähnen, es ist in der Regel Spaß und süchtig. Wie hmemcpy erwähnt, ich bin mir nicht sicher, ich würde den Begriff "reverse-engineering" auf meinem Lebenslauf nur die Fähigkeiten/wissen im Zusammenhang mit es.
Reverse engineering ist in der Regel etwas, was Sie tun, weil Sie müssen, nicht weil Sie es wollen. Zum Beispiel gibt es rechtliche Probleme mit einfach reverse-engineering-Produkt! Aber es gibt die notwendigen Fälle -, wo (zum Beispiel) den Lieferanten gegangen ist und nicht mehr existiert oder nicht erreichbar. Ein gutes Beispiel wäre die WMD-editor, die Sie eingegeben haben Ihre Frage in. Das SO-team/community hatte zurückentwickeln, aus diesem verborgenen Quell anwenden einige bug-fixes.
Eines der Felder, meiner Meinung nach, wo reverse-engineering-Fähigkeiten, die nützlich sein könnten, ist die anti-Viren-Industrie, zum Beispiel. Allerdings würde ich nicht das "reverse-engineering" auf meinen Lebenslauf, sondern ich würde schreiben Sie Erfahrung in der Montage-Sprache, mit Sonstiges Zerleger/Debugger (wie IDA, SoftIce oder OllyDbg), und andere relevante Fähigkeiten.
Ich gearbeitet habe, auf reverse-engineering-Projekte, und Sie hatte sicherlich nichts mit hacking. Wir hatten die Quellcodes für alle solche Projekte, die (berechtigterweise), aber für eines der Projekte eigentlich niemand wusste, was der code getan hat, hinter den kulissen, und wie es interagiert mit anderen Systemen. Dass Informationen schon lange verloren gegangen. In einem anderen Projekt hatten wir den Quellcode und eine Dokumentation, aber die Dokumentation war nicht up to date, so hatten wir das reverse-Engineering die Quelle zum aktualisieren der Dokumentation.
Ich nichts dagegen haben, dass solche Projekte auf meinem Lebenslauf. In der Tat, ich glaube, ich habe viel gelernt während des Prozesses.
Reverse engineering ist erforderlich, wenn Sie die Dokumentation verloren gegangen ist oder er hat nie existiert. Mit der Quelle hilft, aber Sie haben immer noch zum reverse Engineering der original-Logik, Ablaufsteuerung und bugs raus.
Arbeiten mit Fremd-hardware oft zwingt Sie zum reverse Engineering. Zum Beispiel war ich einmal arbeiten mit einer alten signal-Akquisition-Karte, die benahm sich seltsam; Umsetzung in schöner Sinus produziert schrecklich verkrüppelt Daten. Es stellte sich heraus, dass jeder zweite byte wurde Zweierkomplement und jedes weitere ergänzen - oder zumindest, wenn Sie interpretiert wird, die Art und Weise, die Daten wurden sehr schön. Natürlich war dies nicht dokumentiert ist überall, und die Karte funktionierte perfekt, wenn verwendet mit seiner eigenen, proprietären software.
Ist es sehr Häufig (in meiner Erfahrung) zu begegnen, älteren code, der Mängel hat, ist heute überholt durch die änderung von Anforderungen, oder beides. Es ist oft der Fall, dass es die Unzureichende Dokumentation und die original-developer(s) nicht mehr verfügbar sind. Reverse engineering-code zu verstehen, wie es funktioniert (und manchmal die für eine Reparatur-oder-ersetzen-Entscheidung) ist eine wichtige Fertigkeit.
Wenn Sie die Quelle haben, ist es oft sinnvoll, eine kleine, sorgfältig geplante, streng-Bereich in Höhe der Bereinigung. (Ich bin hinting laut, dass dies nicht erlaubt werden, sich eine Doline für wertvolle Entwickler-Zeit!)
Es ist auch sehr hilfreich, um in der Lage sein, um die Bewegung der code in einem testbed, entweder um zu überprüfen, dass es tut, was erwartet wurde oder zu identifizieren, Dokument, isolieren und reparieren von Defekten sind.
Tun, so sicher erfordert eine sorgfältige Arbeit. Ich empfehle Michael Feathers' Buch die die Arbeit mit Legacy-Code für seine praktische Anleitung für die erste solcher code im test.
RCE ist viel Geschick für die security-Leute (Forschung, Verwertung, IDS, IPS, AV, usw.) aber auch Sie beweist, dass Sie habe eine Tiefe und low-level-Verständnis für das Thema.
Finden Sie Ihren Weg herum einfacher, wenn die Arbeit mit 3rd-party-Bibliotheken.
Wenn Sie nicht arbeiten, in der security-Branche, wenn Sie nicht gut zu ASM nicht die Mühe, es zu erlernen, in der Regel ist es schwer zu lernen.
Bücher
Hacking-die Kunst der Ausbeutung spricht über das Thema aus der Sicht der Sicherheit.
Vielleicht möchtest du ja auch, Bücher zu Lesen über Ollydbg und IDA Pro