Hallo Leute,
da fällt mir gerade eine Frage ein...
Ich hatte mal versucht durch Adressen von andere Variablen die Werte zu ändern, eigentlich von so einem Spiel.
Wie ich das gemacht habe?
Habe meinen Zeiger eine Adresse zugewiesen und danach 2 Threads gestartet.
Thread 1: Eine for-Schleife die eine Position nach "unten" geht also: --Zeiger.
Thread 2: Das Gleiche mit: ++Zeiger.
Daraufhin habe ich gewartet bis ein auffäliger Wert wie z. B. "12345678" gefunden wurde (Habs natürlich im Spiel z. B. mein Geld so eingestellt)
Als ich versucht habe diesen Wert zu ändern in diesem Fall "manipulieren" hat es nicht geklappt.
also: *Zeiger = 1;
Ich weiß, dass jedes Programm einen "Speicherbereich" zugewiesen bekommt vom OS, aber wie könnte man das nun durchsetzen?
Danke im Voraus,
Kind regards,
Kmitska
Werte manipulieren
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Werte manipulieren
Hast du den Wert manipuliert? Oder wie du gerade geschrieben hast, die Position des Zeigers? Hast du einen Mutex gesetzt, bevor die Threads in dem Speicherbereich geschrieben haben?
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Werte manipulieren
Ich muss sagen, ich hab keine Ahnung. Nicht weil ich kein C++ kann, sondern weil alle großen OS entsprechende Schutzmechanismen haben, die eben solche Manipulativen Zugriffe erstmal verbieten, und wenn es sein muss mit einer Page-Exception oder ähnlichem.Ich weiß, dass jedes Programm einen "Speicherbereich" zugewiesen bekommt vom OS, aber wie könnte man das nun durchsetzen?
Folglich musst du dich in dein System, ich nehme mal an du hast Windows, einarbeiten. Darfst dich mit der WinAPI und wie Windows funktioniert vertraut machen und dann kannst du anfangen bestimmte Dinge auszunutzen.
Das kann so ein halbes bis ein ganzes Jahr dauern, Windows ist nicht das einfachste zu lernen.
Es tut mir zwar leid, aber du wirst das wohl kaum auf die Schnelle hinbekommen, weil es eben zu sehr OS-spezifisch ist.
MfG cloidnerux
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Werte manipulieren
Sollte Tools waren auf Rechnern ohne Speicherschutz sehr beliebt. Da funktioniert das auch.Kmitska hat geschrieben:Ich hatte mal versucht durch Adressen von andere Variablen die Werte zu ändern, eigentlich von so einem Spiel.
Rechner ohne Speicherschutz stürzen aber auch komplett ab, wenn ein Programm Mist baut.
Darum gibt es heute keine Betriebsysteme ohne Speicherschutz mehr.
Zwei Threads braucht man dafür aber nicht.
Gar nicht, Du bekommst den Speicherbereich Deines Spiels nie zu sehen, denn die MMU (Memory Management Unit), die jede heute CPU besitzt, lotst Dich um die Speicherbereiche aller anderen Programme herum.Kmitska hat geschrieben:Ich weiß, dass jedes Programm einen "Speicherbereich" zugewiesen bekommt vom OS, aber wie könnte man das nun durchsetzen?
Du müsstest Dich in den Kernel einklinken. Und hier gehen die Probleme los, die vermutlich dafür verantwortlich sind, dass ich auf modernen OS solche Tools nicht mehr gesehen habe.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Werte manipulieren
Ich glaube ich muss mich jetzt langsam für einen OS entscheiden, oder?
Ich habe mich immer geweigert die Befehle von anderen Systeme zu lernen...
Ich habe mich immer geweigert die Befehle von anderen Systeme zu lernen...
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Werte manipulieren
Du musst dich nicht entscheiden, du kannst nur nicht alles können, weil es da eine sehr große Auswahl an verschiedenen OS hast.Ich glaube ich muss mich jetzt langsam für einen OS entscheiden, oder?
Ich habe mich immer geweigert die Befehle von anderen Systeme zu lernen..
Und es gibt keine "Befehle von einem System". Es gibt nur die Funktionsweise eines Systems und seine API. Und wenn du irgendetwas auf einem System machen willst, musst du dich irgendwann damit auseinender setzten.
Im Endeffekt ist es nur eine Frage der Zeit, die du bereit bist zu Investieren.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Werte manipulieren
Ich habe mich bisher nicht entschieden.Kmitska hat geschrieben:Ich glaube ich muss mich jetzt langsam für einen OS entscheiden, oder?
Ich habe mich immer geweigert die Befehle von anderen Systeme zu lernen...
Ich benutze Linux, Mac und Windows. Allerdings habe ich mit Linux angefangen und halte das nicht für die schlechteste Wahl, um mit der Programmierung einzusteigen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.