Softice F.A.Q

Sur tous les programmes qui servent à cracker.

Softice F.A.Q

Messagepar Neitsa » 27 Décembre 2004, 10:31

Je pense qu'une F.A.Q softice serait peut être pas mal...

Quelques questions/réponses, mais la liste n'est pas exhaustive !

FAQ Softice

-Quelles sont les différences entre OllyDbg et Softice ?

OllyDbg est un debugger applicatif (Ring3), il n'interfère donc pas avec le système et se voit doté de pouvoir limités.

Softice est une IceBox qui fonctionne au niveau du coeur du système (le Kernel) et est capable de geler ce dernier (d'où le nom de IceBox). Softice à tous les pouvoirs sur le système car il fonctionne au privilège ayant le plus de capacité (le Ring 0), mais en contre partie c'est un debugger très intrusif et qui peut donc faire crasher le système dans certains cas.

-Dois-je obligatoirement utiliser Softice ?

A priori non, si vous ne débugger pas de code en ring0 ou si vous n'avez pas besion d'un debugging "low level" (bas niveau) OllyDbg fera très bien l'affaire et est beaucoup plus stable que Softice.


-Quelle version pour Windows XP / 2k3 ?

Softice n'existe plus seul, il fait maintenant parti du pack Driver Studio. La dernière version de driver studio (D.S) est actuellement la version 3.2 et est d'après Compuware la seule réellement capable de supporter XP SP2 (support 64 bits restreint mais possible). D.S ne supporte Win 9x qu'au niveau de compatibilité de D.S 2.7 ! Vous ne bénificierez pas des nouveautés de D.S 3.2 sur un système win 9.x.

-Quelle version pour les autres windows ?

Vous pouvez installer une ancienne version de Softice sur windows 2000 (Softice NT 4.05) ou la version 2.7 de D.S, ceci étant valable aussi pour les Windows 9x. Comme dit précédemment, D.S 3.2 ne fonctionne (et n'istalle) qu'au niveau de D.S 2.7 sur les win 9x.


- Est-ce que Softice fonctionne sur windows XP SP2 / 2K3 ?

Oui, mais il faut changer le fichier OSINFO.DAT qui contient de nouvelles informations pour XP SP2. Ce fichier est téléchargeable sur le site de Compuware (seulement pour D.S 3.1 / 3.2):

fxp://ftp.compuware.com/pub/driverstudi ... OSINFO.DAT

remplacer le fichier situé dans windows\system32\drivers et rebootez.

pour les autres D.S rendez-vous ici :

hxxp://frontline.compuware.com/nashua/kb/doc/1846.asp

-Installation de Softice

Si vous installez Softice seul (par ex. la version NT 4.05), vous n'avez en principe rien besoin de faire en plus. Installez le et c'est tout...

Pour D.S vous aurez le choix d'installer les composants Host et/ou Target. Si vous ne faites pas de remote debugging (debugging distant, c-a-d entre différents PC) vous pouvez n'installer que les composants Host, dans ce cas vous débuggerez sur votre PC et seulement celui-ci.

Si vous choississez de faire du Remote debugging, installez les composant Host sur la machine hôte (celle qui débug) et les composants Target sur la machine que vous souhaitez debugger (en n'installant que les composants Target vous ne pourrez pas débugger directement sur la macine cible [target], dans ce cas installez les deux composants). Pour plus de précision sur le remote debugging, voir question plus bas.

-Erreur Code 31
Vous ne pouvez pas démarrez Softice et obtenez ce message d'erreur (possiblement en anglais) :

Erreur Code 31
Un péripherique attaché au systéme ne fonctionne pas correctement


Si vous disposez d'un processeur 64 bits, c'est un problème de PAE (Physical Address Extension)

Ouvrez votre fichier boot.ini à la racine de C:\

il devrait ressembler à qque chose comme ca :

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professionnel" /noexecute=optin /fastdetect /noguiboot


Vous devrez ajouter l'option /NOPAE :

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professionnel" /noexecute=optin /fastdetect /noguiboot /NOPAE


Sauvez le boot.ini, rebootez.

-Comment breaker sur un programme ?

1) Chargez un programme avec le symbol Loader de softice. Celuic-i vous indique une erreur, indiquez lui que vous souhaitez quand même continuer

2) Modifiez votre programme pour mettre un opcode CC (int 3) dans votre programme. Demarrez softice et tapez: BPINT 3. Softice va désormais faire un handling sur toutes les INT3. démarrez alors votre programme, Softice devrait arriver !

3) Utilisez la fonction "Break & Enter" du programme LordPE, en utilisant aussi la commande BPINT 3. (chez certains cette manière est celle qui fonctionne le mieux et est la moins contraignante).

