amalsohail
Messages postés4Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention16 octobre 2008
-
16 oct. 2008 à 19:10
x1rt4m
Messages postés2Date d'inscriptionmercredi 7 janvier 2009StatutMembreDernière intervention 7 janvier 2009
-
7 janv. 2009 à 16:26
salut tout le monde, je suis débutante en info et jé besion de votre aide. Je dois crypter un exe et je ne sais pas comment, ça fait des jours que je cherche . merci pr votre aide
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutMembreDernière intervention15 décembre 201821 16 oct. 2008 à 23:43
Hug tout le monde,
(La réponse à cette demande qui pourrai être proposée au finale m'interesse un chouilla beaucoup)
JulioDelphi je ne comprend pas trop ta réaction...
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 20093 17 oct. 2008 à 09:18
Salut,
je suis tenté de répondre bêtement à la question:
# pour crytper un exe, tu peux utiliser un trucs genre TrueCrypt. Cela marche très bien, et aussi avec des exe installé. (Par exemple, winamp et sa BD). Cependant, tu as besoin de trueCrypt pour lire l'exe. Sinon, un .rar avec un mot de passe est, généralement, considérer sur. (mais t'as besoins de winrar (et pui, rien de magique ici....;-) ))
ceci étant dit,
# Si tu veux un trucs du genre "demande de mot de pass" ou "acces limité", il te faut plus creusé du côté de la fenêtre de login (simple a mettre en place, mais facile a contourner). Cependant, cela ne vas pas crypter ton exe!
# si tu veux limité l'acces a certaine donnée, tu peux les crypter (ex: avec AES) lorsque tu les sauve sur le disque. Pas besoins de crypter l'exe entier et tes données sont protégées.
Note qu'aucune des deux méthodes n'empéchera qqun avec le mot de pass de faire des copie de l'exe en "clair".
Donc, si tu détails ton *but*, on pourra peut-être de donner une réponse plus ciblé.
a+
Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 24 oct. 2008 à 14:22
Salut,
Juste pour répondre à la question :
[quote=nhervagault]
Delphi, il me semble ne fonctionne pas sur une machine virtuelle comme dotnet?
/quote
La réponse est : ça dépend. C'est comme pour le C++ : on peut compiler vers du natif ou vers du code intermédiaire dotnet.
Cela ne change pas grand chose au final : on peut "décompiler" l'un comme l'autre, quoique le langage intermédiaire dotnet ou Java se "décompile" mieux que le langage processeur.
Pour ce qui est du cryptage de .exe... Le format des .exe s'appelle le format PE et est détaillé dans un .doc qui se balade sur le net. Peut être ici.
Un .exe est avant tout composé de sections. Lors que windows démarre l'exe, il charge ces sections en mémoire, à des adresses précisées dans le .exe. Les sections ne peuvent être exécutées qu'à ces adresses.
Pour faire un programme de cryptage d'exécutable, il faudrait donc patcher l'exe en allongeant par exemple la dernière section, et en y plaçant un code de test de mot de passe et de décryptage (Non crypté bien sûr !), et spécifiant l'adresse de ce code comme point d'entrée de l'exe (L'adresse du point d'entrée est aussi spécifié dans l'exe). Au lancement, en cas de bon mot de passe, les sections effectives de l'exe seraient décryptées.
La difficulté technique majeure reste de ne pas crypter une section contenant des informations importante telle la table d'import, qui précise qu'elles dlls sont nécessaire et à chargées au lancement de l'exe.
Une deuxième difficulté consiste en la récupération des fonctions LoadLibrary et GetProcAddress. Ces fonctions sont nécessaires à la récupération des adresses des autres fonctions de l'OS. Il faudrait que ces deux fonctions soient dans la table d'import, ce qui n'est pas obligatoirement le cas d'un .exe quelconque. La création d'une deuxième table d'import est possible (Située elle aussi à la fin de la dernière section), mais il faudrait complèter les adresses dans la table originale avant l'appel du point d'entrée original de l'exe.
Niveau sécurité, je ne suis pas un spécialiste du cryptage, mais il me semble qu'avec un bon algo de cryptage, cette protection serait absolument inviolable autrement que par force brute : on pourrait déssassembler sans problème le code de décryptage, mais cela ne nous donnerait pas la clé.
Le décrypage se faisant en mémoire, il serait assez technique (Bien que réalisable) pour un pirate ayant le mot de passe de produire un fichier .exe correcte à partir de la version en mémoire. Pas à la portée de tout le monde quoi. C'est un avantage sur la version : un .rar + mot de passe : on ne peut pas obtenir de .exe sans mot de passe facilement.
Pourquoi n'ai je pas coder cette solution ? Un .exe crypté de cet manière serait pratiquement inviolable dans le sens ou sans le mot de passe, il serait impossible d'utiliser le .exe. La protection ultime ? Bin non du tout. Il suffit qu'un utilisateur "légal" diffuse son .exe et le mot de passe associé, et tout le monde pourra utiliser l'application...
x1rt4m
Messages postés2Date d'inscriptionmercredi 7 janvier 2009StatutMembreDernière intervention 7 janvier 2009 7 janv. 2009 à 16:26
salut tous le monde,
si tu veux crypté un EXe comme n'import quel fichier ben! c autre chose mais si tu veux faire un paker alors là i je te consiel d'abord de savoir comment les packers fonctionnent, comme UPX, Armadillo, themida, Asprotect...
Un packer est généralement composé d'un loader et l'application crypté et bien sure compréssé (c'est le point for des packer contre les malwares) et bien sure changé l'EP (Entry Point), quand ont execute l'application packé c'est le loader qui s'execute le premier, il à la mission de decrypté l'application et la faire chargé en mémoire, par exemple comme UPX, le loader est entre la commande PASHAD et POPAD, apré le POPAD il y a un long jump ramene au OEP (Original Entry Point) bien sur cette adresse sera util pour changé l'EP de programme dumpé é oui !! unpacké un UPX n'est pas dure dans nos jours.
@rt15 dit: "La difficulté technique majeure reste de ne pas crypter une section
contenant des informations importante telle la table d'import, qui
précise qu'elles dlls sont nécessaire et à chargées au lancement de
l'exe."
correct me !
ont crypte pas l'IAT mais ont change ces viritable address, c pour pour certain packet comme armadillo et thermida , UPX, ASProtect ont a besoin de restructuré la IAT de l'apllication dumpé "ImportRec" fera l'affaire pour vous, alors comme tu voie ça n'a rien a avoir avec la force de ton cyptage même si c de AES :)), mais si on parle de SMC alors la!! c une autre histoir ;).