Français
Forum

Speicherbereiche au-dessus de de 2GB auslesen?

 
allô gens...

qui virtuelle grenier chaque Prozesses ist dans deux Teile unterteilt:
un Bereich jusqu'à ca. 2GB, qui pour den User einseh et auslesbar ist et un Bereich au-dessus de de 2GB, dans den Strukturen des Kernels gespeichert volonté (comment wohl z.B. qui Access-Token). mon größter Wunsch ist es irgendwann et irgendwie einmal den Kernelspeicher lesen trop peut,

je peux avec meinem Prozess (z.B. avec [...] ) den Kernelspeicher pas auslesen - mais je denke, irgendein Prozess (ou bien un partie en) wird ca wohl peut. qui Prozess System c'est moi diesbezüglich quelque chose ins Auge plaisons - pas seulement des Namens à cause de, mais aussi à cause de anderer Geschichten:
j'ai zwar qui ID des Prozesses et peux un Handle avec allen möglichen Zugriffsrecchten ouvrir, mais seulement un partie qui APIs funktioniert aussi wirklich avec diesem Handle. cela Lecture de Modulen z.B. klappt pas et cela einschleusen einer DLL mittels [...]  aussi pas, quoique je un Handle sur System avec den erforderlichen Zugriffsrechten ouvrir peux.

[box:176c01f1f3]
peux System den Kernelspeicher lesen?

quoi pourrait oui c'est ca verursachen, cela einzelne APIs pas avec diesem Handle marcher? Liegt cela à eingebauten Abfragen sur qui Prozess-ID (ou bien ähnlichem) dedans qui APIs, ou bien liegt es peut-être sogar à dem Handle selbst?
[/box:176c01f1f3]
quoi denkt son? Git es irgendwo Infos? Alles quoi je jusqu'alors trouvé habe, ist NT bezogen et wohl vieilli.
 
07.09.2006  
 



Aaaaaaaaaaaah ...

j'ai mir avec [...]  la fois den Process System quelque chose näher angesehen:
si MS verhinder voudrais, cela so un Schwachkopf comment je à qui de System geladenen Module venez, sollte ensuite wohl besser aussi cela Travailler et Lecture des Prozessspeichers de System interdit volonté .
dans System wird chez mir sous Windows2000 à Adresse 2005401600 (je veux espérer, j'ai mich pas versehen ) qui Dossier WIN32K.SYS geladen. cet Dossier ist le son Internetquellen cela Modul, cela cela Lecture de Speicherbereichen au-dessus de de 2GB permet. WIN32K.SYS pourrait wohl pour Windows 32 Kernel stehen et cela Prozesserzeugende Modul de System son. Demnach ist es maintenant wohl sûrement, cela System comme einziger Prozess grenier au-dessus de de 2GB auslesen et décrire peux. Weitere Module, qui dans cette Prozess geladen volonté, dürften KERNEL32.DLL et NTDLL.DLL son - ist mais encore pas oui c'est ca getestet.
comment fonctionne qui Mechanik ab, qui verhindert un gültiges Handle sur System trop bekommen? Hat quelqu'un une Erklärung?
 
07.09.2006  
 



peut-être sur une Teilungsrest?
 
07.09.2006  
 



comment meinst du cela? si du là irgendeine concept la hâte (égal si es abwegig ou non) Teils mir s'il te plaît avec - il me faut idées.
 
07.09.2006  
 



bof viele Opportunités gibts oui pas. Grunsätzlich bleibt oui seulement a) qui liste et b) qui Funktion.

là ici Performance gefragt ist tippe je sur Funktion. et hierbei bietet es sich doch à cela si cela Handle par X restbehaftet teilbar ist es (k)un Syshandle ist. qui Frage hierbei ist naturellement pour dem X.
 
07.09.2006  
 




Michael
Wodrich
sur den Iczelion-Seiten J'ai eu quelque chose trop MMF MemoryMappedFiles trouvé.

là wurde qui Speicherbereich oui c'est ca beschrieben, quoi alles unterhalb de 4GB liegt et quoi par-dessus - et qui Grund pourquoi MMF seulement max 4 GB (ou bien étions es 2) décrire peux.

Hatte mich erstaunt, quoi là alles angesprochen wurde ( qui Guru était car aussi un technicien dans MS-Diensten).

