Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hallo,

ich habe mir gedacht, es wäre doch sehr schön, wenn ich es schaffen könnte direkt in den speicher zu schreiben oder zu lesen. so zum beispiel auch die daten von den schnittstellen. problem ist bloß, das windows 2k da was gegen hat und mir vorwirft nicht genügend rechte zu haben. weiß einer von euch vielleicht einen weg, wie ich an diese rechte kommen kann.

und bitte keine diskussion darüber, das es doch eigentlich gut ist, das win2k die ressourcen schützt, bla bla bla.

Geschrieben

ich weiß auch nicht genau aber denke das das eher mit windows zu tun hat und nicht mit irgendwelchen prozessoren. und ich will ja direkt auf die ressourcen zugreifen. ohne schutz von win

Geschrieben

ich habe es mit assembler versucht. es geht damit nicht.

ich habe bloß gedacht, das man sich irgendwie die rechte besorgen kann. zum herunterfahren des rechners braucht man ja auch gewisse rechte, die man nicht standardmäßig hat.

Geschrieben

der code, den ich versucht habe zu verwenden ist im grunde der selbe wie der der funktion _inp(). spricht mit assembler - code auf den com- port zugreifen.

die fehlermeldung habe ich zur zeit nicht genau im kopf. es ist irgentwas mit access violation. der grund ist mir auch klar. windows 2000 schütz vor den direkten zugriff auf die ressourcen. aber diesen schutz will ich eben umgehen.

Geschrieben

Versuch mal aus, direkt im Inline-Assembler den COM-Port anzusprechen, das habe ich mal dem hier gezeigt:

http://217.115.144.9/cgi-bin/ubbcgi/ultimatebb.cgi?ubb=get_topic&f=21&t=000387&counterhit=yes

Je nach Compiler kann es sein, daß die __asm Direktive anders aussehen muß, bei Borland glaub nur _asm.

Sollte immer noch eine Privilegsverletzung auftreten probiere nach dem zweiten push-Befehl in den Protected Mode zu schalten:

mov eax,cr0

or ax,1 ; Protected anschalten , and ax,-2 = ausschalten

mov cr0,eax

jmp $+2 ; CPU-internen Instruction Cache löschen

Wenn er dann immer noch abstürzt, weiß ich auch nicht mehr weiter ... vielleicht wenn man alle anderen Prozesse vorher mit Gewalt stoppt???

Geschrieben

Das geht falls Windows2000 die MMU nutzt um Speicher zu schützen. Ich bin mir nicht sicher ob dem so ist.

Vielleicht findest du ja Code für ein Trainer-Programm(für Games). Die patchen auch Speicher für den sie nicht priviligiert sind. Schau doch mal auf sourceforge.net oder codeguru.earthweb.com nach so'm Teil.

Geschrieben

Es kann aber auch an der Priorität des protected mode liegen. Man kann hier von 0 (höchste) auf 3 (niedrigste=standard) umschalten, allerdings wie das genau geht habe ich noch nirgends brauchbar ausdokumentiert bekommen. Da werden die 2 Bits halt in irgendeinem CRx-Register stehen. Ich weiß nur, daß man in der höchsten Prioritätsstufe nicht mehr mit mov CR0,EAX schreiben darf. Dafür gibt es den Befehl LMSW eax, mit dem man dann nur in den Protected Mode schalten kann. Wie man aber wieder in den Real-Mode zurückkommt, da habe ich noch nix gesehen.

<FONT COLOR="#a62a2a" SIZE="1">[ 28. Oktober 2001 01:20: Beitrag 1 mal editiert, zuletzt von Crush ]</font>

Geschrieben

Hi,

Liebe Leute was habt ihr den vor.

Wenn ihr Windows2000 ins Nirwana schicken wollt zieht doch einfach den Netzstecker.

Umschalten in Realmode ?????????????

Wenn ihr auf Hardwareadressen zugreifen wollt, müßt ihr das schon Windows 2000 konform machen.

z.B.:

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>

MmAllocateContiguousMemory

PVOID

MmAllocateContiguousMemory(

IN ULONG NumberOfBytes,

IN PHYSICAL_ADDRESS HighestAcceptableAddress

);

MmAllocateContiguousMemory allocates a range of physically contiguous, cache-aligned memory from nonpaged pool.

Parameters

NumberOfBytes

Specifies the size in bytes of the block of contiguous memory to be allocated.

HighestAcceptableAddress

Specifies the highest valid physical address the driver can use. For example, if a device can only reference physical memory in the lower 16MB, this value would be set to 0x00000000FFFFFF.

Return Value

MmAllocateContiguousMemory returns the base virtual address for the allocated memory. If the request cannot be satisfied, NULL is returned.

Comments

MmAllocateContiguousMemory can be called to allocate a contiguous block of physical memory for a long-term internal buffer, usually from the DriverEntry routine.

A device driver that must use contiguous memory should allocate only what it needs during driver initialization because nonpaged pool is likely to become fragmented as the system runs. Such a driver must deallocate the memory if it is unloaded. Contiguous allocations are aligned on an integral multiple of the processor’s data-cache-line size to prevent cache and coherency problems.

Callers of MmAllocateContiguousMemory must be running at IRQL = PASSIVE_LEVEL.

See Also

HalAllocateCommonBuffer, KeGetDcacheFillSize, MmAllocateNonCachedMemory, MmFreeContiguousMemory

Geschrieben

Ich vermute, daß der COM-Port so bestimmt nicht direkt angesprochen werden kann. Vielleicht sollte man einen Ghost-Gerätetreiber entwerfen, den man beim Systemstart einbinden läßt und der somit die volle Zugriffsberechtigung hat. Danach läßt man alle gewünschten Hardwarezugriffe über den eigenen (Pseudo-)Systemtreiber laufen und kann so ohne weiteres hantieren.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...