Une réédition d'un code mis à jour écrit à l'origine il y a une vingtaine d'années.
Gardez à l’esprit que dans certains cas, une version 32 et 64 bits d’une DLL est requise.
Les projets seront compilés dans Delphi XE2 et versions ultérieures. XE2 a été choisi car il compilera à la fois en 32 et 64 bits avec une petite empreinte binaire.
Un fichier manifeste est fourni pour Delphi Berlin qui inclut « uiAccess ». Les IDE plus récents intègrent cette option. Le débogage est mieux effectué avec un manifeste qui n'inclut pas « uiAccess ». 'LinkManifests.cmd' générera des liens symboliques vers le manifeste fourni.
Depuis Windows 10.1903.18362.295, une machine virtuelle Sandbox permettait les tests de débogage sans signature de code.
Il est préférable de changer le nom de la DLL, de modifier le nom du fichier Mapfile et de suivre ces étapes :
Sans cette connexion, une application « uiAccess » échouera et verrouillera éventuellement votre application.
Enregistrement et lecture d'un hook de Journal. Le code peut résider dans un EXE ou une DLL et fonctionne pour les deux 32/64 bits sans version supplémentaire. Cependant, d'après ce que j'ai lu, il est préférable d'utiliser une DLL, car les applications bitness non natives finiront par charger votre code via un mécanisme de réflexion.
Accroche tous les messages publiés via PostMessage, le mieux est d'affiner ce que vous devez regarder et de laisser le reste passer. La démo actuelle renvoie simplement un message à l'application d'origine lorsque vous cliquez sur un menu système.
Accroche toutes les fonctions GetMessage ou PeekMessage lorsqu'il y a un message clavier (WM_KEYUP ou WM_KEYDOWN) à traiter. La démo actuelle renvoie simplement un message à l'application d'origine lorsque ALT+Numkey_1 est utilisé.
Injecte la DLL dans un processus en utilisant son PID, où un appel DDetours redirige essentiellement une API.
Cette méthode pourrait utiliser un processus Hook spécifique à un seul processus pour réduire la charge sur le système.
Moyen le plus simple de tester :
Nécessite : Bibliothèque Delphi Detours