Installation MASM32
Vous devez tout d'abord télécharger les packs MASM32 et WinAsm
(Les liens sont indiqués sur la page d'introduction).
Le programme d'installation ouvrira ensuite une fenêtre en mode console (MsDos),
vous proposant de construire les bibliothèques MASM.
Une fois le processus d'installation terminé, appuyez sur une touche quelconque, vous devriez voir une fenêtre s'ouvrir avec le message: "installation success". Hutch ayant assemblé le pack MASM32,
vous conseille fortement que les bibliothèques soient toujours construites
depuis votre propre système, plutôt qu'elles soient copiées d'ailleurs.
Installation WinAsm Studio 1. Installez-le en le dézippant directement sur C:\Program Files\WinAsm Studio 2. Exécutez WinAsm et allez ensuite dans Tools>Options>Files&Paths et vérifiez tous les chemins d'accès, (Le fichier d'aide doit pointer sur WIN32.HLP et le chemin d'accès des projets vers le répertoire de votre code source): 3. Un débogueur et un éditeur de ressources peuvent être configurés sous l'onglet: Miscellaneous Quand un projet est ouvert dans WinAsm,
vous avez la possibilité de le déboguer en ouvrant Olly par le raccourcis Ctrl+F9.
Olly chargera alors l'exécutable du projet en cours. 4. Dans l'onglet 'General', prenez mes paramètres comme référence: 5. Un fichier d'aide (WinAsm.chm) est disponible sur le site, il faut le placer dans C:\Program Files\WinAsm Studio\Help. 6. Tools Manager (dans le menu Tool),
vous permet d'ajouter des raccourcis pour vos utilitaires favoris
dans le menu Tools.
7. Add-Ins Manager vous permet d'utiliser les Add-Ins disponibles
sur le site Web WinAsm.
QHS ouvre un encadré contenant une définition du mot sous le curseur dans la fenêtre
de l'éditeur de code. Les définitions de chaque mot sont stockées en tant que fichiers .rtf séparés dans le répertoire
C:\Program Files\WinAsm Studio\Help\QHS\.
H2 Context Help add-in est excellent si vous installez la Plate-forme SDK. Il requière le logiciel freeware H2 programmé par Rob Chandler et disponible ici : http//helpware.net/mshelp2/h2viewer.htm ça affichera le fichier d'aide MSDN pour le mot sous le curseur dans WinAsm, en appuyant sur F1. Si vous avez l'ancien fichier Win32.hlp configuré comme ci-dessus, il est toujours disponible sous le menu d'aide dans WinAsm. Dans le cas où la signalisation des erreurs de syntaxe WinAsm ne fonctionne pas, il est alors fort probable que les chemins d'accès soient mal configurés (voir ci-dessus). Le message d'erreur ci-dessous peut arriver avec masm, si le code source
est sur une partition différente du dossier d'installation masm : Personnalisation de l'installation de MASM32 Le pack MASM32 contient la version 6.14 de ml.exe (l'assembleur)
et la version 5.12 de link.exe (le lieur) ainsi que d'autres binaires.
Le package peut être "mis à jour" en écrasant les fichiers dans C:\masm32\bin\
avec les fichiers de la version 7.10 provenant de Visual Studio 2003.
Cela comprend les éléments suivants :
Cette version est considérablement plus rapide lors de l'assemblage et de la liaison de grands projets, et c'est probablement la meilleure version. Des versions plus récentes sont disponibles, mais malheureusement, elles sont infectées par des surcharges de .NET. Selon votre configuration, vous pouvez rencontrer une erreur après la mise à niveau vers les outils v7.10 lorsque le lieur est utilisé : "Cette application n'a pas pu démarrer car MSVCR71.dll est introuvable". Cela fait partie de la bibliothèque d'exécution C de M$ Visual et si vous ne l'avez pas, vous pouvez télécharger gratuitement la DLL à partir de nombreux sites web - il suffit de faire une recherche sur Google. Les fichiers PE produits à l'aide des outils de développement de M$
contiennent des octets supplémentaires de "code indésirable" dans l'en-tête DOS.
Ceux-ci sont insérés par le lieur Link.exe au moment de la compilation. Dans tous les cas,
le DWORD avant-dernier est "Rich". Ces données ne sont pas présentes dans les fichiers produits
par d'autres lieurs (par exemple Borland, GCC, fasm, golink, polink, etc.).
Ce comportement est observé dans toutes les versions de M$ Link.exe à partir de la version 5.12.8078,
qui fait partie du package MASM32, jusqu'à la version 7.10.3077 incluse dans les derniers packages Visual C++. Heureusement, il est possible de patcher le linker pour arrêter ce comportement. Il existe un utilitaire appelé SignFinder.exe par Asterix (inclus ici) qui vous permet de trouver rapidement le code à patcher dans n'importe quelle version de Link.exe. En utilisant la version 5.12.8078 de MASM32 comme exemple : Ouvrez Link.exe dans Olly et appuyez sur Ctrl+G. Entrez 0044510C (l'adresse obtenue à partir de SignFinder ci-dessus + l'ImageBase de Link.exe qui est 400000). Ensuite, mettez en surbrillance l'instruction "add" comme indiqué, faites un clic droit et sélectionnez "binary>fill with NOPs" : Cela devrait ressembler à ceci : Enfin, faites à nouveau un clic droit et sélectionnez "Copy to executable>All modifications".
Ensuite, cliquez sur "Copy all" et faites un clic droit dans la nouvelle fenêtre qui s'ouvre,
puis sélectionnez "Save file" pour enregistrer le fichier. Les autres versions de Link.exe
ont la même séquence de code à des emplacements différents, qui est patchée de la même manière. Les seules autres différences entre les deux fichiers sont bien sûr e_lfanew (le décalage du PE header), TimeDateStamp et SizeOfHeaders (qui est effectivement le décalage de la première section). Consultez mon tutoriel sur les fichiers PE pour plus d'informations à ce sujet. Assemblage avec une extension de shell. Cette astuce vous permettra d'assembler des fichiers .asm à partir du menu clic droit dans l'explorateur, ce qui peut vous faire gagner du temps pour de petits travaux rapides ;-) Tout d'abord, copiez et collez ce script dans votre éditeur de texte, enregistrez-le sous le nom "assemble.bat" et placez-le dans le répertoire "C:\masm32\bin" :
Maintenant, définissez la variable d'environnement PATH pour inclure MASM.
Pour Windows XP, faites un clic droit sur "Poste de travail" et sélectionnez "Propriétés".
Cliquez sur l'onglet "Avancé" puis sur le bouton "Variables d'environnement".
Mettez en surbrillance PATH dans la partie inférieure et cliquez sur "Modifier".
Ajoutez "C:\masm32\bin;" à la fin de la variable PATH. Elle devrait ressembler à quelque chose comme ça :
Enfin, dans l'explorateur Windows, allez dans Outils > Options des dossiers > Types de fichiers. Cliquez sur "Nouveau" et saisissez ".asm" dans la zone "Extension de fichier". Maintenant, cliquez sur "Avancé" et saisissez "Module d'assemblage" dans la première zone de saisie. Cliquez sur "Nouveau" et saisissez "Assembler" dans la zone "Action". Enfin, cliquez sur "Parcourir" et accédez à assemble.bat dans la zone "Application". Maintenant, si vous faites un clic droit sur n'importe quel fichier .asm dans l'explorateur Windows, vous devriez avoir l'option "Assemble". Le fichier batch compilera également et liera un script de ressources s'il est présent.
|
Copyright (C)- xtx Team (2021)