StaticREvenge
Messages postés9Date d'inscriptionlundi 18 août 2003StatutMembreDernière intervention26 août 2003
-
26 août 2003 à 13:28
Bombela
Messages postés225Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention30 juillet 2008
-
23 oct. 2005 à 20:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Bombela
Messages postés225Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention30 juillet 2008 23 oct. 2005 à 20:49
Ça sert à faire des choses pas bien ;)
Plus sérieusement, le ring0, c'est le niveau d'execution du kernel...
Un programme ne devrai jamais, mais vraiement jamais être en ring0, mais en ring3.
Les autres rings (ring1 et ring2) ne sont pas utilisé sous windows.
On peux dire qu'aucun système ne les utilises. Linux ne déroge pas à la règle ;)
Les rings sont géré au niveau du processeur même. C'est intel qui à inventé ça, dans son pentium.
Si un programme est en ring0, c'est qu'il veut faire des choses non recomendable ;)
Car à ce niveau là, il a tous les droits, même au niveau matériel !
À bon entendeur, salut !
cs_viran
Messages postés104Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention31 décembre 2006 22 oct. 2005 à 14:29
Tu peux donner plus d'infos sur ce qu'est exactement le ring0 et a quoi ca sert mci!
cs_viran
Messages postés104Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention31 décembre 2006 10 avril 2005 à 23:45
Je n"arrive pas a le compiler, pourrais tu donner plus de précisions et joindre un compile.bat si possible?
Merci d'avance.
Viran.
cs_quoi
Messages postés11Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention26 mai 2008 1 févr. 2005 à 13:53
c'est dommage qu'on peut pas savoir si
ton exemple fonctionne
ex:un messagebox avec des valeurs qui ce trouve
dans une zone mémoire ou on peut pas lire
en ring3
Bombela
Messages postés225Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention30 juillet 2008 17 sept. 2004 à 13:12
C'est le principe de fonctionnement des PC intel à base de 8486...
@+
falcon007de
Messages postés5Date d'inscriptionsamedi 19 octobre 2002StatutMembreDernière intervention 8 octobre 2005 16 sept. 2004 à 20:29
salut peux-tu me donner le site dans l´internet ou tu as trouver ces informations sur le Ring 0 sur NT
Bombela
Messages postés225Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention30 juillet 2008 1 juin 2004 à 13:43
C'est topu simple, le sheduler de Windows ce retrouve d'un coup avec du code ring 3 passé en ring 0 !!!
DOnc, il ne sait plus quoi faire !! Erreur de page et puis surtout erreur de changement de tâche.
Pour que ça marche, le code ne doit pas durer plus de 10 millisecondes et ne doit pas être interrompu par une int !
Le code est donc a revoir...
chmerlier
Messages postés4Date d'inscriptionjeudi 4 septembre 2003StatutMembreDernière intervention24 octobre 2005 4 sept. 2003 à 16:33
Dans le même esprit, regarder le GiveIO.sys.
Donne accés au ring0 via un driver, tres bien fait ...
Chrishka
Messages postés21Date d'inscriptiondimanche 17 août 2003StatutMembreDernière intervention27 mars 2004 28 août 2003 à 10:55
Petite astuce, tu vas dans panneau de config / système / avancé et dans démarrage et récupération tu fais paramètre, et la dans écriture des informations de débogage, tu mets image mémoire du noyau. vu que le kernel dure un peu plus longtemps, tu devrais avoir le temps de lire le nom de l'exception qui s'est produite avant que l'ordi redémarre. Moi ce que je trouve mystique c'est qu'il marche pas hier et qu'il marche aujourd'hui ;)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 28 août 2003 à 10:32
mov eax,[ebp+42]
; boucle de perte de temps
mov ebx, eax
mov edi, 2 ; * 12345678h
decEdi:
mov eax, ebx
dec edi
jz short LBLend
LBL1:
add edx, 2
inc ecx
dec eax
jnz short LBL1
jmp short decEdi
LBLend:
mov temoin,eax
etc...
Avec cela j'ai eu reboot instantane de lui meme, mystique non ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 28 août 2003 à 10:03
Alors la c'est trop fort, ce matin le meme exe passe impec. Ensuite je le reassemble avec une enorme boucle dans le ring0 pour verifier CLI, le prob est que plus de clavier ni souris et il n'est jamais ressorti de cet etat donc reboot, pourquoi ??? Des que j'ai 5 minutes dans la journee je refais divers tests.
Chrishka
Messages postés21Date d'inscriptiondimanche 17 août 2003StatutMembreDernière intervention27 mars 2004 28 août 2003 à 02:23
euh oui moi
c possible d'avoir plus de précision sur l'erreur ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 28 août 2003 à 00:24
J'ai assemble, lance exe. Resultat XP me jette comme un malpropre. Quelqu'un d'autre aurait-il essaye sur XP ?
Chrishka
Messages postés21Date d'inscriptiondimanche 17 août 2003StatutMembreDernière intervention27 mars 2004 27 août 2003 à 12:48
Nouvelle maj, j'ai changé 2,3 trucs qui n'allaient pas, et j'ai viré 2,3 trucs qui servaient à rien...
Chrishka
Messages postés21Date d'inscriptiondimanche 17 août 2003StatutMembreDernière intervention27 mars 2004 26 août 2003 à 21:58
Voilou c'est fait
Chrishka
Messages postés21Date d'inscriptiondimanche 17 août 2003StatutMembreDernière intervention27 mars 2004 26 août 2003 à 21:53
ooops premier bug trouvé, j'ai mal codé la fonction de recherche d'un callgate libre, du coup le prog a beaucoup de chance d'écraser un callgate existant au lieu d'en installer un nouveau. Mais ça n'a pas l'air d'avoir un impact majeur sur le système, en tout cas moi j'avais rien vu d'anormal. Je mets à jour les sources tout de suite
StaticREvenge
Messages postés9Date d'inscriptionlundi 18 août 2003StatutMembreDernière intervention26 août 2003 26 août 2003 à 13:28
Sympa la source, ca sert toujours ce genre de chose... héhé, l'asm c'est vraiment un language d'enfoiré ;)
23 oct. 2005 à 20:49
Plus sérieusement, le ring0, c'est le niveau d'execution du kernel...
Un programme ne devrai jamais, mais vraiement jamais être en ring0, mais en ring3.
Les autres rings (ring1 et ring2) ne sont pas utilisé sous windows.
On peux dire qu'aucun système ne les utilises. Linux ne déroge pas à la règle ;)
Les rings sont géré au niveau du processeur même. C'est intel qui à inventé ça, dans son pentium.
Si un programme est en ring0, c'est qu'il veut faire des choses non recomendable ;)
Car à ce niveau là, il a tous les droits, même au niveau matériel !
À bon entendeur, salut !
22 oct. 2005 à 14:29
10 avril 2005 à 23:45
Merci d'avance.
Viran.
1 févr. 2005 à 13:53
ton exemple fonctionne
ex:un messagebox avec des valeurs qui ce trouve
dans une zone mémoire ou on peut pas lire
en ring3
17 sept. 2004 à 13:12
@+
16 sept. 2004 à 20:29
1 juin 2004 à 13:43
DOnc, il ne sait plus quoi faire !! Erreur de page et puis surtout erreur de changement de tâche.
Pour que ça marche, le code ne doit pas durer plus de 10 millisecondes et ne doit pas être interrompu par une int !
Le code est donc a revoir...
4 sept. 2003 à 16:33
Donne accés au ring0 via un driver, tres bien fait ...
28 août 2003 à 10:55
28 août 2003 à 10:32
; boucle de perte de temps
mov ebx, eax
mov edi, 2 ; * 12345678h
decEdi:
mov eax, ebx
dec edi
jz short LBLend
LBL1:
add edx, 2
inc ecx
dec eax
jnz short LBL1
jmp short decEdi
LBLend:
mov temoin,eax
etc...
Avec cela j'ai eu reboot instantane de lui meme, mystique non ?
28 août 2003 à 10:03
28 août 2003 à 02:23
c possible d'avoir plus de précision sur l'erreur ?
28 août 2003 à 00:24
27 août 2003 à 12:48
26 août 2003 à 21:58
26 août 2003 à 21:53
26 août 2003 à 13:28