Bonjour, je voudrais savoir s'il existe un logiciel gratuit pour crypter au maximum un executable afin d'éviter autant que possible qu'il puisse etre décompilé et compris.
J'ai essayé UPX mais si j'ai bien compris il ne fait que compresser.
Merci
Version imprimable
Bonjour, je voudrais savoir s'il existe un logiciel gratuit pour crypter au maximum un executable afin d'éviter autant que possible qu'il puisse etre décompilé et compris.
J'ai essayé UPX mais si j'ai bien compris il ne fait que compresser.
Merci
Je ne savais pas qu'un exe peut être decompilé et compris!!!!8O
Tu vis peut etre dans un monde ou les applications ne sont pas crackées? :D
Tu as de la chance...
Quel est l'intérêt:
???Citation:
d'éviter autant que possible qu'il puisse etre compris
propriété intellectuelle, ou "security through obscurity"...
Le mot-clé à chercher, c'est "obfuscateur de programme"
Mais on en trouve surtout pour les programmes Java et .Net, qui contiennent beaucoup plus d'informations que de simples exes...
Je ne sais pas si les obfuscateurs de programmes le font, mais ce problème peut s'apparenter à la recherche de signature de code dans les antivirus.
Les virus évolués ont en effet tendance à ne stoquer qu'un extracteur qui au démarrage de l'application décompresse (voir decrypte) l'exécutable pour le lancer. Ca pourrait te servir à rendre impossible la décompilation de ton programme.
Bin si, c'est d'ailleurs leur role !Citation:
Envoyé par NewbiZ
Les programmes chargés d'empecher le code d'etre lisible s'appellent des obfuscateurs
Je comprends pas bien ce que tu veux dire.Citation:
Envoyé par NewbiZ
Je veux dire que les obfuscateurs, pour moi, ca renvoit aux obfuscateurs de code source (qui eux n'empechent en rien la décompilation facile d'un programme, juste la lecture du source). Je ne connais pas les obfuscateurs de programme.
Je souligne que les virus, pour éviter qu'on puisse trouver des signatures de code dans leur executable (codes "a risque") se camouflent en se compressant. (problème apparenté a l'anti-décompilation d'un executable)
Un schéma si tu préfères :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 +-----+ | | | | décompresseur | | +-----+ | | | | | | données | | | | +-----+
Ok je pige maintenant ^^
Citation:
Envoyé par aziz jim
eh oui ! Télécharges WDisasm ou Turbo Debugger livré avec TASM et tu t'en rendras compte par toi meme :mrgreen:
Cependant Supergrey utilises une mauvaise terminologie; il y eu Sourcer jadis qui d'un exécutable donnait le code source équivalent en C ; mais c'était plus ou moins fiable.
Cela s'apelle aussi du "reverse-engineering" ou ingénierie inverse
Il me semble que l'on a pas répondu à la question initiale : Existe t-il un obfuscateur (ou un programme du genre) GRATUIT ? :roll:
Perso, j'ai déjà cherché mais je n'ai trouvé que du payant ...
Pour autre chose que du java et du .Net, ça m'étonnerait. Pas assez de demande, vu qu'il n'y a déjà plus d'infos dans un programme C++ natif... Les gens n'en ont pas trop l'utilité...
Et vla la reponse hop hop :p
Tu as morphine qui fait ca bien (pour les signature antivirus en tout cas ^^)
http://newbc.blackcode.com/forum/ind...oto=1946&rid=0Citation:
This routine makes it's own stubs, injects itself into segments and uses an approxomate 5Kb for the decryption routine.
Apres je n'ai pas trop cherché a reconstruire un executable ou dll morphiné. a mon avis ca doit etre costaud a faire (surtout que tu peu morphiné plusieurs fois) mais possible avec un softice ou autre (vu que dans tout les cas il se decrypt au moin en partie tot ou tard).
Si ta peur des cracks... J'ai peu etre une idée...
Il te suffirait de morphiné a chaque fois ton exe de base avant de lancer le telechargement de la demo (avec du php ou autre qui genere une nouvelle archive a la demande) comme ca un patch générique sera quasi - impossible a produire vu que tout les binaires (chez les testeurs) seront differents.
Salut,
Je n'irai pas jusque là, mais ... il faut avouer qu'il existe des applications de qualité disponible sans devoir "casser sa tirelire" et sans devoir recourrir aux cracks ;)...Citation:
Envoyé par supergrey
Ceci dit...
Je me pose très sérieusement la question de l'utilité d'une telle demande...
Apres tout, on sait que toute clé existante entrera forcément dans une serrure...Il suffit de voir les différents essais de protections et la rapidité avec laquelle les cracks et autres astuces pour les contourner apparaissent sur le net pour s'en convaincre...
A voir les choses au premier degré (tout travail mérite salaire, et chaque personne qui craque ton application te "vole" une partie de ton juste salaire), on peut, effectivement, juger que c'est mal de "pirater" les applications...
Mais, essayons de voir les choses "de l'autre coté de la lorgnette"...
Comprenons nous, je vais parler ici d'applications utilisable "en entreprise", et je laisse volontairement de coté tout ce qui a un trait ludique à purement "personnel"...
Sans les cracks, combien de personnes seraient en mesure de se payer (pour ne l'utiliser qu'une fois ou deux avant le changement de version ou avant l'expiration de la durée d'évaluation) des applications comme Office XP Pro (histoire d'avoir aussi access), Adobe Première, Encore DVD, Photoshop et autres :question:
En dehors des étudiants sous certaines conditions, la réponse tient en peu de mot: à peu pres personne... ou, en tout cas, trop peu de monde pour permettre de trouver quelqu'un facilement qui connaisse ces outils...
Je te rappelle quand meme que, si tu dois acheter une version officielle de ces quatre applications, tu tourne sur un budget de 1000 à 2000€... si pas plus...
Mais cela pose un problème complémentaire...
En tant qu'entreprise, quelle solution a-t-on pour obtenir des collaborateurs efficaces avec de telles applications si... nos collaborateurs ne savent pas "s'amuser avec" chez eux :question:
La réponse est bien simple: ou bien on les forme à grands frais, ou bien, on décide d'utiliser une application à laquelle les collaborateurs sont habitués... ou du moins correctement initiés...
Donc, quand on y pense bien...
La propagation de versions d'évalutation est indispensable pour te permettre de te faire connaitre et pour permettre aux gens de se familiariser avec l'outil, mais...
Si les gens ne disposent pas d'une version complete, il ne seront familiarisés qu'avec une partie (sans doute insuffisante) de l'outil et
S'il disposent d'une version complete, mais limitée à 30 jours, ils n'auront pas le temps d'en explorer toutes les possilités (ils ont sans doute aussi d'autres choses à faire ;))
Quoi qu'il en soit, leur "expérience" d'utilisation de l'outil ne sera pas suffisante pour leur permettre de l'utiliser dans un environnement de production...Et l'attrait meme que pourrait présenter l'outil s'estompe... faute de personnel qualifié, quand bien même il serait de qualité supérieure aux concurents...
Si on devait résumer en deux phrases, elles seraient donc:
- Quelle que soit la protection, elle sera contournée tot ou tard
- Un outil de qualité mais que personne ne maitrise suffisemment pour l'utiliser n'a aucun intéret...
Donc, je repose la question...
Estimes tu réellement indispensable de perdre ton temps à essayer de protéger quelque chose dans de telles conditions :question:
Et bien a supposer que j'ai déjà trouvé une application qui crypte correctement mon excutable il me suffira de quelques secondes pour crypter mon application et rendre long et difficile la compréhension du code.
Si je ne crypte pas mon exécutable et que mon application est interressante elle sera vite cracké, beaucoup plus vite que si je le fais. Et je ne parle pas d'application à 1000 euro mais plutot d'application grand publique.
Donc voila je trouve effectivement tres utile (à défaut d'etre indispensable) de perdre quelques minutes pour crypter mon executable !
Sauf que, tu n'a pas de "délais critique" pour le crackage d'une application, comme tu en as dans tous les mauvais coups que tu pourrais envisager dans la vie courente (j'entend par là, un délais au dela duquel tu risques de te faire prendre en flagrand déli)...Citation:
Envoyé par supergrey
De plus, j'ai franchement la conviction que la difficulté meme d'arriver à cracker quelque chose est justement de nature à inciter les gens à s'y essayer...
Le cracking en lui meme n'a, pour la plupart des crackers, qu'un intérêt minime... c'est bien plus le "défi" d'y arriver qui les motive...
Je parle, bien évidemment de ceux qui vont essayer de déplomber ton application, pas de ceux qui se contenteront d'utiliser le cracks qu'ils ont trouvé ;)... mais... si tu supprime la motivation du déplombeur, tu supprimes, quasi de facto, le risque de voir ton application crackée... donc les cracks, et donc, l'utilisation "illicite" de ton application...
Je reprend mon exemple avec les protections des jeux...
Apres en etre arrivé à l'utilisation de protections comme starforce, certains éditeurs ont purement et simplement décidé de ne meme plus mettre un cle d'installation sur certains jeux...
J'ai meme presque envie d'aller plus loin...
L'informatique en générale est le seul secteur entièrement de non droit où on aie l'impression que tout est permis...
Meme la présomption d'innocense, pourtant si chere à tous les pays démocratiques du monde, est bafouée...
En informatique, on considère, par défaut, que tu seras coupable de faire quelque chose d'illégal, sans meme te donner l'occasion de montrer que ce n'est pas le cas...
C'est un peu comme si, quand tu marche dans la rue avec un sac à dos, on décidais de t'enfermer, sans autre forme de proces, dans une cellule pour "tentative d'acte terroriste"...
Le pire de l'histoire, c'est que, si tu te fais enfermer pour simplement t'etre baladé avec un sac à dos, tout le monde criera au scandale, alors que personne ne s'émeut de devoir introduire une cle lors de l'installation d'un jeu, ou, pire, de devoir systématiquement introduire le CD/DVD... chose qui fait pourtant ch:aie: tout le monde
[EDIT]Et toutes ces protections en viennent meme à te limiter très clairement un droit qui, pourtant, est reconnu dans tous les pays démocratiques: le droit à la copie privée...
Tu fais des belles phrases n'empeche que dans la réalité plus une application est difficile a cracker plus le crack met du temps à arriver, car il y a des cracker de tous niveau. Ce qui motive les crackers a s'activer sur une release c'est simplement la popularité de celle ci.Citation:
Je parle, bien évidemment de ceux qui vont essayer de déplomber ton application, pas de ceux qui se contenteront d'utiliser le cracks qu'ils ont trouvé ... mais... si tu supprime la motivation du déplombeur, tu supprimes, quasi de facto, le risque de voir ton application crackée... donc les cracks, et donc, l'utilisation "illicite" de ton application...
Tu donne l'exemple de la starforce en expliquant que comme toute les protections elle est crackée, mais les jeux dont tu explique qu'ils ne mettent meme plus de protection ont encore plus vite leur serial ou keygen sur internet donc voila doutes tes explications sont vite balayer.
Les application comme je pourrais dévellopper sont évidemment moins populaire et donc les cracker qui s'y interresse sont moins performant, mais s'ils tombe sur une application mal protégée ils seront tout content de sortir rapido un crack, alors qu'ils abandonneront dan le cas contraire, ou metteront du temps ce qui limitera les pertes pour le développeur.
Voila
Plutôt que de protéger ton code techniquement fais-le au niveau de la loi.
Quelques arguments qui n'ont pas été sortis jusqu'à présent (même si on s'éloigne du sujet du forum) :
- Si tu utilises un système de protection que tu n'as pas fait toi même, et qui donc est utilisé à d'autres endroits, tu maximises les chances qu'un crack existe déjà.
- Mettre en place une protection te demandera du boulot. Par exemple, si l'application a besoin d'un numéro dépendant de la machine où elle est installée, te vas devoir fournir le service de générer ce numéro, et rapidement, et ce même pour une personne qui te le demande à 3h du mat un 1 janvier.
- Toute protection introduit des contraintes d'utilisation pour l'utilisateur légal (et pas pour l'utilisateur illégal). J'ai changé la carte mère de mon PC, mon windows, pourtant tout ce qu'il y a de plus légal, a cessé de fonctionner. J'ai du passer un coup de téléphone à un serveur vocal, tapper 40 chiffres sur le clavier de mon téléphone, puis m'en faire dicter 40 pour que ça remarche. Et si j'étais malentendant ? Il m'aurait été impossible de continuer à utiliser mon logiciel. Et si le serveur n'était pas là, ou si, unilatéralement, on décidait de m'empêcher d'upgrader mon matériel ? En tant qu'utilisateur légal, je suis très inquiet de ce genre de pratiques.
- Je ne suis pas certain de ce que tu veux faire. Veux-tu juste empêcher la diffusion de ton logiciel, ou veux-tu empêcher son reverse engineering ? Dans le second cas, AMA, la simple masse de code désassemblé rend de toute façon toute opération de ce genre bien trop complexe, sauf pour des gens très motivés et ayant du temps, et ces gens, tu ne les arrêteras pas avec une pauvre protection.
Ben j'ai pas l'impression d'avoir affaire a des hacker en tout cas, parcequ'un pour exe sortie de Visual C++ 6 par exemple, il ne sera pas si difficile de réaliser un crack car le code décompilé sera assez lisible, il suffit de faire passer ce meme exe dans un crypteur d'exe ou je ne sais comment ca s'appelle, pour qu'il soit beaucoup moins lisible, enfin je me répète la. Faut pas croire qu'il y a d'un coté les petits hackers qui s'occupe des petits logiciels tres simple et les gros hackers qui cherche a cracker les grosses productions, entre le noir et le blanc il y a une infinité de dégradés et donc meilleurs est la protections plus tard arrivera le crack.
Pour ce qui est de la loi, du moment que tu créer un logiciel il est protéger (en france du moins) mais ce n'est pas une grosse partie de la solution.
Ensuite l'exemple des sourd muets ouai d'accord, peut etre que Microsoft s'en occupe quand il sort un nouveau Windows mais les petits développeur n'ont pas que ca à penser.
Enfin bref, j'ai dit le fond de m'a penser si vous etes contre les protections ou pour les hackers, ou encore pour la license GPL tant mieux pour vous, discutez en bien mais ce n'était pas vraiment le but du post.
Oui, je revendique etre pour une license GPL...
Mais il faut bien comprendre que, que tu essaye de proteger d'avantage ton code ou non, tu gagnera quoi, en définitive, à partir du moment ou un cracker décidera de déplomber ton application, parce qu'il la juge utile/de qualité :question:
Si, sans commencer à crypter ton exécutable, il met, mettons, trois heures pour comprendre comment tu a limité les capacités/la durée d'utilisation de ton application, il mettra quoi avec un cryptage :question: six heures, douze... vingt quatre :question:
Au final, tu auras perdu un max de temps à te préoccuper de la chose, et, en définitive, au lieu d'avoir le crack disponible le trois décembre à minuit, il le sera ... la 4 ...
Bien sur, tant qu'à faire, je te conseillerais de fournir une license GPL ou proche...(ne serait-ce que parce qu'un millier de paires d'yeux qui regardent le meme code finiront fatalement par donner un meilleur résultat que s'il n'y a qu'une paire d'yeux... qui, en plus, finit par tellement connaitre le code qu'elle finit par ne plus le scruter avec la meme attention)... Mais, sans aller jusque là...
A partir du moment où tu sais que la sortie du crack sera inéluctable, pourquoi ne pas simplement accepter le fait, et faire "contre mauvaise fortune bon coeur" en acceptant la chose avec "fatalisme", peut etre, mais en se disant que la solution miracle et incrackable n'existe pas, et que donc, cela ne sert pas à grand chose de la rechercher...:question:
Je n'en suis clairement pas un, mais de ce que j'ai vu du code compilé avec visual C++, même avec le code source initial sous la main, il n'est pas forcément trivial de comprendre le code compilé.Citation:
Envoyé par supergrey
Je ne parle pas de le comprendre juste assez pour casser une protection contre la copie, ce qui ne demande pas une vraie compréhension, mais de le comprendre suffisemment pour savoir ce qu'il fait. D'où l'intérêt de ma dernière question.
Quand je serai dictateur du monde, je ferai interdire ce genre de système de "protection" qui font chier le monde pour rien.
Ok ben y'a ceux qui veulent aider les gens et ceux qui veulent tirer profit des gens, mais la gloire c'est pas trop mon truc.
Je ne suis pas si sur qu'une journée soit le temps moyen pour sortir un crack pour une application, bien protégée justement, et quelques soit cette durée c'est du temps en plus pour sortir une mise à jour, ou un faux crack sur les réseaux p2p et c'est des gens en plus qui auront pas envie d'attendre qu'un crack sorte ni de trouver le vrai crack au mileu des autres.
Bref on a pas la meme vision des choses, mais ce qui est sur c'est que le gratuit n'est pas rentable... ah ! et aussi, pense à relir mon premier post parceque je suis pas convaincu des solutions que tu m'apportes...
Le gratuit peut tres bien etre rentable...Mais c'est un autre débat ;)Citation:
Envoyé par supergrey
Donc, si je te comprend bien, tu vas innonder les peer to peer de faux cracks (ca, je n'ai rien contre) et tu va sortir une mise à jour tous les trois jours pour, justement, pour éviter que ta "chere" application ne soit crackée :question: :question:
Honnetement parlant:
- Crois tu etre en mesure de tenir la cadence :question:
- Crois tu que les frais de développement de ces mises à jour seront contrebalancés par les revenus engendrés par l'achat de l'applicaiton :question:
- Ne crois tu pas que cela fasse rapidement lourd pour l'utilisateur légitime, que de devoir se "taper" une mise à jour tous les trois jours :question:
- Ne crois tu pas qu'apres deux semaines à ce rythme, l'utilisateur légitime préférera passer à une autre application équivalente, mais moins contraignante du point de vue des mises à jour :question:
Je te laisse seul maitre des réponses que tu feras à ces différentes questions, mais, de mon coté, il me sembble que c'est quand meme se donner beaucoup de mal pour bien peu de choses...
Ce que je veux juste essayer de te faire comprendre, c'est qu'il est fini, le temps ou les applications n'étaient pas crackées et ou on pouvait garder le code source d'une application "bien au chaud" dans un coffre fort, sans risquer que personne n'y mette les pattes...
Les solutions qui existent auraient pu encore etre valides il y a dix ou quinze ans, mais, de nos jours, l'information se transmet à une vitesse telle qu'à partir du moment ou tu fournis le premier exemplaire d'une application, tu perd de facto la capacité d'en controler la diffusion et qu'il est utopique de vouloir essayer...
Si tu arrives à comprendre cela, tu comprendras que, quoi que tu fasse, les crackers auront de toutes facon le dernier mot... et qu'il est préférable de le prendre avec philosophie plutot que d'essayer de les contrer à tout prix...
Car le prix à payer pour les contrer sera sans commune mesure face aux quelques pertes que le crack occasionnera...
Tu veux faire chier l'utilisateur légitime ad eternam pour gagner quelques jours sur le temps que mettre l'utilisateur illégitime à cracker ton programme.
Ça ne me semble pas être une bonne solution.
Bonjour,
supergrey,
A mon avis vous confondez upx comme outil de compactage, avec la cryptologie.Citation:
Et bien a supposer que j'ai déjà trouvé une application qui crypte correctement mon excutable il me suffira de quelques secondes pour crypter mon application et rendre long et difficile la compréhension du code.
Si je ne crypte pas mon exécutable et que mon application est interressante elle sera vite cracké, beaucoup plus vite que si je le fais. Et je ne parle pas d'application à 1000 euro mais plutot d'application grand publique.
Donc voila je trouve effectivement tres utile (à défaut d'etre indispensable) de perdre quelques minutes pour crypter mon executable !
Pour ce qui est de la cryptologie, vous pouvez créer votre propre méthode de crypter. A vous de donner le code pour vos bénéficiaires.
Vous serez sans doûte moins l' objet d' attaques pirates, dans la mesure où votre code ne concerne qu' une application qui n' engage pas des intérêts sensibles ou commerciaux.
Salut.
Ceci dit, il faut bien comprendre qu'on peut crypter des données, qu'on peut crypter du code source... mais que l'exécutable, lui, restera sensiblement identique, crypté ou non...
Il n'y a rien à faire: pour qu'un processeur comprenne une instruction comme étant équivalante au JNE (Jump Not Equal en assembleur), il faut que l'instruction aie la valeur correcte... avec la donée qui a une valeur correcte pour indiquer à quelle adresse doit aller le pointeur du processeur...
Or, quoi que tu semble en penser, les crackers, ils ne travaillent pas sur le code source, mais bel et bien sur l'exécutable lui meme, et "nopent" (mettent la valeur qui correspond au "NOP"(No OPeration) assembleur) les sauts, conditionnels ou non et/ou les calls effectués avec un éditeur hexadécimal...
Evidemment, tu peux envisager de crypter toutes les chaines présentes, voire, meme, toutes les valeurs présentes, et forcer la présence d'une cle pour pouvoir avoir les valeurs en clair... mais tu te trouveras alors confronté à un autre problème: la clé sera unique aussi bien pour Durant, Dupont ou Tartempion, parce que, pour décrypter quelque chose, il faut la clé qui a été utilisée pour le cryptage ;), avec un résultat, justement à l'opposé de ce que tu voulais...
Tu veux un exe crypté et donc décrypté à chacun de ses lancements ou un exe décrypté lors de son installation?
Dans le deuxième cas, il y a pas mal d'outil pour le cryptage md5 et autres, et des sites dont je n'ai plus l'url permettent de faire calcluler un cryptage en ligne.
Ca me praît une bonne option.
L'utilisateur a besoin de décrypter le programme pour executer le programme. Il suffit alors de faire une copie du programme décrypté et ça y est t'as ta version "crackée"...
Attention, l'algorithme md5 est destructif et non inversable: Tu peux calculer la somme md5 de n'importe quoi, mais tu n'est pas en mesure, en n'ayant que la somme md5, de récupérer le fichier original...Citation:
Envoyé par Caine
En effet, autant pour moi.
Mais il y a surement des algos aussi puissant et public pour l'encryptage.
Ceci dit, j'ai vu des entreprise investir des milliers d'euros en anti-ppirartag et mettre le résultat sur des sites warese pour vérifer la validité et la durée...moins d'un WE!
Ils sont forts ces hackers!