Speicher manipulieren



  • Ist es möglich, mit einem C# Prog sich den Speicherbereich einer anderen Anwendung zu besorgen und den auszulesen bzw darin rumzupfuschen?
    Mit der WinAPI ging das ja ganz einfach, aber ich befürchte fast dass sowas in C# nich geht.
    Weiß da jemand was?



  • Da C# so was wie Pointer nicht kennt, geh ich mal davon aus, dass man das vergessen kann. Allerdings könntest du ja eine Bibliothek in C++ schreiben, die dies ermöglicht.



  • Oh, C# verfügt über Pointer - ganz im C-Stil.

    using System;
    
    public class MyPointer {
    
        unsafe public static void doIt() {
    
            int a = 9;
            int* b = &a;
    
        }
    
    }
    

    Pointer-Arithmetik ist allerdings nur in unsafe-Blöcken möglich - C# kennt trotzdem Pointer! Wie es mit Speicherzugriff auf externe Bereiche unter der Herrschaft der .NET-VM aussieht weiß ich nicht, allerdings könntest du ja via PInvoke die "alten" Win32-Funktionen nutzen.


Anmelden zum Antworten