begin process at 2012 05 30 15:43:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

Resource d'un executable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Resource d'un executable

samedi 23 mai 2009 à 11:26:14 | Resource d'un executable

deck_bsd

Membre Club
Yop à tous,


Voila , je voudrait savoir si il est possible d'extraire des resource d'un executable. Attention ici je parle d'un fichier .exe qui n'est pas éxécuté. Car j'ai trouvé qu'il était possible d'en ajouter avec BeginUpdateResource & UpdateResource sans pour autant devoir executer le programme. Alors est-il possible de les extraire pareilment ? j'ai cherché mais je n'ai rien trouvé, avec LoadResource il faut un hmodule, mais je n'ai pas trouvé de fonction qui permet de récupérer ce handle d'un fichier dont le programme n'est pas éxécuté en mémoire.

J'espère avoir été claire pour énoncer mon problème :s .

Merci d'avance pour vos réponse.

++
deck_bsd
___________________________________
[ [ Lien ]]
samedi 23 mai 2009 à 14:20:32 | Re : Resource d'un executable

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Ta question m'a fait penser à la démo "ResXplor" fournit avec Delphi 6. C'est juste une démo, donc elle va pas chercher bien loin, mais quand même :


[troll]
Ma fois si tu veux te mettre au Delphi, c'est l'occasion. Delphi 6.Serial.
[/troll]

Je viens de jeter un coup d'oeil au code.
Globalement, c'est basé sur le format PE. Référence ici.

Il ouvre le fichier en le mappant CreateFile/CreateFileMapping/MapViewOfFile.
Puis il lit l'entête pour trouver les ressources.
C'est un petit jeu avec des pointeurs, et en utilisant quelques structures style IMAGE_NT_HEADERS.
Rien de compliqué, tout est détaillé dans la doc.

Pour charger les bitamps, il utilise une fonction Delphi (LoadFromStream).
Pour les icônes il a l'air d'utiliser CreateIconFromResource qui prend un pointeur en argument.

Concernant la récupération d'un HMODULE sans exécuter le .exe... MapViewofFile prend en argument FILE_MAP_EXECUTE, et il me semble qu'il y a une autre méthode pour charger un fichier de la même manière que le loader de windows, mais je n'ai plus le nom de la fonction en tête.

samedi 23 mai 2009 à 15:31:38 | Re : Resource d'un executable

deck_bsd

Membre Club
Merci pour ta réponse,

Oui effectivement les headers est la piste que je m'apprete à suivre si aucune fonctions n'existe, mais je me dit que si il y à moyen via les API d'insérer des resource dans un exe, pourquoi n'y aurait-il pas moyen d'en extraire de la même manière.

PS : Non j'aime trop le C que pour passer au Delphi ^^

++
deck_bsd
___________________________________
[ [ Lien ]]
samedi 23 mai 2009 à 18:54:24 | Re : Resource d'un executable

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

A mon avis tu as bien raison de rester au C :) d'autant qu'ici c'est bien suffisant.
Pour l'avoir fait, je te dis qu'il n'y a aucun problème pour extraire toutes les ressources d'un executable.
Pour obtenir ton HMODULE, utilise LoadLibraryEx avec le flag DONT_RESOLVE_DLL_REFERENCES.
Ensuite tu peux parcourir les ressources avec les fonction EnumXXX, puis FindResource, LoadResource, LockResource et c'est gagné.


_____________________________________
Un éditeur de ressources gratuit pour Windows

dimanche 24 mai 2009 à 11:31:43 | Re : Resource d'un executable

deck_bsd

Membre Club
LoadLibraryEx c'était ma fonction manquante , enfin plutot le DONT_RESOLVE_DLL_REFERENCE ^^ Merci beaucoup Vecchio :) Effectivement avec le hModule ça va tout seul après .

Par contre je vien de lire

Microsoft Portable Executable and Common Object File Format Specification


et je pense que dans un proche avenir , je vais faire un petit programme qui permetra de lire les headers des .exe :p Car cela ma paru fort intéressant. Au moin avec ça on sait ce que représente toute ces valeur hexa quand on ouvre un exe avec ce genre d'éditeur :)
++
deck_bsd
___________________________________
[ [ Lien ]]


Cette discussion est classée dans : possible, trouvé, extraire, executable, resource


Répondre à ce message

Sujets en rapport avec ce message

Resource depuis EXE ? [ par mayti ] Bonjour tlm. Est-ce possible d'utiliser des resources d'un exe depuis un autre exe ? Par exemple je voudrais pouvoir utiliser une dialogbox se trouv Mémoire allouée à un executable [ par smasher81 ] Bonjour, bonsoir!J'aimerai savoir si c'est possible de savoir qu'elles sont les adresses mémoires alloués à des programmes executé en même temps que m stocker un executable [ par crusade1 ] Bonjour, Je programme en C avec dev-cpp Et j'aurais voulus savoir si il été possible de stocker des exécutables, et des visuals basic script, dans un 3d [ par ghanim13 ] slt tt le mond jvoudrai savoir si c possible de faire une simulation en 3d d'un reseau(ordi,routeur,switch,hub...)avec c/c++ et si c possible kmt dois Probleme d'algo pour toutes combinaisons possible d'un tableau [ par arnaud8888 ] Bonjour à tous, j'ai un problème d'algo ... en gros j'ai un tableau qui contient des valeurs, disons : A B C D j'aurais besoin à la fin de mon algo [EXCEL]Demande d'aides multiples [ par marymorgane1402 ] Bonjour à tous et à toutes, Je suis nouvelle sur votre super site que je viens d'inspecter de fond en comble. Je trouve que vous êtes très réactifs e La concatenation en c++ : [ par nacimem ] Bonjour à tous, je suis nouveau en programmation objet et j'aimerais quelque conseil svp. Alors avant lorsque je programmer en php il m'était possibl [c]s'est possible un programme comme sa ? [ par CreateurDeBug ] Bonjour, s'est possible un programme qu'ont luit poserais des questions et il ouvrirais le contenue d'un fichier texte en rapport avec se qu'on à dema Intégrer fichier dans executable [ par mogwai93 ] Bonjour Je voudrais savoir quels sont les autres moyens d'intégrer un fichier dans un exécutable sans utiliser les ressources. Ayant vu des programm


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales