Seite 1 von 2 12 Letzte
  1. #1

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Reverse Engineering
    Teil I - Grundlagen
    Teil II


    Hallo,

    schön, dass ihr zu meiner Tutorialreihe über Reverse Engineering gefunden habt. In diesem ersten Teil möchte ich darauf eingehen was Reverse Engineering ist, wofür es eingesetzt wird, wie man vorgeht, welche Voraussetzungen gefordert werden und womit wir zukünftig arbeiten.


    Was ist Reverse Engineering und wofür wird es eingesetzt?

    Bevor wir ein Produkt (hier eine Software) anfertigen, entwickeln wir für gewöhnlich erst einmal einen Plan. Reverse Engineering (engl. für umgekehrt entwickeln, rekonstrurieren) bezeichnet in der Informatik den Vorgang, einen Plan für ein bereits bestehendes Produkt zu entwickeln. Dafür kann es verschiedene Anlässe geben:

    • Plan und Source Code eines möglicherweise schon älteren Projektes, das nun wieder aufgegriffen werden soll, sind nicht mehr vorhanden. Um fortzufahren, müssen wir den bisherigen Fortschritt erst einmal rekonstrurieren.
    • Eine bereits bestehende, nicht mehr funktionierende Software, deren Source Code uns nicht zur Verfügung steht, soll aufgearbeitet werden. Wir kennen möglicherweise schon die Ursache des Problems und wollen die Software entsprechend manipulieren (patchen, cracken), um sie wieder zum Laufen zu kriegen. Bevor wir das Programm manipulieren können, müssen wir gewisse Teile aber erst einmal rekonstruieren.
    • Ein Produkt soll nachgeahmt werden (in der Informatik sprechen wir von Emulation), hierzu müssen gewisse Vorgänge wie z. B. Verschlüsselungen rekonstruriert werden.

    Ersteres ist eher selten der Fall, meist hängt Reverse Engineering tatsächlich mit Cracking und Emulation zusammen. Cracking wird auch Thema des nächsten Teils sein.


    Wie geht man vor und welche Voraussetzungen sind gefordert?

    Zum Rekonstrurieren eines Plans haben wir zwei Möglichkeiten:

    1. Wir analysieren das Produkt durch Ausprobieren.
    2. Wir zerlegen das Produkt in seine Einzelteile, beim Zerlegen einer Software sprechen wir von Dekompilieren.

    Die erste Möglichkeit fordert keine Voraussetzungen, höchstens ein paar hunderte Tests, die sehr viel Zeit in Anspruch nehmen. Leider ist diese Möglichkeit aber oft nicht Erfolg versprechend, wenn man bspw. ein Passwort oder eine Verschlüsselung rekonstruieren will kommt man hier meist nicht weit und muss zur zweiten Möglichkeit greifen, welche grundlegende Kentnisse in einer Programmiersprache voraussetzt. Welche Programmiersprache beherrscht werden muss hängt davon ab was für ein Produkt wir zerlegen, ob bspw. eine .NET- oder eine Java-Applikation. Wenn wir uns im nächsten Teil mit Cracking beschäftigen werden grundlegende C#-Kentnisse vorausgesetzt (vorerst wirklich nur einfache Dinge wie Variablen, Methoden-Aufrufe und Bedingungen).


    Womit arbeiten wir in Zukunft?

    Wie schon gesagt wollen wir uns im nächsten Teil mit Cracking von .NET-Anwendungen beschäftigen, dazu benötigen wir folgende Programme:




    Ich hoffe ich konnte euch im ersten Teil Grundlegendes über Reverse Engineering näher bringen und euer Interesse wecken. Anfangs scheint es natürlich noch etwas trocken, aber Theorie gehört nunmal dazu und im nächsten Teil gehen wir ja auch schon zur Praxis über.
    Geändert von Flav (04.10.2012 um 02:41 Uhr)

  2. The Following 13 Users Say Thank You to Flav For This Useful Post:

    AmJano (22.10.2012), Dbzfreak1337 (13.10.2012), DnL (02.10.2012), FBI America (17.06.2013), Gangstersheep (04.10.2012), iToxic (02.10.2012), Mentos (02.10.2012), milchbubix (04.11.2012), Minecraft (02.10.2012), Saad (02.10.2012), Snees (02.10.2012), Sploxfreak (06.12.2012), uncopyable (02.10.2012)

  3. #2
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Find ich richtig gut, dass du Tutorials schreibst, ich wollte das schon immer mal lernen, habe aber bei Google nichts anständiges gefunden :/

    PS: Freue mich schon auf den 2. Teil
    LG

  4. #3
    Avatar von iToxic
    Registriert seit
    18.11.2011
    Beiträge
    918
    Thanked 1.773 Times in 913 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Ich persönlich arbeite auch sehr gerne und öfter mit SAE(simple-assembly-explorer - Simple Assembly Explorer - Google Project Hosting), dieser ersetzt den Reflector und das Plugin dafür .

    Dort wird zum Ansehen des Codes ILSpy verwendet.


    P.S. SChönes Tutorail, hoffe da folgen noch mehrere.


  5. #4
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Kannst du ja dann auch mal in einem kurzen Tutorial vorstellen und evtl. Vor- und Nachteile deutlich machen

  6. #5

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Schau ich mir die Tage mal an, .NET Reflector ist aber bekannter, kann man mehr Support für erwarten. Nach .NET und Java folgen vielleicht noch Native RE Tutorials, da bin ich aber selbst noch am Lernen.

    Edit: Der von mir hier bereitgestellte .NET Reflector enthält übrigens einen Keygen und eine Anleitung zum Aktivieren.
    Geändert von Flav (02.10.2012 um 21:50 Uhr)

  7. The Following 3 Users Say Thank You to Flav For This Useful Post:

    AmJano (22.10.2012), Gangstersheep (04.10.2012), iToxic (02.10.2012)

  8. #6
    Avatar von AmJano
    Registriert seit
    13.08.2012
    Beiträge
    153
    Thanked 66 Times in 27 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Hallo Flav,

    ich kann den .NET Reflector nicht Installieren! :/
    Schau mal hier:

    Name:  fehlernwzuu3.png
Hits: 1570
Größe:  35,5 KB

  9. #7
    Avatar von AmJano
    Registriert seit
    13.08.2012
    Beiträge
    153
    Thanked 66 Times in 27 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Tut mir jetzt Wirklich Leid wegen dem DoppelPost!

    Habe Windows XP Pro2
    4GB Arbeitsplatz

    --------------------------

    Woran kann es denn liegen wieso ich es nicht Installieren kann?
    Danke.


    Mfg

  10. #8
    Avatar von iToxic
    Registriert seit
    18.11.2011
    Beiträge
    918
    Thanked 1.773 Times in 913 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Du benötigst "Microsoft Visual Studio 2010 oder Dev11 Professional, Premium oder Ultimate" um die Extension zu installieren.


  11. #9
    Avatar von AmJano
    Registriert seit
    13.08.2012
    Beiträge
    153
    Thanked 66 Times in 27 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Habe ich doch.
    Microsoft Visual Studio 2010 Express

    ?

  12. #10
    Avatar von iToxic
    Registriert seit
    18.11.2011
    Beiträge
    918
    Thanked 1.773 Times in 913 Posts

    Standard AW: [Tutorial] Reverse Engineering - Teil I - Grundlagen

    Du brauchst aber: Professional, Premium oder Ultimate


  13. The Following User Says Thank You to iToxic For This Useful Post:

    Gangstersheep (28.10.2012)

Seite 1 von 2 12 Letzte

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 25.10.2015, 23:12
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.