Windows de-compilieren?

Post Reply
Message
Author
TomStein

Windows de-compilieren?

#1 Post by TomStein »

Hallo an alle.

Als nicht-Programmierer, nicht-SysAdmin, nicht-IT-Profi sondern nur Advanced User bringt mich die Meldung über MS und das IPv6-Patent auf eine Frage, die mich schon lange beschäftigt. Wer, wie MS, closed source - Programme "entwickelt" kann sich doch nach belieben im opensource Lager bedienen und dort "gefundene" Module, Funktionen, Programmteile etc. in seine eigene Software "einfügen", oder nicht?

Warum hat sich eigentlich noch nie einer die Mühe gemacht, Windows (oder Word, Excel) zu decompilieren (oder deassemblieren oder wie das heisst - ihr wisst schon, was ich meine) und sich die sourcen etwas genauer anzusehen? Das ist doch technisch möglich, oder nicht?

Natürlich wäre das zunächst einmal strafbar, aber würde sich das nicht nachträglich relativieren bzw. rechtfertigen lassen, wenn ein "begründeter Verdacht" besteht, der dann im Sourcecode bestätigt wird? Gerade den beiden Verbrechern Gates und Ballmer traue ich das zu, und es wär doch ein Knaller, das der Weltöffentlichkeit zu präsentieren. Also warum hat das nicht schon jemand gemacht? Geht das technisch nicht?

Tom

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#2 Post by hjb »

Hi!

Wer fragt danach, ob etwas strafbar ist, wenn es sich nicht nachweisen läßt? Das Tool "strings" genügt bereits in vielen Fällen. Man kann damit z.B. Fehlermeldungen entdecken, die denen in anderen Programmen "verdächtig" ähnlich sehen. Und ein Disassembler ist auch ein legales Tool, erfordert aber sehr gute Kenntnisse.

Es gibt zwar auch Programme, die aus Assemblercode den ursprünglichen C-Code zu rekonstruieren versuchen, aber das Ergebnis dürfte kaum besser sein als ein Disassembler-Listing. Sicher gibt es Heuristiken, das Ergebnis zu verbessern, perfekt kann es aber nicht sein.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

hugh

#3 Post by hugh »

vor allem nicht weil ja der compiler auch optimiert wenn man es so einstellt. eine vollstängige rekonstruktion dürfte somit unmöglich sein.
für gewisse sachen reicht es aber offenbar.

trotz alle dem bin ich auch der meinung das so ein verfahren
(reverse engineering) strafbar ist, zumindest wenn es der hersteller verbietet.
als nicht anwalt ist das mit dem 'recht' aber immer so eine sache.

der zweck heiligt übrigens nicht die mittel. wer eine straftat begeht um eine eventuelle straftat aufzudecken, und das auch noch ohne begründeten verdacht der wird mit sicherheit sehr schlechte karten haben, sehr sehr schlechte.
oder würdest du es dir gefallen lassen wenn jemand in deine wohnung einbricht weil du ja internet hast und somit ein potentieller kandidat für illegales mp3 saugen sein könntest? einfach so weil das jemand vermutet.

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#4 Post by klopskuchen »

When all else fails, read the instructions .

asdf

#5 Post by asdf »

.... ihre Anwendung weder die normale Auswertung des Werkes beeinträchtigt noch die berechtigten Interessen des Rechtsinhabers unzumutbar verletzt.

kanonenfutter
Posts: 266
Joined: 10. Sep 2004 14:37
Contact:

#6 Post by kanonenfutter »

> Warum hat sich eigentlich noch nie einer die Mühe gemacht, Windows (oder Word, Excel) zu decompilieren

man könnte natürlich auch die geleakten windows-sourcen heranziehen.
die zu benutzen ist natürlich strafbar, aber man kann ja im nachhinein immer noch behaupten, man hätte das corpus delicti durch reverse engineering, disassembling etc gefunden.
ich weiss aber nicht, wie viel code das überhaupt war, der damals durchgesickert ist. waren das relevante teile (die für so eine untersuchung interessant sein könnten) oder nur verstreute files?
"Email und Internet haben gemeinsam, dass sie beide in HTML geschrieben sind" (Peter Huth, TV-Computerexperte). Zitiert nach http://www.antihuth.de/

AlexMH

#7 Post by AlexMH »

Hi,

ich will dir ja deine Hoffnungen nicht nehmen aber da wirst du nix nachweisen koennen.

1. Haben das schon hunderte vor dir gemacht.
2. hat sich MS einfach bei BSD bedient, wo die Lizenz das ohne weiteres zulaesst. (AFAIK basierte der NT4 TCP-Stack auf BSD)

Wenn du's selbst ueberpruefen willst, dann kommst du mit memory dumps immer noch am weitesten. Damit kannst du dann speicherstrukturen vergleichen und somit den Codeklau nachweisen. Ein disassemblieren lohnt sich da weniger, da verschiedene Compiler unterschiedlich optimieren und du somit unterschiedlichen disassemblierten Code bekommst. Ein Vergleich ist hier nur mit hohem Aufwand moeglich.

Um zu beweisen, dass MS BSD Code verwendet hat, reicht aber schon der Befehl "strings", der dir alle Klartext strings in einem Binary liefert. Zumindest unter Win2K gab es noch ein paar Tools, die das BSD Copyright in sich haben.

Gruss,
Alex

Post Reply