je grabe la fois, peut-être hat cela partie oui den Weg sur mon Platte trouvé...

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
07.09.2006  
 




Michael
Wodrich
je n'en sais rien si cela déjà alles était ou bien seulement qui partie dedans des Text-Tutoriels. mais ca ist alles quoi je wiederfand - Sorry:

[quote-part:9033556722]
Win95/98 Virtual Address Space Memory Layout:
---------------------------------------------
From 0x00000000 to 0x00000FFF. These first 4KB is used to maintain
compatibility with Win16 and DOS programs. It is unaccessible to any process
raising à exception si a read/write attempt occurs.

From 0x00001000 to 0x003FFFFF. This 4 MB area is alors used for compatibility
issues but is accessible by any process. Off course, il is not recommended
to play with this area.

From 0x00400000 to 0x7FFFFFFF. This 2 GB partition is le private address
space assigned to every running process. Each win32 application receives à
unshared, private 2 GB chunk of virtual address space (dont forget to
subtract le bottom 4MB describe above). At this point, you should not
confuse yourself, windows does not assign 2 GB of your precious memory to
every running thread; this is virtual address space, not physical memory.
Win95/98 (Win98 à partir de now on) judiciously commits and maps physical storage
le every process virtual address space according to its growing necessities.

From 0x80000000 to 0xBFFFFFFF. This partition is 1 GB long and is shared
among espace Win32 process. Here, Win98 maps espace memory allocations, dynamic
link libraries (KERNEL32.DLL, USER32.DLL, GDI32.DLL, ADVAPI32.DLL), memory
mapped files (MMF à partir de now on) and Win16 applications. It is useful to say
that DLL sont always mapped to le same fixed virtual addresses.

From 0xC0000000 to 0xFFFFFFFF. This partition is alors 1 GB long; here is
where le operative system code resides. Unfortunately, this area is alors
accessible to espace win32 processes and that is why Win98 is more prone to
crashing than WinNT.

Now that you know how this wonderful 4 GB world is constrained by
invisible barriers, is time to discuss about le subject of this
tutorial.

Managing memory under win98 can être achieved by three different
strategies: virtual memory allocation, memory mapped files and heaps. Each
method is best suited for certain tasks. MMF is used to access large buffers
of data dans memory, mainly files like EXE, DLL (which explains le nom of
this method), to être more accurate, both le user and le operative system
can map files dans memory, for instance, le operative system loads files like
kernel32.dll using this feature.
[/quote-part:9033556722]
source: mmf.txt (irgendwo aus dem Iczelion-Universum)

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
07.09.2006  
 



allô Michael...

seulement kurz survolés:
dans dem Artikel ca va um Windows95/98 => cela fonctionne sous NT quelque chose anders. sous Windows95/98 peux on 3GB ansprechen, sous NT seulement 2GB. qui DLL sommes sous NT dans den Speicherbereich de ca 1GB jusqu'à 2GB gemappt. cela sur Adressen de 0xC0000000 jusqu'à 0xFFFFFFFF également de allen Prozessen aus zugegriffen volonté peux, halte je seulement la fois pour un Gerücht (siehe TNT). Lies la fois là Infos sur qui Adresse -16 sous Windows98 aus . cela qui Adressen mais sur qui gleichen realen Speicherbereiche verweisen, habe je selbst déjà vermutet.
sous Windows95/98 doit ne...aucune grenier pour Zugriffsrechte Sicherheitsbeschreibungen ou bien den Token bereitgestellt volonté - solche Sachen kennt seulement NT - c'est pourquoi ist ici qui pas zugängliche Speicherbereich aussi wesentlich kleiner.

