Chargement d'une dll sans dll

Soyez le premier à donner votre avis sur cette source.

Vue 7 529 fois - Téléchargée 1 001 fois

Description

Voici comment charger une DLL sans avoir à fournir cette DLL.

En fait c'est assez simple.
Si vous avez une DLL qui vous sert à faire un Hook sur le clavier,
il vous suffit de mettre le code de la dll dans votre application.
De bien mettre l'export dans cette meme application (comme si vous le faisiez la dll).

Et au lieu de mettre
EXTERNAL 'Ma.dll', vous mettez EXTERNAL 'mon.exe'

L'application se lance se garge elle meme comme une dll.

Si l'utilisateur renome l'application, il vas y avoir un soucis.
Le mieux etant de charger la "dllExe" dynamiquement en mettant ExtractFileName(ParamStr(0))

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
455
Date d'inscription
mardi 24 juillet 2001
Statut
Modérateur
Dernière intervention
10 mars 2009

Oui c'est possible
J'en ai fait un, en trouvant un source sur le forum
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
30
Non non non

un hook sans DLL c'est possible
Messages postés
455
Date d'inscription
mardi 24 juillet 2001
Statut
Modérateur
Dernière intervention
10 mars 2009

Et bien j'ai essayer de faire une dll de hook.
Mais sans succes.
C'est plus compliqué que je ne le pensait.
J'essaye encore et je vous dirai.

Par contre.
Pour compliquer un peu la vie d'un cracker, vous pouvez mettre votre routine de cryptage ou de vérification dans la pseudo dll.
Messages postés
162
Date d'inscription
dimanche 19 novembre 2000
Statut
Membre
Dernière intervention
14 avril 2009

"Comme ça, fini les dlls orphelines après la désinstallation d'une applications."
=> Si tu programme correctement ton installateur/désinstallateur, il ne reste pas de DLL orphelines normallement XD...
Messages postés
6
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
23 décembre 2006

Le concept est novateur, c'est certain, mais en tant que débutant, j'avoue ne pas bien comprendre l'intérêt de scinder les fonctions d'une application en simulant une dll fantôme pour celà, alors que ces mêmes fonctionnalités sont efectivement incluses au sein même de l'exe.

L'intérêt d'une "vraie" dll n'est-il pas, entre autre d'éviter de surcharger l'application qui l'appelle avec des fonctionnalités pas toutes utiles d'office pour l'utilisateur, et donc de sauvegarder des ressources système si celui-ci n'en n'a pas l'usage ?

Si ces mêmes fonctions se retrouvent au sein de l'exécutable, où est exactement la différence entre les "déclarer comme dans une dll" et les immplémenter directement et simplement dans le programme ? Le contenu de l'exe doit logiquement se charger en intégralité en mémoire à l'exécution, code de la "dll" compris, est-ce que je me trompe ?

Ces questions sont là uniquement dans un but auto-didactique, il n'y a ici aucune critique du code en lui-même, je tiens à le préciser.
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.