-Softice ne break pas sur les apis !

1) assurer vous que votre winice.dat contient les fichiers exportant les apis sur lesquels vous souhaitez poser un BP.

2) Assurez vous d'être dans le context de l'application que vous débugger. Si vous la charger avec le module loader vous êtes dans le context approprié, sinon faites la commande ADDR sous cette forme (3 choix possibles):

ADDR pid (process ID)
ADDR nom du module
ADDR KPEB (addresse linéaire d'un PEB Kernel)

3) [D.S 3.0 / 3.1] Ces versions de Softice travaillent dans ce que l'on appelle un context sensitif de breakpoints. Ainsi les breakpoints ne fonctionne que pour un espace mémoire spécifique (et non en globalité). Pour revenir à l'ancien système, donnez cette commande à softice:

set BreakInSharedMods on

"Operating behavior of breakpoints in shared ring 3 modules. In versions of SoftICE prior to 3.0, breakpoints set in shared ring3 modules would hit according to the description as defined in the Using SoftICE book, Chapter 7, "Understanding Breakpoint Contexts." In 3.0, we changed this so that breakpoints would only hit within the context in which the breakpoints were set. For Version 3.1, we have now added a SoftICE environment variable to toggle the behavior of shared ring3 breakpoints. By default, breakpoints only trigger in the context in which they were set. To change to the pre-3.0 behavior, from the SoftICE command line, issue the command set BreakInSharedMods on. Note that all breakpoints will have to be cleared with a bc * and then reset after changing this value. For shared ring 3 module breakpoints, it is possible for your application (or another application that is sharing the module) to end up crashing. This is due to copies of the physical pages that the code pages reside on being present and SoftICE not tracking these copies. Any such ring 3's left around in memory will cause crashes. There is currently no easy workaround. One possible solution would be to issue the set i3here on command to allow for user mode int3's to trigger SoftICE, and then modify the byte in memory, replacing it with the original code byte."


Attention ! Notez que D.S 3.2 est revenu à un mode de BP global (merci !). Il n'est donc plus nécessaire de choisir le processus.


-Je n'arrive pas à breaker sur GetDlgITemText (par ex.)


Beaucoup d'API existe en deux versions et sont suffixées par une lettre indiquant dans quel système de caractère elle sont utilisées :

A pour ASCII
W pour Unicode [Wide chars]

ainsi vous devriez utiliser soit GetDlgItemTextA ou GetDlgItemTextW pour pouvoir breaker.

-Comment faire un break sur une API en Visual Basic ?

Vérifiez votre Winice.dat pour voir s'il importe bien les dll VB (cf. winice.dat ci dessous). Ensuite vous devez préfixer l'api VB avec le nom de la dll, et n'oubliez surtout pas qu'il y a deux underscores ('__') avant le nom de l'api. Voici la syntaxe exacte :

bpx msvbvm60!__vbastrcmp


-hmemcpy ne fonctionne pas !

La fonction hmemcpy n'existe plus sur les environnements NT. Elle n'est donc disponible que sur les windows 9x.

-Je cherche un Winice.dat

à installer dans Windows\System32\Drivers

(Winice.dat courtesy of Kaine)

PENTIUM=ON
NMI=ON
ECHOKEYS=OFF
NOLEDS=OFF
NOPAGE=OFF
SIWVIDRANGE=ON
THREADP=ON
LOWERCASE=OFF

PHYSMB=384
SYM=512
HST=256
MACROS=32
DRAWSIZE=2048

INIT="lines 60;ww;wl;wr;wd 24;wc 24;code on;x;"

