Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 1 » Reverse Engineering SS 2017   (Übersicht)

Reverse Engineering SS 2017

  • Schriftl. Klausur (wohl seit SS 2016)
  • Prüfer: Tilo Müller
  • Struktur mit 5-6 Aufgaben und Aufgabenarten wurden bereits in der Vorlesung mitgeteilt
  • Keine Hilfsmittel
  • 14 Seiten, davon ca. 2-3 Seiten nur Angabe und evtl. eingezeichnete Notizen/Markierungen
  • Dieses Mal nur Intel-Syntax vorgekommen, kein AT&T
  • Aufgaben
    • Teil 1 (Lückentext)
      • Angeben, ob ca. 20 Beispiele einzelner Befehle in Intel-Assembler-Syntax gültige Befehle beschreiben, oder warum nicht. [je 1/2P]
      • ???
    • Teil 2 (Freitext)
      • ???
      • Unterschiede test/cmp? Was beschreiben die Flags ZF/SF/CF/OF?
      • ???
    • Teil 3 (Diagramme)
      • Aufbau Instruktionen beschreiben; anhand von Beispiel (1 Befehl vorgegeben: Hex & Assembly) demonstrieren
      • ???
      • ???
      • Abkürzung TEB/PEB erklären, TEB zeichnen, 4 Inhalte von TEB beschreiben, Assemblercode für TEB-Pointer-Abruf schreiben, was ist dabei bei 64bit-Systemen zu beachten?
    • Teil 4 (Struct) [12P]
      • Nonsense-Struct mit Pointer auf sich selbst, ints, shorts, int[]s und char[]s aus Algo (Unteraufrufe an strcpy und malloc) analysieren, signed/unsigned wo möglich angeben; als C-Code darstellen.
    • Teil 5 (Algo) [12P]
      • rekursiven Assemblercode für ggT-Funktion in C-Code umwandeln, dazu Struktur des Assemblercodes markieren
    • Teil 6 (Exploit) [12P]
      • Assembler-Programm in Shellcode umwandeln (Stack-ASLR beachten) [6P]
      • geeignete Exploit-Technik auswählen, Stack um strcpy-Aufruf mit Exploit zeichnen – strcpy-Header war leider nicht gegeben, Aufrufkonvention war auch nur zu erraten. [6P]

Ein etwas umfangreicherer Braindump findet sich hier: https://pad.stuve.fau.de/p/r.e84bb6126c0712f9d9117d9dacf392e5(edit)