                         *** S o F t I c E   h E l P ***
                                    By Sayan


Salut ce fichier est destine aux personnes voulant commencer a cracker des
progs avec SoftICE.

1)Faire charger les symbols a SoftICE 
 
Pour verifier que SoftICE a charge les symbols pour GetWindowText, entrer dans 
SoftICE en faisant Ctrl+D et tapez ceci: 
	:exp getwindowtext 
Si vous n'obtenez pas toutes les functions GetWindowText listes alors 
il faut editer le fichier \SIW95\WINICE.DAT et enlever les (';') devant les
dll suivantes : kernel32.dll, user32.dll, gdi32.dll qui sont les
plus importantes.
 
Ensuite il faut rebooter pour prendre en compte les modifications. 

2)Conseils

Lorsque vous utilisez SoftICE, veillez bien a faire au moins une fois ces instructions
avant de commencer a cracker :

CODE ON : affiche le source en code Hexa, utile pour editer plus tard le fichier .exe 
R       : affiche le contenu des registres
DATA    : affiche la memoire

Pour evitez de tappez cela a chaque demmarage editez /Siw95/winice.dat et
remplacez la chaine INIT par
INIT="X;CODE ON;DATA;R;"

3)Voici une liste des functions qui devraient arreter SoftICE pendant un crack :  
  
Lecture/Ecriture de fichier :  

ReadFile  
WriteFile  
CreateFileA  
  
Lecture de donnees d'un fichier INI :  

GetPrivateProfileStringA  
GetPrivateProfileIntA  
WritePrivateProfileStringA  
WritePrivateProfileIntA  
  
Accs a la base de registre:  

RegCreateKeyA  
RegDeleteKeyA  
RegQueryValueA  
RegCloseKeyA  
RegOpenKeyA  
  
Boites de Dialogues:  

GetWindowTextA  
GetDlgItemTextA  
GetDlgItemInt  
  
Boite de messages:  

MessageBox  
MessageBoxA  
MessageBoxExA  
MessageBeep  
  
Date et Heure :
  
GetLocalTime  
GetSystemTime  
  
GetFileTime  
  
Creation d'une fenetre comme un NAG-Screen :
  
CreateWindowExA
ShowWindow

4)Faire un programme de patch

Voila la source d'un programme de Patch en asm:

---------------------------------------------------------------------- 
---------------------------------------------------------------------- 
.MODEL SMALL
.386
.STACK 100H

.CODE

;AFFICHE LES MESSAGES
Affiche_Message proc
        mov ah,09h
        lea dx,Message1
        int 21h
        lea dx,Message2
        int 21h
        ret
Affiche_Message endp

Modif proc
        push ax          
        mov ah,42h
        xor al,al
        pop bx
        push bx
        mov dx,0EA6Fh
        mov cx,03h
        int 21h          ;VA A L'OFFSET 03EA6H
        mov ah,40h
        pop bx
        push bx
        mov cx,1
        lea dx,TPatch1   ;ET PIS ECRIT L'OCTET
        int 21h

        mov ah,3eh       ;PUTAIN QU'ELLE FEIGNASSE D'AVOIR ECRIT CA :)
        pop bx           ;IL FERME ET ROUVRE LE FICHIER POUR REVENIR A 0
        int 21h
        mov ax,3d02h
        lea dx,File
        int 21h

        push ax
        mov ah,42h
        xor al,al
        pop bx
        push bx
        mov dx,0ECF0h
        mov cx,03h
        int 21h         ;MODIFIT L'OCTET A 03ECF0H
        mov ah,40h
        pop bx
        push bx
        mov cx,1
        lea dx,TPatch2
        int 21h

        mov ah,3eh      ;ET PIS FERME LE FICHIER
        pop bx
        int 21h
        ret
Modif endp

;LE PROGRAMME COMMENCE ICI

debut:
mov ax,@CODE        ;INITIALISE LE SEGMENT DE CODE=DATA
mov ds,ax

mov ax,03           ;CLEAN THE SCREEN 
int 10h

call Affiche_Message ;AFFICHE LES MESSAGE 1&2

mov ax,3d02h
lea dx,File
int 21h               ;ESSAYE D'OUVRIR LE FICHIER
jb Erreur_Ouverture   ;SI UN PROB SAUTE A Erreur_Ouverture

call Modif            ;MODIFIE LE PROGRAMME

mov ah,09h
lea dx,Finish
int 21h               ;AFFICHE LA REUSSITE

jmp end_of_all        ;ET PIS QUITTE

Erreur_Ouverture:     ;AFFICHE UN MESSAGE D'ERREUR
mov ah,09h
lea dx,Erreur
int 21h

end_of_all:

mov ax,4C00h           ;QUITTE LE PROGRAMME
int 21h

Message1 DB "                            Crack for An Application",13,10,"$"
Message2 DB "                             By Anonymous X of XXX",13,10,13,10,"$"

Trying   DB "Try to Patch Setup.exe",13,10,13,10,"$"
File     DB "Setup.exe",0
Erreur   DB "Error:",13,10,"The File Setup.exe can't be found...",13,10,"$"
Finish   DB "Setup.exe successfully Patched!!!",13,10,"$"

TPatch1  DB 0EBh ;Le premier octet est a modifier en 0EBh
TPatch2  DB 085h ;Le deuxieme octet est a modifier en 085H

END debut
---------------------------------------------------------------------- 
---------------------------------------------------------------------- 

5)Conclusion

Voila avec ca vous devriez cracker pas mal de trucs.

By Sayan : sayan@caramail.com
Un peu modifie by SaTaNiK: freaking@caramail.com
