Site partenaire
 IP Scan :
Home
  Accueil
SH en favoris
- FORUMS -
Livre d'Or
- CHAT -
NewsLetter
Suggestions
La Team du Site
Accès Team SH
Faites un don !
Contacts
 
Services
  Liens
Source HTML viewer
DownLoad
Mail Anonyme
 
Les Articles
  Cracking
Théorie
Programmation
Failles [techniques]
Les Adresses IP
FingerPrinting
Utilisation de proxy
Divers
 
WallPapers Galerie
   
Partenaires
  The Hackademy Web, Journal et School

 
 Main Message
 
Le recrutement au sein de la Team SH est suspendu pour une durée indéterminée...

Pour surfer sur ce site, vous devez accepter le disclaimer.

Vous pouvez contribuer au développement du site en faisant un don. SecurityHack a besoin de vous !

 
 Assembleur
 
Quelques routines en ASM Win32

Salut à toi,

Voici quelques routines ASM
Description en commentaire sur chacunes des routines
Rien de bien méchant comme code
Elles effectuent des opérations relativement courante, mais souvent très pratiques :)

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
FillWith0 PROC
;
; Auteur: Bigbang
;
; Initialise à 0
;
; Paramètres: - EDX: Pointe sur l'emplacement mémoire à vider
; - ECX: longueur
; Retour: (rien)
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

test ecx,ecx
je short @fin
@deb:
mov BYTE PTR [edx], 0
inc edx
dec ecx
jnz short @deb
@fin:
ret

FillWith0 ENDP


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
szlen PROC
;
; Auteur: Bigbang
;
; Calcule la longeur de la chaine sans le \0
;
; Paramètres: - EDX: Pointe sur la chaine
; Retour: - EAX: strlen
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

xor eax, eax
xor ecx, ecx
@deb:
mov cl, BYTE PTR [edx]
test cl, cl
je short @fin
inc eax
inc edx
jmp short @deb
@fin:
ret

szlen ENDP


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
ConvertToASCII proc near
;
; Source: Rip from jB Keygenme #01
; Convertit en chaine affichable.
;
; Paramètres: - ECX; nombre de caractères
; - ESI: chaine d'entrée
; - EDI: chaine de sortie
; Retour: (rien)
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

var_8 = dword ptr -8
var_4 = dword ptr -4

enter 8, 0

mov [ebp+var_4], ecx
xor ecx, ecx
xor eax, eax
mov [ebp+var_8], eax

@deb:
mov al, [esi+ecx]
mov ebx, eax
shr eax, 4
add al, 90h
daa
adc al, 40h
daa
mov edx, [ebp+var_8]
add edx, ecx
mov [edi+edx], al
inc [ebp+var_8]
mov al, bl
and eax, 0Fh
add al, 90h
daa
adc al, 40h
daa
mov edx, [ebp+var_8]
add edx, ecx
mov [edi+edx], al
inc ecx
cmp ecx, [ebp+var_4]
jnz short @deb

leave
retn

ConvertToASCII endp


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
bnultohexa PROC dwnbr:DWORD, pszDst:DWORD
;
; Auteur: BruNews
;
; Convertit un nombre en chaine ASCII
; Paramètres passés par la pile:
;
; push offset szOut ; chaine de sortie
; push eax ; number à convertir
; call bnultohexa
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

mov eax, [esp+4]
mov ecx, [esp+8]

or eax, eax
jnz short hexa1

lea eax, [ecx+1]
mov byte ptr[ecx], '0'
mov byte ptr[eax], 0

ret 8

hexa1:
mov edx, eax
push ecx

uthNoZero:
mov eax, edx

and eax, 15 ; EAX = EDX % 16

shr edx, 4 ; EDX = EDX / 16

add eax, '0'

cmp eax, 57
jbe short uthInsStr

add eax, 7

uthInsStr:
mov [ecx], al

inc ecx

test edx, edx
jnz short uthNoZero

pop edx

mov byte ptr[ecx], 0 ; terminate the string

push ecx

uthRevStr:

dec ecx

mov al, [edx]
mov ah, [ecx]

mov [edx], ah
mov [ecx], al

inc edx

cmp edx, ecx
jb short uthRevStr

pop eax

ret 8

bnultohexa ENDP


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
maj2min PROC
;
; Convertit une chaine de caractère en minuscules
;
; Paramètre: EDX pointe sur la chaine
; Retour: (rien)
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

debut:
mov al, BYTE PTR [edx]

cmp al,0
je short fin

cmp al, 41h
jb short inter

cmp al, 5Ah
ja short inter

or al, 20h
mov BYTE PTR [edx], al
inter:
inc edx
jmp short debut
fin:
RET

maj2min ENDP


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
ExtractLetters proc near
;
; Récupère uniquement les lettres d'une chaine
; Paramètres: - ESI: chaine d'entrée
; - EDI: chaine de sortie
;
; Retour: EAX: nombre de lettres copiées
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

xor eax, eax
xor edx, edx
@deb:
mov dl, BYTE PTR [esi]

test dl, dl
je short @fin

cmp dl, 39h
jbe short @inter

mov BYTE PTR [edi], dl
inc eax
inc edi
@inter:
inc esi
jmp short @deb

@fin:
mov BYTE PTR [edi], 0
ret

ExtractLetters endp

 

Bigbang

Welcome To SecurityHack.net Articles catalogue

securityhack.net v 4_2
 
Les Sous-domaines
  Projet JackShell
+ Challenge BigContest +
JackTrojan
Forums
Chat IRC
 
Chat Box
 
Up Down
Pseudo :
Message :

 
Box News !
 
 

01 visiteur(s) online
© 2003, 2004 www.SecurityHack.net | Admin : Shad0w ; Webmasters : P41f0x, Dark-Jedi