Accueil > Forum > > > > Instruction SYSENTER et WRMSR ???
Instruction SYSENTER et WRMSR ???
lundi 25 août 2003 à 17:11:31 |
Instruction SYSENTER et WRMSR ???

toto8966
|
Utiliser l'instruction Pentium SYSENTER pour exécuter du code en Ring0 au départ de Ring3, c'est normalement possible ! Seulement, y'a un problème. Quand on exécute SYSENTER, le processeur va chercher les parmètres d'appel de l'instruction dans un des registres MSR. Pour pouvoir initialiser un registre MSR, on utilise l'instruction WRMSR (write MSR). Mais pas d'bol, WRMSR ne peut etre utilisée qu'en Ring0 !!!!! Un truc de dingue quoi ? Qui a trouvé le moyen de se servir de SYSENTER ... et surtout qui a réussi a utiliser l'instruction WRMSR au départ du Ring3 ... ou plus simplement, qui a réussi a initialiser un registre MSR au départ du mode utilisateur, quel que soit la facon ? Oui, ... c'est une question a 1000 balles ! suis d'accord ! hi amicalement a tous !
|
|
lundi 25 août 2003 à 20:44:25 |
Re : Instruction SYSENTER et WRMSR ???

Vermifuge
|
Les instructions processeur tel que SysEnter sont faites pour assurer un minimum de sécurité, je doute fort qu'il soit possible de passer en ring0 facilement. Evidement, reste les failles du kernel...( très rares sous nux malheuresement ).
Vermifuge http://codingskillz.free.fr/
|
|
lundi 25 août 2003 à 21:15:27 |
Re : Instruction SYSENTER et WRMSR ???