F1="h;"
F2="^wr;"
F3="^src;"
F4="^rs;"
F5="^x;"
F6="^ec;"
F7="^here;"
F8="^t;"
F9="^bpx;"
F10="^p;"
F11="^G @SS:ESP;"
F12="^p ret;"
SF3="^format;"
AF1="^wr;"
AF2="^wd;"
AF3="^wc;"
AF4="^s 0 l ffffffff 56,57,8b,7c,24,10,8b,74,24,0c,8b,4c,24,14,33,c0,f3,66,a7;"
AF5="CLS;"
AF11="^dd dataaddr->0;"
AF12="^dd dataaddr->4;"
CF1="altscr off; lines 60; wc 32; wd 8;"
CF2="^wr;^wd;^wc;"

; WINICE.DAT
; (SystemRoot\System32\Drivers\WINICE.DAT)
; for use with SoftICE for Windows NT (versions 3.0 and greater)
;
; ***** Examples of export symbols that can be included *****
; Change the path to the appropriate drive and directory
EXP=\SystemRoot\System32\hal.dll
EXP=\SystemRoot\System32\ntoskrnl.exe
EXP=\SystemRoot\System32\ntdll.dll
EXP=\SystemRoot\System32\kernel32.dll
EXP=\SystemRoot\System32\user32.dll
EXP=\SystemRoot\System32\csrsrv.dll
EXP=\SystemRoot\System32\basesrv.dll
EXP=\SystemRoot\System32\winsrv.dll
EXP=\SystemRoot\System32\Msvbvm50.dll
EXP=\SystemRoot\System32\Msvbvm60.dll
EXP=\SystemRoot\System32\gdi32.dll
EXP=\SystemRoot\System32\comdlg32.dll
EXP=\SystemRoot\System32\shell32.dll
EXP=\SystemRoot\System32\advapi32.dll
EXP=\SystemRoot\System32\comctl32.dll
EXP=\SystemRoot\System32\crtdll.dll
EXP=\SystemRoot\System32\version.dll
EXP=\SystemRoot\System32\mpr.dll
EXP=\SystemRoot\System32\olesvr32.ll
EXP=\SystemRoot\System32\olesvr.dll
EXP=\SystemRoot\System32\kuser.dll


-Où puis je trouver toutes les commandes de Softice ?

Il existe un ficher d'aide nommé "SoftIce command reference's" (compuware/driver studio/books) en PDF.

-Comment passer mon clavier en FR (AZERTY) ?

1) Recherchez un utilitaire nommé Keymap.exe (normalement dans Program Files\Compuware\DriverStudio\SoftICE\Tools).
2) Copiez ce programme dans c:\windows\system32\drivers\
3) Démarrez un Shell en tapant : Windows+R => cmd
4) faites un "dir" vers le chemin c:\windows\system32\drivers\
5-a) pour windows NT tapez : keymap.exe ntice.sys
5-b) pour windows 9x tapez: keymap.exe winice.exe
6) rebootez

pour revenir au clavier par défaut (U.S)

recommencez les étapes ci-dessus, sauf :
5-a) pour Windows NT tapez: keymap.exe ntice.sys /USA
5-b) pour Windows 9x tapez: keymap.exe winice.exe /USA

-Softice semble être reconnu par des anti-debugs, comment éviter cela ?

La meilleur chose est d'installer IceExt (actuellement en v0.67). Disponible à cette adresse :

hxxp://stenri.pisem.net/

IceExt v0.66 - Support D.S 3.2 -Implemented as internal NTIce commands:
memory dumping, SoftICE screen dumping, tetris game,
kernel-mode MP3 player, online help. SoftICE anti-detection
technology: anti-MeltICE, MeltSiwVid, MeltSiwSym,
INT3 BackDoor, INT3 BoundChecker interface, INT1 single
step & EIP+2 detection, anti INT41 (experimental),
NtSystemInformation with SystemModulesInformation NTICE.SYS
check e.t.c. Command parser accepts expressions wherever
possible. Sources are included (use custom setup).


-Mon horloge windows est bloquée, est-ce normal ?

Softice gèle l'horloge de windows (en réalité c'est tout windows qui est gelé), petit à petit votre horloge va dériver, ou carrément être hors phase. Vous devrez la remettre à l'heure manuellement ou avec un outils de synchronisation [Windows XP a un outil de synchro intégré].

-Le remote debugging c'est quoi ? [+VMWARE]

