Cryptage et package d'un *.exe (interdiction de faire du reverse enginering et de savoir avec quoi on l'a programmé...?)
100 réponses
testor
Cryptage et package d'un logiciel (interdiction de faire du reverse
enginering et de savoir avec quoi on l'a programmé...?)
Est ce quelqun connait le meilleur logiciel (gratuit si possible) qui
permette de crypter et d'empackter un executable windows?
Je m'explique; Lorsque j'ai fait un peu d'assambleur, j'ai apris qu'il
existait des logiciels qui enpactent et cryptent les executables windows
(affin qu'on ne puisse pas faire de l'inverse-enginering decus, et ne
pas pouvoir savoir avec quel logiciel le programmeur a pu programmer)
(un peu comme un des logiciels qu'a fait Yoda(je ne me rappelle
malheuresement pas du nom du logiciel))
J'aimerais que vous m'indiquez un bon logiciel (libre d'utilisation si
possible) qui puisse me permettre de crypter un executable affin qu'on
ne puisse pas savoir avec quel logiciel j'ai pu developper. Ca serait
très aimable a vous.
NB:Ce serait pour faire un logiciel moi meme (en VC++6 par ex), mais
j'ai peur que si je le diffuse librement, on puisse me reprocher de ne
pas avoir une lissence du compilateur..; :(
Cela étant, j'ai du mal à comprendre tes motivations, si tu fais du libre, pourquoi t'emmerder à protéger ton programme ???
Attention : ce n'est pas parcequ'on code sous linux qu'on est obligé de faire du libre !
Arnaud Debaene
T.P. wrote:
AMcD® a écrit :
Cela étant, j'ai du mal à comprendre tes motivations, si tu fais du libre, pourquoi t'emmerder à protéger ton programme ???
Attention : ce n'est pas parcequ'on code sous linux qu'on est obligé de faire du libre !
Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous license GPL, qui précise que tout logiciel utilisant un autre logiciel ou librairie GPL ne peut être distribué que sous license GPL également (donc avec ses sources). Et comme il est quasiment impossible d'écrire un programme sous Linux sans appeler une librairie de Linux (de même qu'il est impossible de programmer quoi que ce soit sous Windows sans appeler Win32), tout logiciel sous Linux est "de facto" sous license GPL.
C'est là que la notion de "libre" est très relative : la license GPL est l'une des plus restrictives qui soit! Je pense que c'est d'ailleurs parfaitement voulu, mais ca correspond plus à une opinion politique (voire à de l'activisme...) qu'à autre chose. Heureusement, il existe des licenses plus "soft" dans le monde libre, comme la LGPL (qui autorise à utiliser une librairie LGPL dans un soft "commercial"), ou la license de Boost par exemple....
Arnaud
T.P. wrote:
AMcD® a écrit :
Cela étant, j'ai du mal à comprendre tes motivations, si tu fais du
libre, pourquoi t'emmerder à protéger ton programme ???
Attention : ce n'est pas parcequ'on code sous linux qu'on est obligé
de faire du libre !
Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous
license GPL, qui précise que tout logiciel utilisant un autre logiciel ou
librairie GPL ne peut être distribué que sous license GPL également (donc
avec ses sources). Et comme il est quasiment impossible d'écrire un
programme sous Linux sans appeler une librairie de Linux (de même qu'il est
impossible de programmer quoi que ce soit sous Windows sans appeler Win32),
tout logiciel sous Linux est "de facto" sous license GPL.
C'est là que la notion de "libre" est très relative : la license GPL est
l'une des plus restrictives qui soit! Je pense que c'est d'ailleurs
parfaitement voulu, mais ca correspond plus à une opinion politique (voire à
de l'activisme...) qu'à autre chose.
Heureusement, il existe des licenses plus "soft" dans le monde libre, comme
la LGPL (qui autorise à utiliser une librairie LGPL dans un soft
"commercial"), ou la license de Boost par exemple....
Cela étant, j'ai du mal à comprendre tes motivations, si tu fais du libre, pourquoi t'emmerder à protéger ton programme ???
Attention : ce n'est pas parcequ'on code sous linux qu'on est obligé de faire du libre !
Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous license GPL, qui précise que tout logiciel utilisant un autre logiciel ou librairie GPL ne peut être distribué que sous license GPL également (donc avec ses sources). Et comme il est quasiment impossible d'écrire un programme sous Linux sans appeler une librairie de Linux (de même qu'il est impossible de programmer quoi que ce soit sous Windows sans appeler Win32), tout logiciel sous Linux est "de facto" sous license GPL.
C'est là que la notion de "libre" est très relative : la license GPL est l'une des plus restrictives qui soit! Je pense que c'est d'ailleurs parfaitement voulu, mais ca correspond plus à une opinion politique (voire à de l'activisme...) qu'à autre chose. Heureusement, il existe des licenses plus "soft" dans le monde libre, comme la LGPL (qui autorise à utiliser une librairie LGPL dans un soft "commercial"), ou la license de Boost par exemple....
Arnaud
T.P.
Arnaud Debaene a écrit :
avec ses sources). Et comme il est quasiment impossible d'écrire un programme sous Linux sans appeler une librairie de Linux (de même qu'il est
Pour la majorité des librairies de base, l'en-tête des headers précise bien : "THIS SOFTWARE IS NOT COPYRIGHTED ... This source code is offered for use in the public domain. You may use, modify or distribute it freely." Ca a l'air clair, non ?
Comme vous le précisez, il existe aussi la licence amoindrie LGPL qui s'applique à beacoup de librairies qui peuvent être utilisées dans des logiciels commerciaux. Vous pouvez par exemple utiliser le kit GTK+ pour les interfaces graphiques de logiciels sous licence commerciale. La seule contrainte est de les utiliser comme librairies dynamiques, sans les inclure à votre code.
Vous tentez de faire de la désinformation ?
Arnaud Debaene a écrit :
avec ses sources). Et comme il est quasiment impossible d'écrire un
programme sous Linux sans appeler une librairie de Linux (de même qu'il est
Pour la majorité des librairies de base, l'en-tête des headers précise
bien :
"THIS SOFTWARE IS NOT COPYRIGHTED ... This source code is offered for
use in the public domain. You may use, modify or distribute it freely."
Ca a l'air clair, non ?
Comme vous le précisez, il existe aussi la licence amoindrie LGPL qui
s'applique à beacoup de librairies qui peuvent être utilisées dans des
logiciels commerciaux. Vous pouvez par exemple utiliser le kit GTK+ pour
les interfaces graphiques de logiciels sous licence commerciale.
La seule contrainte est de les utiliser comme librairies dynamiques,
sans les inclure à votre code.
avec ses sources). Et comme il est quasiment impossible d'écrire un programme sous Linux sans appeler une librairie de Linux (de même qu'il est
Pour la majorité des librairies de base, l'en-tête des headers précise bien : "THIS SOFTWARE IS NOT COPYRIGHTED ... This source code is offered for use in the public domain. You may use, modify or distribute it freely." Ca a l'air clair, non ?
Comme vous le précisez, il existe aussi la licence amoindrie LGPL qui s'applique à beacoup de librairies qui peuvent être utilisées dans des logiciels commerciaux. Vous pouvez par exemple utiliser le kit GTK+ pour les interfaces graphiques de logiciels sous licence commerciale. La seule contrainte est de les utiliser comme librairies dynamiques, sans les inclure à votre code.
Vous tentez de faire de la désinformation ?
T.P.
Alexandre a écrit :
et bien soit tu le développes avec un logiciel libre, soit tu te payes la licence de VC++. Soit logique : si le logiciel libre c'est top, et alors n'utilises pas de produit commercial, surtout pas un compilateur du vilain méchant MS ;-) C'est vrai que se palucher un programme complet avec gcc, c'est moins facile qu'avec un IDE et un framework (même pourri).
Rien n'empèche de coder le truc sous visual, de compiler avec visual, et pour la release d'écrire un joli Makefile et de compiler avec gcc. Personne ne le saura.
Alexandre a écrit :
et bien soit tu le développes avec un logiciel libre, soit tu te payes la
licence de VC++. Soit logique : si le logiciel libre c'est top, et alors
n'utilises pas de produit commercial, surtout pas un compilateur du vilain
méchant MS ;-)
C'est vrai que se palucher un programme complet avec gcc, c'est moins facile
qu'avec un IDE et un framework (même pourri).
Rien n'empèche de coder le truc sous visual, de compiler avec visual, et
pour la release d'écrire un joli Makefile et de compiler avec gcc.
Personne ne le saura.
et bien soit tu le développes avec un logiciel libre, soit tu te payes la licence de VC++. Soit logique : si le logiciel libre c'est top, et alors n'utilises pas de produit commercial, surtout pas un compilateur du vilain méchant MS ;-) C'est vrai que se palucher un programme complet avec gcc, c'est moins facile qu'avec un IDE et un framework (même pourri).
Rien n'empèche de coder le truc sous visual, de compiler avec visual, et pour la release d'écrire un joli Makefile et de compiler avec gcc. Personne ne le saura.
adebaene
T.P. a écrit :
Vous tentez de faire de la désinformation ?
Je cite la GPL telle quelle :
<quote> The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language
<snip>
You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: <snip> b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
</quote>
C'est clair il me semble non? Effectivement, certaines librairies ne sont pas sous GPL, mais ce n'est pas le cas de la majorité du runtime Linux....
Arnaud
T.P. a écrit :
Vous tentez de faire de la désinformation ?
Je cite la GPL telle quelle :
<quote>
The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language
<snip>
You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
<snip>
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
</quote>
C'est clair il me semble non? Effectivement, certaines librairies ne
sont pas sous GPL, mais ce n'est pas le cas de la majorité du runtime
Linux....
<quote> The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language
<snip>
You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: <snip> b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
</quote>
C'est clair il me semble non? Effectivement, certaines librairies ne sont pas sous GPL, mais ce n'est pas le cas de la majorité du runtime Linux....
Arnaud
adebaene
Jseb a écrit :
>Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous >license GPL, qui précise que tout logiciel utilisant un autre logiciel ou >librairie GPL ne peut être distribué que sous license GPL égalemen t (donc >avec ses sources). Et comme il est quasiment impossible d'écrire un >programme sous Linux sans appeler une librairie de Linux (de même qu'i l est
C'est intéressant ce que tu dis, mais je ne pense pas qu'un programme utilisant une librairie de linux (donc, un binaire) doive automatiquement être distribué avec ses sources. La redistribution serait de rigueur si l'on désirait utiliser un bout des sources de linux dans son propre programme.
Relis la GPL, et compares avec la LGPL, tu verras bien :-) Je cite d'ailleurs l'introduction de la LGPL : <quote> When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. <snip> However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. </quote>
Autrement dit, il est interdit à un programme "non-free" d'utiliser une librairie sous licence GPL...
Heureusement d'ailleurs, je ne vois pas l'interet de forcer les gens qui n'ont pas envie de donner leurs sources à le faire.
C'est pourant exactement ce que fait la GPL....
Arnaud
Jseb a écrit :
>Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous
>license GPL, qui précise que tout logiciel utilisant un autre logiciel ou
>librairie GPL ne peut être distribué que sous license GPL égalemen t (donc
>avec ses sources). Et comme il est quasiment impossible d'écrire un
>programme sous Linux sans appeler une librairie de Linux (de même qu'i l est
C'est intéressant ce que tu dis, mais je ne pense pas qu'un programme
utilisant une librairie de linux (donc, un binaire) doive
automatiquement être distribué avec ses sources.
La redistribution serait de rigueur si l'on désirait utiliser un bout
des sources de linux dans son propre programme.
Relis la GPL, et compares avec la LGPL, tu verras bien :-)
Je cite d'ailleurs l'introduction de la LGPL :
<quote>
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
<snip>
However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it
becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library.
</quote>
Autrement dit, il est interdit à un programme "non-free" d'utiliser
une librairie sous licence GPL...
Heureusement d'ailleurs, je ne vois pas l'interet de forcer les gens
qui n'ont pas envie de donner leurs sources à le faire.
>Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous >license GPL, qui précise que tout logiciel utilisant un autre logiciel ou >librairie GPL ne peut être distribué que sous license GPL égalemen t (donc >avec ses sources). Et comme il est quasiment impossible d'écrire un >programme sous Linux sans appeler une librairie de Linux (de même qu'i l est
C'est intéressant ce que tu dis, mais je ne pense pas qu'un programme utilisant une librairie de linux (donc, un binaire) doive automatiquement être distribué avec ses sources. La redistribution serait de rigueur si l'on désirait utiliser un bout des sources de linux dans son propre programme.
Relis la GPL, et compares avec la LGPL, tu verras bien :-) Je cite d'ailleurs l'introduction de la LGPL : <quote> When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. <snip> However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. </quote>
Autrement dit, il est interdit à un programme "non-free" d'utiliser une librairie sous licence GPL...
Heureusement d'ailleurs, je ne vois pas l'interet de forcer les gens qui n'ont pas envie de donner leurs sources à le faire.
C'est pourant exactement ce que fait la GPL....
Arnaud
T.P.
a écrit : (...)
Moi aussi je cite alors : (http://www.gnu.org/gnu/thegnuproject.fr.html) "La GNU Library GPL, ou licence publique générale de GNU pour les bibliothèques
La bibliothèque du langage C du projet GNU fait appel à un gauche d'auteur particulier, appelé la GNU Library General Public License (1) (licence publique générale de GNU pour les bibliothèques, ou GNU LGPL), qui autorise la liaison de logiciel propriétaire avec la bibliothèque. Pourquoi une telle exception? Ce n'est pas une question de principe; aucun principe ne dicte que les logiciels propriétaires ont le droit de contenir notre code (pourquoi contribuer à un projet qui affirme refuser de partager avec nous?). L'utilisation de la LGPL dans le cadre de la bibliothèque du langage C, ou de toute autre bibliothèque, est un choix stratégique. La bibliothèque du langage C joue un rôle générique ; tout système propriétaire, tout compilateur, dispose d'une bibliothèque du langage C. C'est pourquoi limiter l'utilisation de notre bibliothèque du langage C au logiciel libre n'aurait donné aucun avantage au logiciel libre - cela n'aurait eu pour effet que de décourager l'utilisation de notre bibliothèque. (...) "
adebaene@club-internet.fr a écrit :
(...)
Moi aussi je cite alors : (http://www.gnu.org/gnu/thegnuproject.fr.html)
"La GNU Library GPL, ou licence publique générale de GNU pour les
bibliothèques
La bibliothèque du langage C du projet GNU fait appel à un gauche
d'auteur particulier, appelé la GNU Library General Public License (1)
(licence publique générale de GNU pour les bibliothèques, ou GNU LGPL),
qui autorise la liaison de logiciel propriétaire avec la bibliothèque.
Pourquoi une telle exception?
Ce n'est pas une question de principe; aucun principe ne dicte que les
logiciels propriétaires ont le droit de contenir notre code (pourquoi
contribuer à un projet qui affirme refuser de partager avec nous?).
L'utilisation de la LGPL dans le cadre de la bibliothèque du langage C,
ou de toute autre bibliothèque, est un choix stratégique.
La bibliothèque du langage C joue un rôle générique ; tout système
propriétaire, tout compilateur, dispose d'une bibliothèque du langage C.
C'est pourquoi limiter l'utilisation de notre bibliothèque du langage C
au logiciel libre n'aurait donné aucun avantage au logiciel libre - cela
n'aurait eu pour effet que de décourager l'utilisation de notre
bibliothèque.
(...)
"
Moi aussi je cite alors : (http://www.gnu.org/gnu/thegnuproject.fr.html) "La GNU Library GPL, ou licence publique générale de GNU pour les bibliothèques
La bibliothèque du langage C du projet GNU fait appel à un gauche d'auteur particulier, appelé la GNU Library General Public License (1) (licence publique générale de GNU pour les bibliothèques, ou GNU LGPL), qui autorise la liaison de logiciel propriétaire avec la bibliothèque. Pourquoi une telle exception? Ce n'est pas une question de principe; aucun principe ne dicte que les logiciels propriétaires ont le droit de contenir notre code (pourquoi contribuer à un projet qui affirme refuser de partager avec nous?). L'utilisation de la LGPL dans le cadre de la bibliothèque du langage C, ou de toute autre bibliothèque, est un choix stratégique. La bibliothèque du langage C joue un rôle générique ; tout système propriétaire, tout compilateur, dispose d'une bibliothèque du langage C. C'est pourquoi limiter l'utilisation de notre bibliothèque du langage C au logiciel libre n'aurait donné aucun avantage au logiciel libre - cela n'aurait eu pour effet que de décourager l'utilisation de notre bibliothèque. (...) "
Sylvain Collange
Arnaud Debaene wrote: >
Attention : ce n'est pas parcequ'on code sous linux qu'on est obligé de faire du libre !
Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous license GPL, qui précise que tout logiciel utilisant un autre logiciel ou librairie GPL ne peut être distribué que sous license GPL également (donc avec ses sources). Et comme il est quasiment impossible d'écrire un programme sous Linux sans appeler une librairie de Linux (de même qu'il est impossible de programmer quoi que ce soit sous Windows sans appeler Win32), tout logiciel sous Linux est "de facto" sous license GPL.
Pourquoi? Le fait qu'un programme *utilise* une bibliothèque n'en fait pas un "derivative work". Par contre, si on veut distribuer la bibliothèque avec son programme, là la GPL s'applique et il faut publier ses sources (d'où l'intéret de la LGPL).
Sinon, un client IE qui se connecte à un serveur web sous Linux serait aussi concerné, puisqu'il *utilise* un programme sous license GPL ;-) (sérieusement, je ne vois pas de différence fondamentale entre un appel direct à une API et une communication réseau...).
-- Sylvain
Arnaud Debaene wrote:
>
Attention : ce n'est pas parcequ'on code sous linux qu'on est obligé
de faire du libre !
Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous
license GPL, qui précise que tout logiciel utilisant un autre logiciel ou
librairie GPL ne peut être distribué que sous license GPL également (donc
avec ses sources). Et comme il est quasiment impossible d'écrire un
programme sous Linux sans appeler une librairie de Linux (de même qu'il est
impossible de programmer quoi que ce soit sous Windows sans appeler Win32),
tout logiciel sous Linux est "de facto" sous license GPL.
Pourquoi? Le fait qu'un programme *utilise* une bibliothèque n'en fait
pas un "derivative work". Par contre, si on veut distribuer la
bibliothèque avec son programme, là la GPL s'applique et il faut publier
ses sources (d'où l'intéret de la LGPL).
Sinon, un client IE qui se connecte à un serveur web sous Linux serait
aussi concerné, puisqu'il *utilise* un programme sous license GPL ;-)
(sérieusement, je ne vois pas de différence fondamentale entre un appel
direct à une API et une communication réseau...).
Attention : ce n'est pas parcequ'on code sous linux qu'on est obligé de faire du libre !
Si tu tiens à être dans la loi, si, tu es quasiment obligé : Linux est sous license GPL, qui précise que tout logiciel utilisant un autre logiciel ou librairie GPL ne peut être distribué que sous license GPL également (donc avec ses sources). Et comme il est quasiment impossible d'écrire un programme sous Linux sans appeler une librairie de Linux (de même qu'il est impossible de programmer quoi que ce soit sous Windows sans appeler Win32), tout logiciel sous Linux est "de facto" sous license GPL.
Pourquoi? Le fait qu'un programme *utilise* une bibliothèque n'en fait pas un "derivative work". Par contre, si on veut distribuer la bibliothèque avec son programme, là la GPL s'applique et il faut publier ses sources (d'où l'intéret de la LGPL).
Sinon, un client IE qui se connecte à un serveur web sous Linux serait aussi concerné, puisqu'il *utilise* un programme sous license GPL ;-) (sérieusement, je ne vois pas de différence fondamentale entre un appel direct à une API et une communication réseau...).
-- Sylvain
T.P.
a écrit :
Autrement dit, il est interdit à un programme "non-free" d'utiliser une librairie sous licence GPL...
Arnaud
Ca parle de dérivé de librairie...
Si on lit un peu plus haut : "Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs."
adebaene@club-internet.fr a écrit :
Autrement dit, il est interdit à un programme "non-free" d'utiliser
une librairie sous licence GPL...
Arnaud
Ca parle de dérivé de librairie...
Si on lit un peu plus haut :
"Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs."
Autrement dit, il est interdit à un programme "non-free" d'utiliser une librairie sous licence GPL...
Arnaud
Ca parle de dérivé de librairie...
Si on lit un peu plus haut : "Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs."