begin process at 2012 05 28 21:53:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Comment utiliser "loadFrom" dans un manifest d'une application


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

Comment utiliser "loadFrom" dans un manifest d'une application

jeudi 6 août 2009 à 09:07:08 | Comment utiliser "loadFrom" dans un manifest d'une application

braxivamov

Bonjour,

pour faire simple j'ai recodé quelques dll du style gdi32.dll. J'ai exporté les fonctions de la dll originale, j'ai remplacé le fonctionnement de quelques unes et voila.
Ensuite pour qu'une application utilise ma dll j'ajoute dans le manifest de cette application (application.exe.manifest) cette ligne :
<file name="gdi32.dll"> et donc l'appli cherche dans son répertoire une dll de ce nom et l'utilise.

Mon problème et que je veux appliquer ce principe à plusieures applications mais c'est un peu nul de devoir mettre une copie de ma dll dans chaque répertoire. Après quelques recherchent il semblerait qu'il suffisse d'ajouter loadFrom
->
<file name="gdi32.dll" loadFrom="C:\\MonRep\\gdi32.dll" />

Mais lorsque j'ajoute le loadFrom l'application me lance une erreur du style "_crt_debbuger_hook est introuvable dans msvcr80.dll" et je ne vois pas pourquoi, de plus je n'ai jamais trouvé cette fonction après un dumpbin sur cette dll ...

J'ai pas mal cherché mais je n'ai trouvé aucuns résultats satisfaisant.

Donc si quelqu'un a une piste a me proposer je suis prenneur.

Cordialement.

vendredi 7 août 2009 à 23:25:39 | Re : Comment utiliser "loadFrom" dans un manifest d'une application

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

msvcr80.dll est contient une librairie standard C de Microsoft, celle utilisée par défaut lorsque l'on utilise Visual Studio 2005. Tu peux aussi utiliser sa version statique pour que la CRT soit incluse dans ton code (/MT). Regarde cette doc.

_crt_debbuger_hook est peut être dans la version debug de cette dll (msvcr80d.dll il me semble).

Il ne faut pas que tu fournisse des binaires (Dll, .exe) en debug. Passe en release si ce n'est pas fait.

Tu peux utiliser depends pour analyser les dépendance de ta dll.

mardi 11 août 2009 à 12:16:56 | Re : Comment utiliser "loadFrom" dans un manifest d'une application

braxivamov

Salut et merci de tes infos.

Je me suis un peu renseigné sur MSVCR avant de poster mon message ici, et j'ai déjà essayé plusieurs options pour la compilation /MT, /MD, /MTd sans succès ...

J'ai retrouvé la fonction debbugger hook dans une version debug effectivement mais dans msvcr90d.dll ...

Et bien entendu je compile en release.

Et je me pose toujours cette question :
Pourquoi placer ma dll dans un autre dossier que celui de l'application pose ce problème ? (Et comme je l'ai dit dans le manifest de base il utilise msvcr80 qui ne contient pas cette fonction "debuggerhook"), il n'éxiste aucuns liens apparent entre gdi et msvcr, si gdi est dans le repertoire courant ou dans system32 tout se passe bien mais pas ailleurs :(

J'ai également regardé les dépendance de ma dll avec dumpbin /IMPORTS et il n'y aucune dépendance avec msvcrXX.

Pour mettre en place ce "détournement" de dll j'ai utilisé cet article :
http://www.ethicalhacker.net/content/view/207/24/
Un peu long mais facile.







Cette discussion est classée dans : application, dll, utiliser, manifest, loadfrom


Répondre à ce message

Sujets en rapport avec ce message

socket dans une DLL MFC [ par jb_exe ] Bonjour à tous...j'essai de réaliser une petit application qui ne ferait que lancerdes dll ( avec LoadLibrary ) comme si il s'agisait de plugin....j'a Utiliser une dll managée sur un application MFC [ par billou_13 ] Tout est dans le titre ...Ayant développé un dll managée en C++ .Net, je voudrais savoir s'il est possible de l'utiliser dans une application MFC (C++ A quoi sert une DLL en C++? Comment la faire et l'utiliser dans un programme? (avec Visual C++) [ par ndubien ] Bonjour, Je cherche à savoir trois choses (en C++):   - <font color="#ff0 comment faire une DLL en C++ [ par leFeu ] bonsoir, j'ai un dll mfc faite a l'aide de C++ sur le visual studio6mais le probleme est que je dois invoquer un autre prog fait par le C dans un au Comment utiliser le clic gauche de la souris dans son application? en C++, console Win32 [ par ndubien ] Bonjour, Je cherche à savoir comment utiliser le clic gauche de la souris lors de l'execution de mon programme.Je m'explique : je dispose d'un utilisation d'une dll.net en C [ par thmatew ] Bonjour a tous,Voila mon souci, j'ai besoin d'intégrer une dll.NET en C, j'aimerais savoir comment faire pour utiliser cette dll???!!!!j'utilise Visua DLL en Winform [ par jb_exe ] Bonjour à tous,   <p class="MsoNor Utiliser OLE COM dans une DLL [ par andrebernard ] Bonjour à tousVoila, je suis un débutant de chez débutant, je veux dire par la que c'est la premeire fois que je lance visual C++ 6.C'est un vieux rev Deploiement XP - msvcrt.dll [ par lesdis ] Bonjour,Tout d'abord, je m'excuse si je ne me situe pas dans la bonne partie du forum...Donc je développe sur Vista Pro via VS2005 et j'ai un soucis l


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,905 sec (4)

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