Inline Assembler RAM
-
Dum meinst, dass man nur während es Spiels ne (bestimme) Taste drückt, und schon scannt er die verdächtigen Adressen??
-
Tc++H schrieb:
Dum meinst, dass man nur während es Spiels ne (bestimme) Taste drückt, und schon scannt er die verdächtigen Adressen??
Ja.
-
Sorry, sehr grad, dass ich mich verschriben habe "Dum". Scheint eine gute IDEE zu sein, aber hast du asm Kenntnisse???
-
Tc++H schrieb:
Sorry, sehr grad, dass ich mich verschriben habe "Dum". Scheint eine gute IDEE zu sein, aber hast du asm Kenntnisse???
Ja.
-
Das, was Du eigentlich in Assembler machen wolltest, geht aber auch in C++:
int getValue( unsigned int address ) { return *((int*)address); } void SetValue( unsigned int address, int value ) { *((int*)address) = value; }
-
Kennt jemand Funktionen, mit den man auf die Audio-, Grafik-, Systemhardware zugreifen kann??
Und ich such ne Funktion, mit der ich den Computer ausschalten, bzw. Neustarten kann.
-
int getValue( unsigned int address ) { return *((int*)address); } void SetValue( unsigned int address, int value ) { *((int*)address) = value; }Das kann so nicht gehen (virtuelle Adressräume). Wie ein Vorposter schon gesagt hat, unter Windows musst Du mit ReadProcessMemory und WriteProcessMemory den Speicher eines anderen Prozesses in deinen eigenen Speicherbereich mappen. Dann kann man fröhlich drauf rumturnen.
Zum Neustarten kannst Du übrigens den großen runden Knopf auf der Vorderseite deines Rechners benutzen

-
Tc++H schrieb:
Kennt jemand Funktionen, mit den man auf die Audio-, Grafik-, Systemhardware zugreifen kann??
Direkt auf die Hardware zugreifen kann man unter Windows nur, wenn man einen Treiber schreibt (dafuer gibt's den DDK von Microsoft).
Ansonsten bleiben einem nur die diversen System-APIs, z.B. den Windows API, DirectX usw.
-
Ich hab ne Konsolenanwendung mit VC++ 6.0 angelegt und die Funktioen eingebunden.
void main() { getValue(34465); }--> Das Programm stürzt ab Warum?? Ich hab auch mal nen Hexadezimal Wert übergeben, stürzt trotzdem ab.
-
Lies mal meinen vorherigen Beitrag. Diese Adresse gehört dir nicht und zeigt ins Nirvana. Zusätzlich ist sie unaligned. Deshalb *knall* *bumm* *peng* *aua*
-
Un wie kann ich nun auf den Arbeitsspeicher zugreifen und die Werte auslesen, auch wenn die Adresse nicht "meine" ist?
-
Du kommst nicht einfach an den Arbeitsspeicher. Es gibt nur virtuelle Adressräume, die das BS für dich verwaltet. Adresse 0x12345678 ist in jedem Prozess eine andere physikalische. Und Adressen eines anderen Prozesses kannst Du so nicht einsehen. Dafür brauchst Du unter Windows z.B. ReadProcessMemory und dazu dann WriteProcessMemory.