toto8966
|
Merci de m'avoir répondu, mais ta réponse bien que bien sympathique ne m'apporte pas grand chose. L'instruction SYSENTER est concue pour permettre l'acces au niveau Ring0 depuis une application tournant en Ring3. Il s'agit "presque" d'un "callgate" mais optimisé vitesse. La doc Intel présente en tout cas cette instruction de cette façon. Ma question était, ... pour utiliser SYSENTER (reconnue par l'assembleur en ligne de Delphi, au passage ...) il faut charger les bonnes valeurs dans 3 registres MSR. Comment faire (par quelle méthode) puisque l'instruction WRMSR (write MSR) est une instruction inaccessible en Ring3. Il y a peut etre une autre méthode d'atteindre les registres MSR, ou un moyen de débloquer WRMSR. Tout grand merci de ta réponse Vermifuge. Si tu sais qq chose de plus précis, n'hésite pas ! amicalement
------------------------------- Réponse au message : -------------------------------
> Les instructions processeur tel que SysEnter sont faites pour assurer un minimum de sécurité, je doute fort qu'il soit possible de passer en ring0 facilement. Evidement, reste les failles du kernel...( très rares sous nux malheuresement ). > > Vermifuge > http://codingskillz.free.fr/
|
|
mardi 26 août 2003 à 16:31:59 |
Re : Instruction SYSENTER et WRMSR ???

Vermifuge
|
Désolé, je n'ai jamais étudié ces commandes, mais je viens de coir qu'une source à été ajoutée sur le site qui devrait de permettre de réaliser ton souhait. Cependant, quand je serais un peut moins occupé qu'en ce moment, je jetterais un coup d'oeuil dans les docs intel pour voir ce que je peux trouver. Je te recontacterais à ce moment là.
@+ Vermifuge
|
|
mardi 26 août 2003 à 16:50:28 |
Re : Instruction SYSENTER et WRMSR ???

toto8966
|
Merci de ta réponse. Cherche pas ! L'instruction SYSENTER n'est pas utilisable pour passer simplement en Ring0 depuis le mode utilisateur Ring3. En fait, avant d'utiliser SYSENTER, il faut initialiser 3 registres MSR du processeurs. La seule instruction capable de le faire est WRMSR (Write to MSR). Et bein, WRMSR est uniquement accessible en Ring0 !!! pour faire rapide (très), SYSENTER permet effectivement de passer de Ring3 en Ring0, a condition que l'os soit au courant et te l'autorise avant. Tu parles d'une solution ! hi ! J'ai contacté " Pierre Maurette " par mail a ce sujet, il parle de l'instruction SYSENTER dans son bouquin "assembleur" ... il m'a expliqué ! Au passage, Pierre Maurette, super gars et super bouquin. Oui, la source de l'ami Chris pour passer en Ring0 via le procédé du CallGate .. j'ai vu ... je l'ai contacté ! pas mal du tout ! Je suis en train d'essayer de la transcrire pour la faire tourner sous l'assembleur en ligne Basm de Delphi ... mon but final ! Avoir une procédure en delphi (a laquelle je passe l'adresse de "mon-code", capable de faire tourner "mon-code" en Ring0 ... et retour ensuite Ring3 ! Le CallGate, je connaissais ... je cherchais la d'sus, mais Chris la fait ! Bravo Chris .. Bon, te laisse, encore merci a toi !
------------------------------- Réponse au message : -------------------------------
> Désolé, je n'ai jamais étudié ces commandes, mais je viens de coir qu'une source à été ajoutée sur le site qui devrait de permettre de réaliser ton souhait. Cependant, quand je serais un peut moins occupé qu'en ce moment, je jetterais un coup d'oeuil dans les docs intel pour voir ce que je peux trouver. Je te recontacterais à ce moment là. > > @+ > Vermifuge
|
|
vendredi 29 août 2003 à 00:22:17 |
Re : Instruction SYSENTER et WRMSR ???

CoreBreaker
|
Je savais qu'un callgate pouvait le faire mais à condition que le segment de code qui exécute le callgate soit un segment dit docile (flag de type dans le descripteur de segment) mais l'OS ne mets pas ce flag. Ce bout de code pour passer en Ring0 m'intéresse. Pourrais-tu me le passer STP ou un lien pour l'obtenir. Merci. Core Breaker 
|
|
vendredi 29 août 2003 à 00:28:22 |
Re : Instruction SYSENTER et WRMSR ???

toto8966
|
va voir dans les dernières sources déposées. Ring0 sous XP de Chrishka .. en MASM je suis en train d'essayer d'implémenter ca en BASM + DELPHI ... me faudra un peu de temps ! Moi, j'en étais tjs a la théorie ... mais sur base de cette théorie (via forum), Chrishka a été plus loin ! bravo a lui ! ------------------------------- Réponse au message : ------------------------------- > Je savais qu'un callgate pouvait le faire mais à condition que le segment de code qui exécute le callgate soit un segment dit docile (flag de type dans le descripteur de segment) mais l'OS ne mets pas ce flag. > > Ce bout de code pour passer en Ring0 m'intéresse. Pourrais-tu me le passer STP ou un lien pour l'obtenir. > > Merci. > > Core Breaker  > >
|
|
mercredi 3 septembre 2003 à 00:38:55 |
Re : Instruction SYSENTER et WRMSR ???

CoreBreaker
|
Je n'ai pas vu SYSENTER Mais en fait Chrishka utilises des API. Pour SYSENTER, je vais me documenter chez Dr Doobs. Core Breaker 
|
|
Cette discussion est classée dans : instruction, départ, sysenter, wrmsr, msr
Répondre à ce message
Sujets en rapport avec ce message
instruction MID(vb) en ASM [ par flagyg ]
Bonjour,J'essaye de traduire des codes que j'ai fait en vb en asm. mais je n'arrive pas à programmer la fonction mid.Qqn pourrait me la programmer svp
Instructions ASM [ par BarthOlivier ]
Salut a tous.Je voudrais savoir où je pourrais trouver tout le jeux d'instruction disponible pour un processeur recent (type P3 ou P4 par exemple).Est
Besoin d'explications sur les flags [ par teknocrack ]
salut à tous,je programme habituellement en VB, donc je n'ai pas vraiment la notion de flags, même si en réalité on peut comparer un IF avec un flags-
pb avec l'instruction loop ( bla..ro de 1ere) ! [ par vinc1008881 ]
bonjour tlm voila mon pb ( pour moi s'en n'est un ..) : a:mov ecx, 00000000hloop aet le pb c 'est que le b
Faire des conditions sans instruction J* [ par grandvizir ]
Bonjour,Quand je fais un programme Delphi, je dois souvent faire des IF : if MaVariable then {quelque chose};<
probleme instruction assembleur [ par kadwin ]
bonsoir!! j'ai un petit probleme de comprehension!! si eax = 1001101010 (en binaire) je fais ensuite l'instruction: shl eax, 7 quelle sera la vale
chronomètre radiotélécommandé en langage C [ par afiach ]
Bonjour,Je voudrais chronométrer une course de dragsters, je vous explique le principe..Au départ de la course: je dois donner la top départ moyennant
Instruction test [ par RM50Man ]
Bonjour, question qui pourrait paraitre debile, mais ca sert a quoi de faire par ex:test edx, edxjnz suivantLe test sera toujours égal.Mais aussi, est
Comment faire un sleep en assembleur MIPS ? [ par Yakurena ]
Bonsoir, J'aimerais faire un programme en assembleur MIPS permettant de synchroniser la saisie de caractères au clavier par l'utilisateur et leur affi
de l'Aide.....SVP [ par john491 ]
Bonsoir tout le monde et un grand merci pour tous ceux qui participent a ce forum et nous aident a resoudre nos problèmes.J'ai le programme suivant :
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|