Seite 1 von 1

Cython Decompilieren

Verfasst: Dienstag 23. Oktober 2012, 11:38
von anogayales
Hallo liebe Community,

ich will einfach mal nachfragen wie einfach es ist in eine Cython Datei (*.pyd) zu dekompilieren. Es geht mir darum herauszufinden wie ein bestimmter Teil implementiert ist.

Grüße,
anogayales

Re: Cython Decompilieren

Verfasst: Dienstag 23. Oktober 2012, 14:33
von lunar
@anogayales Es ist unmöglich.

Re: Cython Decompilieren

Verfasst: Dienstag 23. Oktober 2012, 15:30
von anogayales
Schade. Danke trotzdem! "Assemblerbefehle" wird man sich zwar angucken können, aber das bringt mir leider nix.

Grüße,
anogayales

Re: Cython Decompilieren

Verfasst: Dienstag 23. Oktober 2012, 17:40
von BlackJack
@anogayales: Man wird sich Assemblerbefehle anschauen können und die Funktionsnamen in der Datei und die, die ausserhalb aufgerufen werden, sollten im Listing auch zu sehen sein. Die Bibliothek muss ja dynamisch gelinkt werden. Je nach dem wie komplex die Funktion ist, die Du anschauen möchtest, kann das schon hilfreich sein. Wenn ein wenig Assembler versteht.

Re: Cython Decompilieren

Verfasst: Dienstag 23. Oktober 2012, 17:42
von anogayales
Ist es möglich einzusehen, mit welchem Compiler bzw. für welches OS die pyd Datei kompilert wurde? Kann man Platform unabhängige pyds erstellen?

Aus der Doku:
The generated C code is portable and builds in all CPython versions from 2.3 to 3.2 inclusive.
Das heißt aber nicht, dass die pyd Datei portabel ist, sondern nur der C code, den man ja erst in eine pyd Datei kompilieren muss, oder?

@BlackJack: Gibts dafür gute Tools?

Grüße,
anogayales

Re: Cython Decompilieren

Verfasst: Dienstag 23. Oktober 2012, 19:00
von BlackJack
@anogayales: ``.pyd``\s sind für Windows. Die C-Module unter Linux haben üblicherweise die Endung ``.so``.

Ja, es gibt gute Tools.

Re: Cython Decompilieren

Verfasst: Dienstag 23. Oktober 2012, 22:49
von lunar
@anogayales "PYD"s, sprich allgemein native Erweiterungsmodule, enthalten plattformabhängigen Maschinencode. Deswegen ist es ja auch unmöglich, daraus wieder Cython-Quelltext zu gewinnen.