Le remote debugging vous permet de débugger sur une machine distante. Vous pouvez soit le faire par réseaux ou par cable null-modem (un cable en série). Ceci nécessite de relier deux PC entre eux.

VMWARE est une machine virtuelle (VM pour Virtual Machine) permettant d'avoir un second O.S tournant dans une machine virtuelle. Ceci fait vous pouvez en ce cas faire du remote debugging sur un seul P.C. Notez que VMWARE 4.5.x est compatible D.S 3.1. Grâce à cela vous pouvez ne débugger que sur une seule machine. Voici un tut pour établir une connexion entre Softice et la machine virtuelle.

http://neitsabes.online.fr/RE/HIRE/Sice_VMWARE.html

-Sous VMWARE, CTRL+D fait ramer le processeur et la fenêtre de softice n'apparait pas !

Avez vous installé les VMWARE tools ? Dans la négative, faites le ! (et rebootez la VM)

- Ensuite si ca ne fonctionne toujours pas :

Dans le répertoire où est située votre VM, ouvrez le fichier *.vmx avec un éditeur de texte.

Ajoutez ces lignes à la fin :

Code: Tout sélectionner
vmmouse.present = FALSE
svga.maxFullscreenRefreshTick = 5


sauvegardez, rebootez la VM, CTRL+D devrait faire apparaitre la fenêtre de Softice à présent.

-Existe t'il des tutoriaux sur l'utilisation de Softice en Francais ?

Le guide de Falcon16, surement le meilleur quand à l'utilisation de Softice (certaines parties sont un peu vieilles mais celle sur les touches et raccourcis et toujours d'actualité) :

http://membres.lycos.fr/falcon16/cours/softice.zip

Le millenium cracking tut d'Acid Burn (plutôt des exemples d'utilisation sur des programmes)

http://66.98.132.48/fravia/millenium.html

-En Anglais ?

Surement le plus connu : Mammon_'s Tales to his Grandson, Mankind comes into the Ice Age.

http://newdata.box.sk/neworder/cracking/ice.html

- Quel est la réponse à la vie, l'univers et le reste ?
42

Neitsa
Dernière édition par Neitsa le 27 Avril 2006, 14:05, édité 23 fois.
Neitsa
 

Messagepar Invité » 27 Décembre 2004, 10:41

Bonne FAQ ! quand je passerais à SI je l' imprimerais :)
Merci Neitsa :)
Invité
 

Messagepar Thierry The One » 27 Décembre 2004, 11:00

Merci pour cette F.A.Q très complète ;)
Faudrait la mettre en POST-IT :p
Avatar de l’utilisateur
Thierry The One
Modérateur
Modérateur
 
Messages: 952
Inscription: 24 Mai 2004, 10:46
Localisation: Au milieu de l'océan

Messagepar BeatriX » 27 Décembre 2004, 11:07

très bonne idée :) je rajoute que effectivement, Soft Ice driver suite 2.6 , 3.0 beta ne fonctionnent pas bien sur XP (sans SP)...Une fois SI lancé, la fermeture de la session XP ou de l'ordinateur est tout simplement impossible ! Mais par contre, SI démarre très bien, il débugge également très bien !!
Avatar de l’utilisateur
BeatriX
Modérateur
Modérateur
 
Messages: 1302
Inscription: 13 Juin 2004, 15:07

Messagepar Kaine » 27 Décembre 2004, 12:22

hehehe ! Super idée cette FAQ Neitsa !

EDIT :

Je l'ai mis en Post-it pour la peine ;)
Kaine
Modérateur
Modérateur
 
Messages: 1311
Inscription: 19 Mars 2004, 14:50
Localisation: Chez moi

Messagepar Crisanar » 27 Décembre 2004, 13:50

Merci beaucoup Neitsa, j'espère que les "nouveaux" prendront la peine de lire ton post-it ;)
Qui se dévoue pour faire la même chose avec Olly ;)
Avatar de l’utilisateur
Crisanar
Semi-Dieu du cracking
Semi-Dieu du cracking
 
Messages: 1821
Inscription: 23 Mai 2004, 16:52
Localisation: Belgique

Messagepar Darus » 27 Décembre 2004, 14:37

merci Neitsa, pour olly pas besoin de faq d'installation, je pense que c'est assez simple
Darus
Apprenti
Apprenti
 
Messages: 56
Inscription: 28 Août 2004, 12:45

Messagepar load.exe » 27 Décembre 2004, 15:20

slt...hé bien,c'est du bon boulot tout ca...
Je crois que ca va limiter les question sur numega...
@+++
edité: par contre si quelqu'un peut indiquer ou trouver driver suite 3.1,j'ai chercher mais en vain...peut-etre mal chercher?bon je continue...
Avatar de l’utilisateur
load.exe
Monster Crackeur !!!
Monster Crackeur !!!
 
Messages: 370
Inscription: 25 Novembre 2004, 18:19
Localisation: Proche du douaisis

Messagepar Neitsa » 27 Décembre 2004, 22:50

Merci à vous tous :D

update FAQ softice :

27/12 : Passage du clavier en FR et fonction break and enter de lord PE (Merci à Mars de m'y avoir fait penser).

06/01: installation / IceExt / remote debugging

21/01/: break sur API VB

25/02/ : Dernière version de D.S en date est la 3.2 (XP SP2 support) / iceext passe en 0.66 (compat D.S 3.2)

2/03 : ice ext 0.67

15/03 : les contexts de BP's sont globaux sous D.S 3.2 à présent (au contraire de D.S 3.0 et 3.1)...

20/10 : retouche concernant D.S 3.2

22/11 : ajoute "Erreur code 31" concernant les processeurs 64 bits et l'extension d'adressage physique (PAE)

Amicalement, Neitsa.
Dernière édition par Neitsa le 22 Novembre 2005, 02:12, édité 6 fois.
Neitsa
 

Messagepar amateur sans pretention » 15 Février 2005, 20:44

Neista,
Enfin quelqu'un qui prend la peine de venir en aide au débutants.
De tel initiative devrait se multiplier car n'oublier pas qu'un jour nous avons tous été petit et comme on dit on à toujours besoin un jour d'un plus petit que soit.
Encore merci pour cette aide précieuse
amateur sans pretention
 

Messagepar ElKasser » 01 Octobre 2005, 03:30

Merci infiniment Neitsa :D
Vive l'Underground,...
Avatar de l’utilisateur
ElKasser
Elève
Elève
 
Messages: 54
Inscription: 01 Octobre 2005, 02:41

Messagepar mastermatt29 » 13 Novembre 2005, 18:35

Merci beaucoup pour cette FAQ ! Je viens d'installer Soft-Ice et je dois dire qu'elle m'a servi ! :D
Avatar de l’utilisateur
mastermatt29
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 149
Inscription: 06 Juin 2005, 06:26
Localisation: Nowhere...

Messagepar Neitsa » 22 Novembre 2005, 01:59

Ajout de "Erreur code 31", problème rencontré par Bck. Ne concerne que les procos 64 bits.
Neitsa
 

Messagepar BeatriX » 22 Novembre 2005, 19:02

oui, merci Neitsa pour ce travail sur Soft Ice :)

Enfin quelqu'un qui prend la peine de venir en aide au débutants.
De tel initiative devrait se multiplier car n'oublier pas qu'un jour nous avons tous été petit et comme on dit on à toujours besoin un jour d'un plus petit que soit.

Je n'entre pas dans cette polémique mais ceci mérite d'être nuancé. Je pense qu'il y a de nombreux reversers qui ont de réelles compétences ici qui partagent facilement leurs connaissances et qui viennent en aide gentiment et très rapidement à ceux qui en ont besoin. Je nie donc cette affirmation en remerciant tous les reversers pour leur aide et remarques précieuses sur ce forum comme ailleurs...désolé pour le hors sujet ;)
Image
Avatar de l’utilisateur
BeatriX
Modérateur
Modérateur
 
Messages: 1302
Inscription: 13 Juin 2004, 15:07

Messagepar ++Meat » 22 Novembre 2005, 19:31

J'accepte tes remerciements bea :)
Astral UNiVERSAL HQ
http://astral.tuxfamily.org/
Avatar de l’utilisateur
++Meat
King of Cracking
King of Cracking
 
Messages: 765
Inscription: 05 Juillet 2005, 19:54
Localisation: Hyperspace

Suivante

Retourner vers Outils

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

cron