@IF:
KompilierenMarqueSéparation
Def @OpenProcess(3) !"KERNEL32","OpenProcess"
Def @CloseHandle(1) !"KERNEL32","CloseHandle"
Def @GetCurrentProcessID(0) !"KERNEL32","GetCurrentProcessId"
Declare Prozess_SYSTEM&,Prozess&,ID$,ID2$,Prozess2&
Windowstyle 31
Windowtitle "Handletest"
Window 0,0-640,440
LET ID$=@INPUT$("ID eines Prozesses eingeben:","Prozess-ID",@STR$(@INT(@GetCurrentProcessID())))
LET ID2$=@INPUT$("ID eines Prozesses eingeben:","Prozess-ID",@STR$(@INT(@GetCurrentProcessID())))
LET Prozess&=@OpenProcess($400,0,@GetCurrentProcessID())
LET Prozess2&=@OpenProcess($400,0,@GetCurrentProcessID())
LET Prozess_SYSTEM&=@OpenProcess($400,0,8)
@CloseHandle(Prozess_SYSTEM&)
@CloseHandle(Prozess2&)
@CloseHandle(Prozess&)
PRINT "Handle des ersten Prozesses: "+@STR$(Prozess&)
PRINT "Handle des zweiten Prozesses: "+@STR$(Prozess2&)
PRINT "Handle von System: "+@STR$(Prozess_SYSTEM&)

While 0=0

    Waitinput

Wend


qui numéro des Handles ist dépendant en, quand on cela Handle ouvrez. entre den individuel Handles besteht un la distance de 4 - sembler sich alors, ähnlich comment beim grenier, Adressen derrière elle trop cacher. avec partager läßt sich là malheureusement rien berechnen, car qui numéro des Handles sagt rien par-dessus aus, si es gültig ou non. cela einzige, quoi on peut-être aus qui numéro des Handles ersehen pourrait, wäre qui Art des Handle.

Anders sieht cela avec qui ID des Prozesses aus:
qui ID des Prozesses System liegt toujours chez 8. qui prochain Prozess legt ensuite wieder chez sur 100 à l'attaque.
Beim Disassemblen qui Funktionen, qui avec dem System-Handle fehl schlagen, konnte je mais nirgendwo une 8 entdecken . Peut-être là dans Bezug sur qui ID une Kleiner-comme-Abfrage avec einem Sprung enthalten?

PS: cela Handle des Prozesses System bekommst du seulement, si du den Voir le texte source comme Service avec Systemrechten startest.
 
08.09.2006  
 



...je hab mir qui de System geladenen Module nochmals avec TNT angesehen:
System läd WIN32K.SYS et qui NTDLL.DLL, mais pas qui KERNEL32.DLL.
cela peux eigentlich seulement bedeuten, cela WIN32K.SYS den Kernelspeicher selbst ausliest - ou bien, quoi pour mich seulement einmal wahrscheinlicher ist, undokumentierte Funktionen aus qui NTDLL.DLL pour utilise.
 
08.09.2006  
 




Jac
de
Lad
je hatte la fois est, dass Windows 98 ur 512 MB RAM verwalten peux, mais cet information ist maintenant évident überflüssig...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.09.2006  
 



allô Jacob...

und dir um den virtuellen Prozessspeicher, pas um den realen grenier. chacun Prozess verwaltet une ´virtuellen Prozessspeicher de ca.4GB. Diesen virtuellen Prozesspeicher doit du dir comment une Art la carte présenter, chez qui chacun Adresse einer realen Adresse im RAM ou bien dans qui Auslagerungsdatei zugeordnet volonté peux. peux est, pas chacun Adresse doit absolument RAM zugeordnet son, mais Adressen peut aussi unbelegt son. qui unteren 2GB cet Mémoire peux qui User verwalten et décrire /chez pas NT basierten Systemen qui unteren 3GB), qui reste ist pour qui Nutzung des Betriebsystems reserviert. je hoffe, j'ai quelque chose Klarheit dans qui l'affaire gebracht.

mon Überlegung: si es gelänge, par Patching de Betriebsystem DLL im grenier des eigenen Prozesse un gültiges Handle sur den System Prozess trop erlangen um DLL là trop injecter, pourrait on peut-être. aussi Zugriff sur Speicherbereiche conservé, qui eigentlich seulement cela OS nutzen peux et homme pourrait quasi Windows qui Unterwäsche ausziehen um une perspective sur nackte Tatsachen trop erlangen...

 
08.09.2006  
 




Jac
de
Lad
allô Andreas,

merci pour qui Ausführung. Jaja, je sais quoi virtueller grenier ist, mais je dachte und dir ici um physikalischen grenier. en supplément habe je mais nix trop dire.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.09.2006  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.631 Views

Untitledvor 0 min.
Christof Neuß19.09.2018

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie