Sogenannte Decompiler sollen es erlauben, Binärcode in Quellcode für eine Programmiersprache rückzuübersetzen. Dabei entsteht natürlich nicht mehr der ursprüngliche Quellcode des Programmes, sondern viel mehr ein Quellcode in einer beliebigen Programmiersprache, jedoch bietet das – wenn auch eingeschränkte – Möglichkeiten, Änderungen an Programmen vorzunehmen, für die man garkeinen Quellcode hat und vor allem fest eincompilierte Resourcen (z.B. Bitmaps, ASCII-Texte) zu extrahieren.
Die Decompilation von Programmen ist ein starkes Tabu-Thema. Oftmals hört man sogar die Behauptung, es sei strafbar, ein Closed-Source-Programm rückzuübersetzen. Tools zur Decompilation soll es jedoch geben, wobei Informationen darüber kaum zu finden sind. Mein Anliegen ist, X86-Binärcodes zu decompilieren und anschließend als PPC-Binary zu compilieren. Dazu wäre ein Decompiler interessant, der unter unterschiedlichen Betriebssystemen läuft. Beispielsweise gibt es zwar einen WINE-Port für Linux-PPC, der allerdings nur brauchbar ist, um PPC-Windows-Programme unter Linux zu nutzen, die es so gut wie garnicht gibt. Über eine Re- Compilierung könnte man diese ggf. aber nutzbar machen.
Des weiteren wäre es auch eine interessante Sache, selbiges mit Browser-Plugins und Kernel- Modulen zu tun, die es nur als X86-Binary gibt.
> Oftmals hört man sogar die Behauptung, es sei strafbar, ein Closed-Source-Programm rückzuübersetzen.
Schau Dir einmal eine Lizensierung eines Kaufprogrammes genau an. Bei fast allen ist eine Klausel drin, die das Decompilieren verbietet. Und es ist nach Gesetzeslage strafbar.
Die Problematik ist ja gerade im Bereich der Treiberentwicklung teilweise dramatisch.
Was man privat macht geht niemanden was an, nur die Veröffentlichungen der Programme sollte man sich gut überlegen. Gilt auch von durch Decompilierung gewonnen Erkenntnisse. Da wird evtl. ein Anwalt schnell benötigt.
Offziell muss ja zb. Mircosoft in der EU Schnittstellen offenlegen. Also wäre damit das Thema theoretisch bald erledigt, oder glaubt das etwa jemand nicht ;-)
Gruß Peter
Das Disassemblieren und Decompilieren von CS Software ist in der Tat illegal, denn das überschreitet die Nutungsrechte, die dir die Lizenz einräumt. Fällt unters Urheberrecht.
Dein Plan x86 Binaries zu disassemblieren um PPC Binaries daraus zumachen wird in 99% der Fälle fehlschlagen, denn je nach Originalcompiler ist der Binärcode stark auf eine Architektur optimiertm und lässt sich nur schwer auf andere Architekturen portieren. Das Decompilieren ist ebenso sinnfrei. Einzige Ausnahme sind Bytecodes von Java und C#, die laufen aber uU auch direkt auf anderen Platformen :)
Ganz so einfach ist es leider nicht.
mfg
Malte
> Das Disassemblieren und Decompilieren von CS Software ist in der Tat illegal,
> denn das überschreitet die Nutungsrechte, die dir die Lizenz einräumt. Fällt
> unters Urheberrecht.
Hmm, das ist meiner Meinung nach so (in Deutschland) nicht richtig: Durch den Kauf einer Sacher erhalte ich das Nutzungsrecht. Das schliesst Decompilieren mit ein. Was in irgendeiner Datei/Text namesn Lizenz steht, ist in Deutschland komplett irrelevant: Damit so eine Lizenz wirksam würde, müßte Ihr der Käufer erst mal zustimmen. Das muß er aber nicht, denn das Nutzungsrecht hat er bereits alleine durch den Kauf erhalten. Es gilt natürlich das Urheberrecht. Aber wie soll das hier greifen? Solange ich aus dem Dekompilat (?) nicht in unerlaubter Art- und Weise kopiere, mache ich mich nicht strafbar. Und der Versuch, die Funktionsweise einer Software auf diese Weise zu ermitteln stellt für mich kein Kopieren dar.
Andere Meinungen?
Deine Meinung kann ich verstehen, nur ist jeder gut beraten sich an die leider trauige Gesetzeslage zu halten. Richtig ist der Hinweis das nicht alles was in Amerika Gesetz ist bei uns gilt. Aber ich würde es mit den Austesten nicht übertreiben, es könnte sonst teuer werden. MS ist noch stärker.
Gruß Peter
Gesetzeslage ist:
Lizenzen gibt es nur zwischen Gewerbetreibenden — dort kann man einen Liefervertrag über „Lizenzen” statt über Produkte schließen. Als Privatanwender kaufe ich niemals eine Lizenz, sondern immer ein Produkt. Die „Lizenzvereinbarung” ist damit Teil der AGB. AGBs müssen vor Abschluß des Kaufes vorliegen — also außen auf der Packung stehen. Deutsche Firmen beachten den 4. Punkt meist auch und sind damit auch bei uns rechtlich im Vorteil.
Jan