Je précise tout de suite que ce message n'est pas un troll.
Je suis mû par une honnête curiosité envers ce problème et
ai été *stupéfait* de voir qu'il existait des livres sur la
décompilation, p.ex. dans le monde windows.
Je pensais, à tort peut-être, que cela était interdit.
D'où ma question: quel est le statut légal de la décompilation
en France (et aux states) ?
(il me semble que le "reverse engineering" est utilisé par
les entreprises pour vérifier qu'il n'y a pas de violation
de brevets p.ex. ...)
La revue "MISC" avait traité le sujet il y a quelques années
mais n'avait pris pour exemple que le monde windows.
--> existe-t-il de la doc pour la décompilation sur Mac OS X ?
(si c'est légal évidemment !!)
Je précise que c'est la curiosité, le défi technique qui me motive
et pas l'envie de pirater à tout berzingue (ce dont je serai bien
incapable, dans l'état actuel de mes connaissances ... :-) )
Existe-t-il aussi des décompilateurs pour d'autres langages ? (C / C++ / Objective-C / Pascal, etc...)
D'avance MMerci pour ta réponse, Thierry
Franck
Thierry Mella wrote:
Existe-t-il aussi des décompilateurs pour d'autres langages ? (C / C++ / Objective-C / Pascal, etc...)
Sans doute.
Par contre le problème, c'est qu'un décompilateur pour un language ne suffit pas, il faut aussi qu'il soit adapté au compilateur qui a généré le binaire... En effet le code binaire généré pour du C++ par exemple, est différent si la compilation a été effectuée par gcc ou le compilo de Visual C++
Donc pour que le décompilateur retrouve ses petits, il faut qu'il soit adapté au language *et* au compilateur...
Thierry Mella wrote:
Existe-t-il aussi des décompilateurs pour d'autres langages ?
(C / C++ / Objective-C / Pascal, etc...)
Sans doute.
Par contre le problème, c'est qu'un décompilateur pour un language ne
suffit pas, il faut aussi qu'il soit adapté au compilateur qui a généré
le binaire... En effet le code binaire généré pour du C++ par exemple,
est différent si la compilation a été effectuée par gcc ou le compilo de
Visual C++
Donc pour que le décompilateur retrouve ses petits, il faut qu'il soit
adapté au language *et* au compilateur...
Existe-t-il aussi des décompilateurs pour d'autres langages ? (C / C++ / Objective-C / Pascal, etc...)
Sans doute.
Par contre le problème, c'est qu'un décompilateur pour un language ne suffit pas, il faut aussi qu'il soit adapté au compilateur qui a généré le binaire... En effet le code binaire généré pour du C++ par exemple, est différent si la compilation a été effectuée par gcc ou le compilo de Visual C++
Donc pour que le décompilateur retrouve ses petits, il faut qu'il soit adapté au language *et* au compilateur...
Vincent Lefevre
Dans l'article <1i6xfap.1fmp5bqf0s48wN%, Nicolas Seriot écrit:
Thierry Mella wrote:
D'où ma question: quel est le statut légal de la décompilation en France (et aux states) ?
Le procédé consistant à décompiler un exécutable n'a rien d'illégal.
Sauf si la licence l'interdit. Mais selon la loi française, la décompilation (et reverse engineering) est autorisée et ne peut pas être interdite sous certaines conditions, e.g. à des fins d'interopérabilité.
Dans l'article <1i6xfap.1fmp5bqf0s48wN%junk@seriot.ch>,
Nicolas Seriot <junk@seriot.ch> écrit:
Thierry Mella <thierry.mella@skynet.be> wrote:
D'où ma question: quel est le statut légal de la décompilation
en France (et aux states) ?
Le procédé consistant à décompiler un exécutable n'a rien d'illégal.
Sauf si la licence l'interdit. Mais selon la loi française, la
décompilation (et reverse engineering) est autorisée et ne peut
pas être interdite sous certaines conditions, e.g. à des fins
d'interopérabilité.
Dans l'article <1i6xfap.1fmp5bqf0s48wN%, Nicolas Seriot écrit:
Thierry Mella wrote:
D'où ma question: quel est le statut légal de la décompilation en France (et aux states) ?
Le procédé consistant à décompiler un exécutable n'a rien d'illégal.
Sauf si la licence l'interdit. Mais selon la loi française, la décompilation (et reverse engineering) est autorisée et ne peut pas être interdite sous certaines conditions, e.g. à des fins d'interopérabilité.
Le procédé consistant à décompiler un exécutable n'a rien d'illégal.
Sauf si la licence l'interdit. Mais selon la loi française, la décompilation (et reverse engineering) est autorisée et ne peut pas être interdite sous certaines conditions, e.g. à des fins d'interopérabilité.
Oui. Ce qui permet de rappeler que la license n'est pas la loi ; ce n'est pas parce qu'une clause figure dans une license qu'un tribunal doit la faire respecter.
Le procédé consistant à décompiler un exécutable n'a rien d'illégal.
Sauf si la licence l'interdit. Mais selon la loi française, la
décompilation (et reverse engineering) est autorisée et ne peut
pas être interdite sous certaines conditions, e.g. à des fins
d'interopérabilité.
Oui. Ce qui permet de rappeler que la license n'est pas la loi ; ce
n'est pas parce qu'une clause figure dans une license qu'un tribunal
doit la faire respecter.
Le procédé consistant à décompiler un exécutable n'a rien d'illégal.
Sauf si la licence l'interdit. Mais selon la loi française, la décompilation (et reverse engineering) est autorisée et ne peut pas être interdite sous certaines conditions, e.g. à des fins d'interopérabilité.
Oui. Ce qui permet de rappeler que la license n'est pas la loi ; ce n'est pas parce qu'une clause figure dans une license qu'un tribunal doit la faire respecter.
Oui. Ce qui permet de rappeler que la license n'est pas la loi ; ce n'est pas parce qu'une clause figure dans une license qu'un tribunal doit la faire respecter.
et ce n'est pas parce qu'on a rompu le scotch qui scelle le CD que tous les alineéa de la licence s'appliquent et ce n'est pas parce qu'on a cliqué sur "j'accepte" le contrat de licence qu'on est obligé de le respecter.
En France, pour l'instant, la loi reste supérieure au contrat, meme si notre bien aimé Nicolas essaie de s'y attaquer. -- www.D-L-S.org
Nicolas Seriot <junk@seriot.ch> wrote:
Oui. Ce qui permet de rappeler que la license n'est pas la loi ; ce
n'est pas parce qu'une clause figure dans une license qu'un tribunal
doit la faire respecter.
et ce n'est pas parce qu'on a rompu le scotch qui scelle le CD que tous
les alineéa de la licence s'appliquent
et ce n'est pas parce qu'on a cliqué sur "j'accepte" le contrat de
licence qu'on est obligé de le respecter.
En France, pour l'instant, la loi reste supérieure au contrat, meme si
notre bien aimé Nicolas essaie de s'y attaquer.
--
www.D-L-S.org
Oui. Ce qui permet de rappeler que la license n'est pas la loi ; ce n'est pas parce qu'une clause figure dans une license qu'un tribunal doit la faire respecter.
et ce n'est pas parce qu'on a rompu le scotch qui scelle le CD que tous les alineéa de la licence s'appliquent et ce n'est pas parce qu'on a cliqué sur "j'accepte" le contrat de licence qu'on est obligé de le respecter.
En France, pour l'instant, la loi reste supérieure au contrat, meme si notre bien aimé Nicolas essaie de s'y attaquer. -- www.D-L-S.org
Anthony Gelibert
On 2007-11-05 09:16:28 +0100, Franck <franck+ said:
Thierry Mella wrote:
Existe-t-il aussi des décompilateurs pour d'autres langages ? (C / C++ / Objective-C / Pascal, etc...)
Sans doute.
Par contre le problème, c'est qu'un décompilateur pour un language ne suffit pas, il faut aussi qu'il soit adapté au compilateur qui a généré le binaire... En effet le code binaire généré pour du C++ par exemple, est différent si la compilation a été effectuée par gcc ou le compilo de Visual C++
Donc pour que le décompilateur retrouve ses petits, il faut qu'il soit adapté au language *et* au compilateur...
Tout dépends ce que tu appelle décompilation, si la décompilation c'est le passage : binaire -> code source alors tu ne peux le faire que sur des langages le permettant, Java est un bon exemple car la génération qui est faite est celle d'un bytecode (et non de l'assembleur pur) ce qui permet de le reverser. Il en est de même pour tous les languages interprété ou tournant sur des machines virtuels. binaire -> assembleur alors tu peux le faire sur n'importe quel binaire dans la mesure ou tu vas obtenir l'ensemble de toutes les instruction assembleurs et que cela ne dépends pas du language. Quelque soit le language utilisé et le compilateur, tu vas arriver à un binaire avec des sections bien définis et une partie contenant le code en assembleur.
On 2007-11-05 09:16:28 +0100, Franck <franck+news@_remove_apoal.com> said:
Thierry Mella wrote:
Existe-t-il aussi des décompilateurs pour d'autres langages ?
(C / C++ / Objective-C / Pascal, etc...)
Sans doute.
Par contre le problème, c'est qu'un décompilateur pour un language ne
suffit pas, il faut aussi qu'il soit adapté au compilateur qui a généré
le binaire... En effet le code binaire généré pour du C++ par exemple,
est différent si la compilation a été effectuée par gcc ou le compilo de
Visual C++
Donc pour que le décompilateur retrouve ses petits, il faut qu'il soit
adapté au language *et* au compilateur...
Tout dépends ce que tu appelle décompilation, si la décompilation c'est
le passage :
binaire -> code source alors tu ne peux le faire que sur des langages
le permettant, Java est un bon exemple car la génération qui est faite
est celle d'un bytecode (et non de l'assembleur pur) ce qui permet de
le reverser. Il en est de même pour tous les languages interprété ou
tournant sur des machines virtuels.
binaire -> assembleur alors tu peux le faire sur n'importe quel binaire
dans la mesure ou tu vas obtenir l'ensemble de toutes les instruction
assembleurs et que cela ne dépends pas du language. Quelque soit le
language utilisé et le compilateur, tu vas arriver à un binaire avec
des sections bien définis et une partie contenant le code en assembleur.
On 2007-11-05 09:16:28 +0100, Franck <franck+ said:
Thierry Mella wrote:
Existe-t-il aussi des décompilateurs pour d'autres langages ? (C / C++ / Objective-C / Pascal, etc...)
Sans doute.
Par contre le problème, c'est qu'un décompilateur pour un language ne suffit pas, il faut aussi qu'il soit adapté au compilateur qui a généré le binaire... En effet le code binaire généré pour du C++ par exemple, est différent si la compilation a été effectuée par gcc ou le compilo de Visual C++
Donc pour que le décompilateur retrouve ses petits, il faut qu'il soit adapté au language *et* au compilateur...
Tout dépends ce que tu appelle décompilation, si la décompilation c'est le passage : binaire -> code source alors tu ne peux le faire que sur des langages le permettant, Java est un bon exemple car la génération qui est faite est celle d'un bytecode (et non de l'assembleur pur) ce qui permet de le reverser. Il en est de même pour tous les languages interprété ou tournant sur des machines virtuels. binaire -> assembleur alors tu peux le faire sur n'importe quel binaire dans la mesure ou tu vas obtenir l'ensemble de toutes les instruction assembleurs et que cela ne dépends pas du language. Quelque soit le language utilisé et le compilateur, tu vas arriver à un binaire avec des sections bien définis et une partie contenant le code en assembleur.
Patrick V
Thierry Mella a écrit :
Je suis mû par une honnête curiosité envers ce problème et ai été *stupéfait* de voir qu'il existait des livres sur la décompilation, p.ex. dans le monde windows.
Je pensais, à tort peut-être, que cela était interdit.
D'où ma question: quel est le statut légal de la décompilation en France (et aux states) ?
La question eut été plus à sa place sur fr.misc.droit vers lequel je redirige (pour la partie légale).
En Europe, la décompilation à fins d'interopérabilité - uniquement pour cela et s'il n'est pas possible de trouver l'information autrement - est explicitement autorisée par la directive 91/250/CEE du 14 mai 1991 concernant la protection juridique des programmes d'ordinateur (cf article 6). Elle ne peut être faite que par une personne ayant légalement accès au programme.
Aux USA, je ne saurais dire si il y a une loi fédérale, mais il est certain qu'il y a eu des condamnations sanctionnant des décompilations.
A noter que le fait que ce soit explicitement autorisé dans certains cas par une directive ne veut pas dire que c'est interdit dans les autres cas. Faute de texte européen, ça va dépendre des lois nationales.
En France, je ne vois pas ce qui l'interdirait, à part la licence.
(il me semble que le "reverse engineering" est utilisé par les entreprises pour vérifier qu'il n'y a pas de violation de brevets p.ex. ...)
De mémoire, il y avait eu un gros cas comme ça aux USA, mais je ne me rappelle plus quelles sociétés (il me semble que le méchant était Microsoft) : une société A avait prouvé une violation de brevet par B en décompilant, porté l'affaire en justice, suite à quoi B avait été lourdement condamnée à rembourser A mais A avait été aussi condamnée - bien plus légèrement - à rembourser B pour avoir décompilé.
Thierry Mella a écrit :
Je suis mû par une honnête curiosité envers ce problème et
ai été *stupéfait* de voir qu'il existait des livres sur la
décompilation, p.ex. dans le monde windows.
Je pensais, à tort peut-être, que cela était interdit.
D'où ma question: quel est le statut légal de la décompilation
en France (et aux states) ?
La question eut été plus à sa place sur fr.misc.droit vers lequel je
redirige (pour la partie légale).
En Europe, la décompilation à fins d'interopérabilité - uniquement pour
cela et s'il n'est pas possible de trouver l'information autrement - est
explicitement autorisée par la directive 91/250/CEE du 14 mai 1991
concernant la protection juridique des programmes d'ordinateur (cf
article 6). Elle ne peut être faite que par une personne ayant
légalement accès au programme.
Aux USA, je ne saurais dire si il y a une loi fédérale, mais il est
certain qu'il y a eu des condamnations sanctionnant des décompilations.
A noter que le fait que ce soit explicitement autorisé dans certains cas
par une directive ne veut pas dire que c'est interdit dans les autres
cas. Faute de texte européen, ça va dépendre des lois nationales.
En France, je ne vois pas ce qui l'interdirait, à part la licence.
(il me semble que le "reverse engineering" est utilisé par
les entreprises pour vérifier qu'il n'y a pas de violation
de brevets p.ex. ...)
De mémoire, il y avait eu un gros cas comme ça aux USA, mais je ne me
rappelle plus quelles sociétés (il me semble que le méchant était
Microsoft) : une société A avait prouvé une violation de brevet par B en
décompilant, porté l'affaire en justice, suite à quoi B avait été
lourdement condamnée à rembourser A mais A avait été aussi condamnée -
bien plus légèrement - à rembourser B pour avoir décompilé.
Je suis mû par une honnête curiosité envers ce problème et ai été *stupéfait* de voir qu'il existait des livres sur la décompilation, p.ex. dans le monde windows.
Je pensais, à tort peut-être, que cela était interdit.
D'où ma question: quel est le statut légal de la décompilation en France (et aux states) ?
La question eut été plus à sa place sur fr.misc.droit vers lequel je redirige (pour la partie légale).
En Europe, la décompilation à fins d'interopérabilité - uniquement pour cela et s'il n'est pas possible de trouver l'information autrement - est explicitement autorisée par la directive 91/250/CEE du 14 mai 1991 concernant la protection juridique des programmes d'ordinateur (cf article 6). Elle ne peut être faite que par une personne ayant légalement accès au programme.
Aux USA, je ne saurais dire si il y a une loi fédérale, mais il est certain qu'il y a eu des condamnations sanctionnant des décompilations.
A noter que le fait que ce soit explicitement autorisé dans certains cas par une directive ne veut pas dire que c'est interdit dans les autres cas. Faute de texte européen, ça va dépendre des lois nationales.
En France, je ne vois pas ce qui l'interdirait, à part la licence.
(il me semble que le "reverse engineering" est utilisé par les entreprises pour vérifier qu'il n'y a pas de violation de brevets p.ex. ...)
De mémoire, il y avait eu un gros cas comme ça aux USA, mais je ne me rappelle plus quelles sociétés (il me semble que le méchant était Microsoft) : une société A avait prouvé une violation de brevet par B en décompilant, porté l'affaire en justice, suite à quoi B avait été lourdement condamnée à rembourser A mais A avait été aussi condamnée - bien plus légèrement - à rembourser B pour avoir décompilé.