Forum: PC-Programmierung IDA - Disassembler - Einstieg


von joh! (Gast)


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!

von Peter (Gast)


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.

von Pieter (Gast)


Lesenswert?

>>Gibt es ein Tutorial

klar, lerne programmieren!

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

soll das ein Witz sein?

von Ich (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.