Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Windows > Win XP

Win XP Forum d'entraide Windows XP. Avant de poster : La F.A.Q Windows XP

Réponse
 
Outils de la discussion
Vieux 02/08/2007, 10h06   #1 (permalink)
Invité régulier
 
Date d'inscription: décembre 2004
Messages: 12
Par défaut Accéder à de la mémoire Protégée

Bonjour,

En fait je cherche à recuperer les octets en mémoire qui se trouve apres les octes suivant:
Code :
2C00 0500 0100 0000 ....
Ils sont situé autour de l'adresse 0x859e1820. (se modifie à chaque fois que je redemarre l'ordi)
Je vois la valeur que je veux recupérer avec LiveKD, mais j'aimerais construire un outils qui me récupere ces octets.

Or quand je code un outils pour faire celà, j'ai une erreur, en effet, un processus utilisateur ne peut pas accéder à de la mémoire dans la partie réservé à l'OS.(à cause du "mapping")

(corrigez moi si je me trompe )

En recherchant sur le net, on m'a conseillé de coder un driver, pour pouvoir accéder à cette partie de la mémoire.
Etes vous d'accord? Est ce que ca peut fonctionner?

Autre chose si je hook un processus noyau, est ce qu'il pourrait accéder à tous l'espace noyau? Ou toujours pas à cause du mapping?

En passant je travaille sur un OS de type Windows XP sp2 ou Vista

Merci à ceux qui se pencheront dessus
burma1984 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/08/2007, 10h12   #2 (permalink)
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Date d'inscription: septembre 2005
Localisation: Île-de-France
Âge: 24
Messages: 15 883
Envoyer un message via MSN à Médinoc
Par défaut

Je suppose que LiveKD est bien un Debugger de Kernel (Kernel Debugger) ?

Eh bien comme un processus utilisateur n'a aucun accès direct à la mémoire du kernel, ces informations ne peuvent être obtenues que de deux façons :
  • Les demander gentiment au kernel (Notamment avec les fonctions de NTDLL.DLL, plus ou moins documentées dans le DDK).
  • Ou les prendre de force, et pour ça il faut faire un driver en mode kernel (Kernel-Mode Driver).
__________________
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone.
-- Raymond Chen.

Pas de questions techniques par MP, Surtout si je ne vous ai pas déjà répondu, merci.
Pour les questions techniques, il y a le forum.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/08/2007, 12h01   #3 (permalink)
Membre habitué
 
Date d'inscription: janvier 2007
Messages: 155
Par défaut

Citation:
Envoyé par burma1984
Bonjour,

En fait je cherche à recuperer les octets en mémoire qui se trouve apres les octes suivant:
Code :
2C00 0500 0100 0000 ....
Ils sont situé autour de l'adresse 0x859e1820. (se modifie à chaque fois que je redemarre l'ordi)
Je vois la valeur que je veux recupérer avec LiveKD, mais j'aimerais construire un outils qui me récupere ces octets.

Or quand je code un outils pour faire celà, j'ai une erreur, en effet, un processus utilisateur ne peut pas accéder à de la mémoire dans la partie réservé à l'OS.(à cause du "mapping")

(corrigez moi si je me trompe )

En recherchant sur le net, on m'a conseillé de coder un driver, pour pouvoir accéder à cette partie de la mémoire.
Etes vous d'accord? Est ce que ca peut fonctionner?

Autre chose si je hook un processus noyau, est ce qu'il pourrait accéder à tous l'espace noyau? Ou toujours pas à cause du mapping?

En passant je travaille sur un OS de type Windows XP sp2 ou Vista

Merci à ceux qui se pencheront dessus
Bon j'ai posté une réponse dans l'autre post.
Bien sur qu'un kernel driver ca marche...
Par contre tu te prépares des moments difficiles faits de BSOD...
Et personellement, j'espère que c'est pour une application maison... Enfin je veux dire si tu utilises ce genre de driver dans un prog largement diffusé tu ouvres grand la porte aux gros problemes.

Hooker du ring0, il me semble que tu ne peux le faire qu'en ring0 et c'est pas trivial. Donc driver again.

J'aimerais savoir la finalité de ton application.
darkvadr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/08/2007, 13h36   #4 (permalink)
Invité régulier
 
Date d'inscription: décembre 2004
Messages: 12
Par défaut

dans le cadre de mon stage en sécurité informatique, je cherche à récuperer des informations du noyau de Windows.
Donc en faite, si ca crach mon pc, c'est pas bien méchant, si au moins j'ai pu les recuperer
c'est ce qu'on appelle du branquinolage non
voilà, merci pour les conseils, je posterai ma solution quand je trouverai car je vais trouver et réussir , et si qqun a une idée n'hésitez pas

Dernière modification par burma1984 ; 06/08/2007 à 14h28
burma1984 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Windows > Win XP



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 10h32.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations