'Dissamblierung' und 'Reverse Engineering'?

Hi,
könnt Ihr mir kurz und treffend diese beiden Begriffe erläutern? Ich weiß nur, es hat im weitesten Sinne was mit Klauen des Quellcodes einer Software o.ä. zu tun, bräuchte aber eine genaue Definition.
Vielen Dank
Donovan

Hi,

Wenn Du Deinen Besen untersuchst um einen neuen Stiel anzubringen, ist das reverse engineering, wenn Du eine Spielzeuglok auseinandernimmst, um zu sehen, wie sie von innen funktioniert, disassemblierst Du sie.

Die Leute, die den DNA-Code disassemblieren, um neue Medikamente zu entwickeln (auch wenn ich das nicht f"ur die n"achsten 100 Jahre sehe), betreiben reverse engineering. Die gesamte Bionik (Haifischhaut,…) f"allt darunter.

In der EULA steht, dass MS sich gegen reverse engineering verwahrt, und dementsprechend das Disassemblieren ihres Codes untersagt. Wobei die Frage ist, wie man das abgrenzt, ob schon das Lesen des HEX-Codes darunter f"allt. Was auf jeden Fall rechtlich bedenklich ist, ist solche Erkenntnisse kommerziell zu verwerten. Andererseits, wenn man dies wieder zu weit treibt, untergr"abt man die Existenzberechtigung s"amtlicher Computerzeitschriften (Windows geheim,…)

Konkret gibt es Programme, die den HEX-Code eines Programms in nicht ganz unleserliche Assembleranweisungen umsetzen k"onnen. Sowas meint man meist mit Disassemblieren. Wobei durch die verschiedenen Optimierungstricks moderner Compiler kaum verwertbare Struktur zu finden ist. Einen guten Disassembler zu bauen ist wesentlich komplizierter als einen guten Compiler zu bauen. Und sei es nur wegen des Problems, die Datenstrukturen zu erkennen und lesbar zu bezeichnen, von sinnentsprechend ganz zu schweigen. Der Weg Hochsprache -> Bin"arcode -> (Dis)Assemblerprogramm ist mit extremem Informationsverlust bei gleichzeitigem Aufbl"ahen der Datenmenge verbunden.

Was aber zu machen ist, und im Fall von DeCSS wohl auch passiert ist, ist einen bekannten Algorithmus in einem eng begrenzten St"uck Code wiederzufinden und zugeh"orige Parameter zu identifizieren, falls diese (wie eigentlich gefordert war) nicht extra gesch"utzt sind.

Dass danach das gesamte Content Scrambling System wie ein Kartenhaus zusammengefallen ist, lag aber eher an zu vielen Kompromissen im Design als an "ubereifrigen Hackern. Die haben reverse engineering an einem DVD-Codec betrieben, um selbst einen DVD-Player zu schreiben. "Uber die rechtlichen Feinheiten streiten die Gerichte.

Ciao Lutz

Vielen vielen Dank für die tolle Erklärung!
Donovan