Win nt or not ? that is the question ...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 421 fois - Téléchargée 29 fois

Contenu du snippet

find wether your windows is NT or not

Source / Exemple :


; editied with emacs
; compiled with masm32
; julien barbier || write0

.486
.model flat, stdcall

option casemap:none

include \tools\masm32\include\windows.inc
include \tools\masm32\include\user32.inc
include \tools\masm32\include\kernel32.inc
	
includelib \tools\masm32\lib\kernel32.lib
includelib \tools\masm32\lib\user32.lib

.data

MsgTitle	db "Version of your OS", 0
WinNt		db "Windows NT", 0
WinX		db "Windows not NT", 0

.code
start:
	call GetVersion
	or eax, eax
	jns winnt
	mov edx, offset WinX
	jmp aff
winnt:
	mov edx, offset WinNt 
aff:			
	push MB_OK + MB_ICONINFORMATION
	push offset MsgTitle
	push edx
	push 0
	call MessageBox
	push 0
	call ExitProcess
end start

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 juillet 2006

Mais ce Steven ce prends pour qui !!!
Messages postés
3
Date d'inscription
lundi 3 février 2003
Statut
Membre
Dernière intervention
21 mai 2004

or permet de faire un test sans modifier le registre.

Une petite rectification:
GetVersion renvoit un DWORD qui COMMENCE par 0 (pour les bits)
On test ce bit avec le jns.
Messages postés
3
Date d'inscription
lundi 3 février 2003
Statut
Membre
Dernière intervention
21 mai 2004

Alors pour expliquer un peu mieu a monsieurs le specialiste steven007:

GetVersion renvoit un DWORD qui est 0 si le windows est une version NT.
Avec le or je teste donc si le resultat est 0... rien avoir avec un xor !
d'ailleurs comme te la fait remarquer BlackWizzard xor n'effectue pas du tout une soustraction.

GetVersion:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getversion.asp
Messages postés
1258
Date d'inscription
mercredi 21 mars 2001
Statut
Modérateur
Dernière intervention
21 juin 2009
2
heu...
pour ce que je sais, xor est une operateur mathematique a part entiere, rien a voir avec la soustraction!
xor eax, eax va mettre eax a 0 mais il va rien lui soustraire.
C clair que C plus rapide que mov eax, 0 ou sub eax, eax.
il est cool ton code, j'essayais de recup la version windows d'apres une decompilation d'un virii, mais ça marchais pas...
Messages postés
3
Date d'inscription
lundi 3 février 2003
Statut
Membre
Dernière intervention
21 mai 2004

mais qui es tu pour m accuser de plagia ?
tu me connais ?
1) ce code compile tres bien chez moi.
2) si j ai fais une erreur merci de l avoir trouve et de l avoir signale.
3) pour info, ct mon premier prog en asm ... et je ne l ai copie sur personne
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.