Tavis Ormandy (
LoadLibrary se charge de charger la bibliothèque en mémoire et d'importer les symboles existants, fournissant à l'application Linux une API de style dlopen. Le code du plug-in peut être débogué en utilisant gdb, ASAN et Valgrind. Il est possible d'ajuster le code exécutable pendant l'exécution en connectant des hooks et en appliquant des correctifs (runtime patching). Prend en charge la gestion et le déroulement des exceptions pour C++.
L'objectif du projet est d'organiser des tests de fuzzing distribués évolutifs et efficaces des bibliothèques DLL dans un environnement basé sur Linux. Sous Windows, les tests de fuzzing et de couverture ne sont pas très efficaces et nécessitent souvent l'exécution d'une instance virtualisée distincte de Windows, en particulier lorsque vous essayez d'analyser des produits complexes tels qu'un logiciel antivirus qui couvrent le noyau et l'espace utilisateur. À l'aide de LoadLibrary, les chercheurs de Google recherchent des vulnérabilités dans les codecs vidéo, les antivirus, les bibliothèques de décompression de données, les décodeurs d'images, etc.
Par exemple, avec l'aide de LoadLibrary, nous avons pu porter le moteur antivirus Windows Defender pour qu'il fonctionne sous Linux. L'étude de mpengine.dll, qui constitue la base de Windows Defender, a permis d'analyser un grand nombre de processeurs sophistiqués pour différents formats, d'émulateurs de systèmes de fichiers et d'interpréteurs de langage qui fournissent potentiellement des vecteurs pour
LoadLibrary a également été utilisé pour identifier
Source: opennet.ru