QUAKER

SOFTICE (Winice).

Un p'tit click sur mon sponsor SVP.

Tout d'abord l'installation , en effet Softice doit pour fonctionner modifier l' autoexec.bat de votre PC (rajout d'une ligne) ce qui n'est pas un problème en soit puisque c'est automatique. Le problème est que si vous laissez ce fichier en permanence actif au démarrage de votre PC vous risquez à tout moment,étant donné que c'est un débugeur, de le voir réapparaître (vous signalant qu'il a détecté un bug) interrompant votre prog : ce qui peut dans certaines circonstances être génant.Et vous n'imaginez pas le nombre de prog buggés qui existe ( notamment un qui s'appelle Win...).Donc à titre perso , j'utilise l'autoexec de Softice que quand j'utilise Softice (en renommant les fichiers mais il y a d'autres méthodes).Ensuite vérifiez dans le fichier Winice.dat que les chemins des fichiers système affichés correspondent bien à ceux de votre PC: les modifier si nécessaire.Vous pouvez aussi par la même occasion paramètrer certaine options dans ce fichier pour le démarrage de Softice.

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).
 
 

SOMMAIRE