www.mikrocontroller.net

Forum: PC-Programmierung IDA - Disassembler - Einstieg


Autor: joh! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Leute!


Ich wollte euch PC-Cracks mal fragen, ob ihr denn Ahnung vom 
Dissasembler IDA habt. Ich habe mir soeben mal die Freeware 
runtergeladen, weil es mich mal interessiert hat, wie das Programm eine 
exe-Datei analysiert.
Leider stehe ich aber vor dem mächtigen Programm wie der Ochse vor'm 
Berg.

Gibt es ein Tutorial oder irgendeine Anleitung, um zu verstehen, was in 
welches Register geschrieben wird, was wo hingeschoben wird usw.


Würde mich wirklich interessieren, denn das geht in meine berufliche 
Richtung (Reverse Engineering).

Vielen Dank!

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du weist aber schon das die gesetzlage da nicht sehr eindeutig ist und 
du dich am Rande der Illigalität bewegst?


Das mit den Register ist nicht so einfach, es gibt nicht immer gleich. 
Mit den Registern kann grundsätzlich erstmal gemacht werden was man 
will. Jeder Compiler bzw Programmiersprache verhält sich da ein wenig 
anders.

bei C/C++ werden Parameter anders als bei Delphi/Pascal übergeben.

Wenn es noch Handgeschriebener ASM-Code ist dann darf man wirklich alles 
machen was der Prozessor zulässst.

Eventuell sollte du den andere Weg gehen, kleine Programm schreiben und 
diese erstmal analysieren.

Autor: Pieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Gibt es ein Tutorial

klar, lerne programmieren!

>>das geht in meine berufliche Richtung (Reverse Engineering).

soll das ein Witz sein?

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was in welches Register geschrieben wird, siehst du am besten mit einem 
Debugger (OllyDBG für normalen Code, SoftICE für harte Fälle, musst 
natürlich auch die nicht gerade einfache 80x86 Assemblersprache 
verstehen) , nicht mit dem Disassembler. Denn alles was ausserhalb der 
disassemblierten Datei vorgeht, siehst du nicht im Disassembler.
Bsp: Du versuchst eine DLL zu reversen, dann siehst du im Disassembler 
nur den Aufbau der DLL, wenn aber ausserhalb der DLL, im Programm welche 
die DLL aufruft, ein Wert auf den Stack geschrieben wird, so siehst du 
den Wert natürlich nicht in der disassemblierten DLL. Genauso ists mit 
WinAPI Aufrufen, wenn die was im Programm machen, so siehst du das 
ebenfalls nich im disassemblierten Programm.
Ganz gemein ists, wenn ein Programm seinen Code modifiziert, dann hilft 
dir der Disassembler auch nur bedingt.
Der Disassembler hilft dir, einen Überblick über den Code zu 
verschaffen, Rücksprungadressen zu finden etc. Wenn du Geld übrig hast, 
kauf dir IDA Pro 5.4, soll echt nett sein, da hast du den Programmfluss 
grafisch aufgelistet und zudem ist der Bochs-Emulator integriert, in dem 
du quasi jeden Codeschnipfel laufen lassen kannst und dabei sehen 
kannst, wie sich die Register und Stack verändern.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.