Un p'tit click sur mon sponsor SVP.
Cliquez sur "Symbol Loader"--->Si apparition de "....no active" c'est que
Winice n'a pas été chargé dans l'autoexec.bat :(voir
paragraphe au dessus).
Vérifiez dans "Module"--->"Settings"--->"Debugging"--->"Load executable"
activé.
Idem pour "Module"--->"Settings"--->"Translation"--->"Symboles and Source
code" activé.
Ouvrez "File"---> "Open Module".
Indiquez votre fichier executable à charger.
Il vous répond ".... opened successfully" ( c'est tout bon).
Ouvrez "Module"----> "LOAD".
Il est possible que vous ayez une boite de dialogue vous signalant une
erreur--->OUI
La manœuvre précedente (démarrage avec Symbol Loader) n'est
indispensable que pour un debbug du lancement du prog (chargement en mémoire)
mais elle n'est pas utile pour un debbug après chargement puisque
Softice travaillant toujours en tache de fond (étant donc toujours
présent) il suffit de basculer dans un sens ou un autre avec la
combinaison de touches Ctrd D et de poser des BPX (ou autres) à
n'importe quel moment.
Et c'est partiiiiiii.........
Oui ....oui.... je sais....je sais : c'est pas beau , c'est du Dos , pas
très convivial mais ne vous fiez pas à son allure "pompes
funèbres" en fait : il est très puissant.
Vous devez voir apparaître ceci:

Ici vous avez l'écran de base sans les différentes
options (registres et contenu) , avec dans la partie centrale gauche le
code de votre prog désassemblé (ex: ADD [BX+SI], AL)+ son
adresse mémoire (ex : 38CF:0015).
Vous pouvez agrandir ou diminuer certaines parties de l'écran en
"tirant" avec la souris, les lignes vertes.
En bas "Enter a command" : vous entrez les commandes manuellement.(au clavier)
Le nom du prog qui est tracé (dans cet exemple : TRADINFO).
VOUS POUVEZ COMMENCER LA TRACE (touche F10 et F8).
LES COMMANDES CLAVIER.
F1: HELP
F2: Affichage des registres en Hexa (ou commande "R" )
F4: Vous visualisez sous Windoz69 "l'image" (ou la capture d'écran)
du prog .(réappui sur F4 pour retour).
F5: Run (démarrage normal du prog).
F6: Pour allez de la fenêtre Trace à la fenêtre Commandes
manuelles (et vice versa)
F8: Trace en entrant dans les CALL.(ligne par ligne)
F9: BPX ,ou double clicks sur la ligne concernée (passe à
la couleur bleue),ou commande ex: BPX 38CF:0015
F10: Trace en passant sur les CALL.(ligne par ligne)
F12: Retour au Call appelant (quand vous êtes entré dans un
CALL avec F8,vous retournez à la ligne suivante de ce CALL.
A: vous permet de modifier l'instruction sur laquelle vous êtes.
A+ adresse (ex: a 38CF:0015 )vous permet de modifier l'adresse spécifiée.
Ctrl D: Vous passez de Softice à Windoz et vice versa.
Code ON ou OFF : Affiche le code en Hexa des instructions.
E: Apparition de la fenêtre "contenu des registre"
E + adresse ( ex : e 38CF:0015 ) vous affiche le contenu de l'adresse spécifiée.(en
texte)
R: Affiche les registres (en Hexa).
BPX: Pose un breakpoint sur la ligne oû vous êtes.Le bpx sera
affiché (en bas) avec un numéro .(le premier que vous aurez
entré portera le numero 0, etc ...)
BPX + adresse (ex: bpx 38CF:0015 ) pose un breakpoint sur l'adresse spécifiée.
BPX + nom d'une API (ex: bpx messagebox) pose un breakpoint sur l'API concernée.
BL: Affiche tous les breakpoints que vous avez posés et leur numéro.
BC: (ex: bc "numéro") supprime le breakpoint de l'adresse concernée.
BD: (ex: bd "numéro") désactive le breakpoint (sans l'effacer)
apparition d' une étoile à coté de la ligne concernée
quand vous tapez BL.
BE: Réactive le breakpoint suite à BD.
BD*: Désactive tous les BPX
BE*: Réactive tous les BPX
D: Vous visualisez le contenu d'un registre (ex: d eax pour un registre
32 bits ou d ax pour un registre 16 bits.Si vous tapez d eax pour un registre
16 bits il vous repondra "Invalid command".Par contre l'inverse est possible
: vous pouvez visualiser le contenu d'un registre 32 bits avec les deux
manières.Vous pouvez aussi visualisé leur contenu en cliquant
directement sur le registre (en haut) : bouton droit souris----> "Display".C'est
aussi valable pour pratiquement toutes les infos du tableau.
Task ( ou PROC ) : vous affiche tous les prog qui tournent à ce
moment. Il vous permet de visualiser le nom exact du prog qui vous servira
pour la commande Hwnd.
Hwnd: vous affiche tous les boites de dialogues de tous les progs (leurs
références et leurs adresses temporaires).
Hwnd + nom du prog (ex: hwnd tradinfo ) vous affiche toutes les boites
de dialogue du prog concerné.
Bmsg: pose un breakpoint sur la référence de la boite de
dialogue que vous avez choisie.
Exp: vous affiche toutes les Api de Windoz.
Exp + nom partiel d'une Api vous affiche les Api concernées (ex:
exp get vous affichera toutes les Api dont le nom commence par get.
Les API que l'on utilise le plus fréquemment pour les boites de
dialogue :
MESSAGEBOX
GETWINDOWTEXT
SETWINDOWTEXT
HMEMCPY (entrées clavier)
Ecran de Softice complet.
Voila dans les grandes lignes les principales commandes de Softice (ou
tout du moins pour ce qui nous concerne) car inutile de vous précisez
que ces commandes ne représentent qu'une toute petite partie des
réels possibilités de Softice.Toutes les commandes sont visibles
avec HELP (F1).