Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

reverse-engineering et python

23 réponses
Avatar
Titouille
Bonjour !!

J'aimerai savoir... Quel est la fiabilité des fichiers pyc ?? est-il
tout simplement possible de faire du retro-engineering pour récupérer un
fichier py lisible ?? ou bien est-ce une action difficile ou impossible ??

Merci pour vos réponses


Thierry

10 réponses

1 2 3
Avatar
JB Richet
Bonjour !!
salut,


J'aimerai savoir... Quel est la fiabilité des fichiers pyc ?? est-il
tout simplement possible de faire du retro-engineering pour récupérer un
fichier py lisible ?? ou bien est-ce une action difficile ou impossible ??
j'ai entendu parler d'un module qui permet de décompiler les fichiers

pyc. je sais plus comment il s'appelle, et a fortiori je ne l'ai jamais
essayé.

Merci pour vos réponses
la mienne n'est pas très précise, mais si elle peut aider...

JBR

Avatar
JB Richet

j'ai entendu parler d'un module qui permet de décompiler les fichiers
pyc. je sais plus comment il s'appelle, et a fortiori je ne l'ai jamais
essayé.
j'ai retrouvé depuis http://www.vex.net/parnassus/

il s'agit de decompyle
http://www.crazy-compilers.com/decompyle/

visiblement, ce n'est pas un outil libre, mais un service payant. enfin,
ça existe.
JBR

Avatar
Do Re Mi chel La Si Do
Bonjour !

Il faut aussi noter que, si l'on ne laisse que les fichiers .pyc ou .pyo, on
perdra également certaines fonctionnalités. Par exemple, le module inspect
ne pourra plus travailler complètement. Avec les fichiers .pyo, fait avec
l'option -OO, certaines docstrings peuvent également disparaîtrent.

@-salutations
--
Michel Claveau
Avatar
bruno modulix
Titouille wrote:
Bonjour !!

J'aimerai savoir... Quel est la fiabilité des fichiers pyc ?? est-il
tout simplement possible de faire du retro-engineering pour récupérer un
fichier py lisible ?? ou bien est-ce une action difficile ou impossible ??


Je ne vois pas le rapport avec la fiabilité ? Les *.pyc ont pour but
d'éviter une recompilation systématique à chaque exécution, pas de
protéger le code source.


--
bruno desthuilliers
ruby -e "print ''.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
--

Avatar
Titouille

Je ne vois pas le rapport avec la fiabilité ? Les *.pyc ont pour but
d'éviter une recompilation systématique à chaque exécution, pas de
protéger le code source.



j'apprend, j'apprend :)

et donc, y a-t-il un moyen de protéger son code source python, ou bien
est-ce une abbération d'y songer ??



merci pour vos réponses ;)

Avatar
Wilk
Titouille writes:

Je ne vois pas le rapport avec la fiabilité ? Les *.pyc ont pour but
d'éviter une recompilation systématique à chaque exécution, pas de
protéger le code source.



j'apprend, j'apprend :)

et donc, y a-t-il un moyen de protéger son code source python, ou bien
est-ce une abbération d'y songer ??


C'est une abbération, mais pas plus en python qu'en un autre langage...
Pour deux raisons moultes fois évoquées :
- Ca ne sert généralement à rien
- C'est de toutes façon impossible à 100% quelque soit le langage

Si c'est pour des raisons de sécurité il vaut mieux ne pas rendre le
programme accessible du tout, c'est à dire le placer sur un serveur et
n'y accéder qu'a travers un client (c'est ce que tu compte faire en plus
non ?)

--
William - http://flibuste.net


Avatar
bruno modulix
Titouille wrote:


Je ne vois pas le rapport avec la fiabilité ? Les *.pyc ont pour but
d'éviter une recompilation systématique à chaque exécution, pas de
protéger le code source.



j'apprend, j'apprend :)

et donc, y a-t-il un moyen de protéger son code source python, ou bien
est-ce une abbération d'y songer ??


La même question se pose pour tous les logiciels, quelque soit le
langage (et son implémentation). L'expérience prouve qu'il est illusoire
de vouloir protéger son code par des moyens 'techniques' tels que
obfuscation, dongle etc. Il n'y a qu'à voire le nombre de cracks qui
circulent pour s'en convaincre. En clair, si tes 'utilisateurs' sont
susceptibles de faire de l'ingénierie inverse sur des fichiers .pyc pour
te faucher ton boulot, ils trouveront moyen de le faire même si tu leur
livrais du code machine pur et dur.

Bref, la solution - si problème il y a [1]- est probablement ailleurs.

J'ajoute que c'est un sujet déjà largement débattu ici, et qu'une
recherche via google devrait donner pas mal de réponses !-)

[1] : quelles sont les risques réels que quelqu'un veuille cracker ton
appli, et quelles seraient les conséquences réelles si c'était le cas ?

--
bruno desthuilliers
ruby -e "print ''.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
--


Avatar
noone
Titouille wrote:
Bonjour !!

J'aimerai savoir... Quel est la fiabilité des fichiers pyc ?? est-il
tout simplement possible de faire du retro-engineering pour récupérer un
fichier py lisible ?? ou bien est-ce une action difficile ou impossible ??

Merci pour vos réponses


Thierry


Regardez du côté de l'*obfuscation*

Jamais testé... mais il faut voir...

Avatar
bruno modulix
wrote:
Titouille wrote:

Bonjour !!

J'aimerai savoir... Quel est la fiabilité des fichiers pyc ?? est-il
tout simplement possible de faire du retro-engineering pour récupérer
un fichier py lisible ?? ou bien est-ce une action difficile ou
impossible ??

Merci pour vos réponses


Thierry



Regardez du côté de l'*obfuscation*

Jamais testé... mais il faut voir...


D'autres ont tenté. Ca ne solutionne rien.

--
bruno desthuilliers
ruby -e "print ''.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
--


Avatar
Richard Delorme
Titouille wrote:

Bonjour !!

J'aimerai savoir... Quel est la fiabilité des fichiers pyc ?? est-il
tout simplement possible de faire du retro-engineering pour récupérer
un fichier py lisible ?? ou bien est-ce une action difficile ou
impossible ??

Merci pour vos réponses


Thierry



Regardez du côté de l'*obfuscation*


En français, il faudrait écrire offuscation ou, à la rigueur,
offusquement. Au sens propre, en français, offusquer signifie depuis
toujours : obscurcir, rendre peu clair, masquer.

Jamais testé... mais il faut voir...


Au mieux, ça ralentit le retro-engineering.

--
Richard


1 2 3