AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Manipulation von Prozess-Speicher.

Ein Thema von delphinub23 · begonnen am 22. Jun 2016 · letzter Beitrag vom 23. Jun 2016
Antwort Antwort
Seite 1 von 2  1 2      
delphinub23

Registriert seit: 27. Okt 2010
Ort: Chemnitz
110 Beiträge
 
Delphi XE3 Professional
 
#1

Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 15:49
Hallo zusammen!

Ich möchte gern aus dem Speicher eines Prozesses bestimmte Adressen vom Typ String finden, welche den Wert "Default" enthalten. Wenn ich diese Adressen habe, würde ich gern deren Inhalt ändern, also z.B. in "NichtMehrDefault".
Bisher bin ich mit ProcessMemory-Manipulation nur wenig in Berührung gekommen und hoffe somit auf Tipps oder Beispiele, wie das richtig gemacht wird

Momentaner Gedankengang:
  • OpenProcess
  • ReadProcessMemory, aber von wo bis wo und wie durchsuche nach Typ String mit Wert "Default"?
  • WriteProcessMemory, Typ String mit Wert "NichtMehrDefault"
  • CloseHandle

Ich bedanke mich schon mal im Voraus!

Geändert von delphinub23 (22. Jun 2016 um 15:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 16:05
Als allererstes: Adressen haben keinen Typ. Was im Speicher steht ist reine Interpretationssache.
Zweitens: Einen String im Speicher eines fremden Prozesses zu verlängern kann bzw. wird wahrscheinlich schief gehen, denn du weißt nicht ob das Byte hinter dem aktuellen String überhaupt verfügbar ist.
Und wenn es verfügbar ist dann besteht die Chance dass du damit andere (wichtige) Daten oder vllt. sogar Maschinencode überschreibst. Hinter dem "Default"-String sind ja nicht nur für dich 10-20 Extra-Bytes reserviert für den Fall dass jmd. den String verlängern will.

Den Wert im Speicher zu finden ist möglich. Aber wenn du absolut keinen Ansatzpunkt hast musst du im Prinzip mehr oder weniger den kompletten virtuellen Adressraum des anderen Prozesses durchsuchen, was sehr aufwendig sein kann und dann dementsprechend lange dauert.

Was hast du überhaupt vor?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (22. Jun 2016 um 16:07 Uhr)
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 16:25
Was hast du überhaupt vor?
Einen Delphi-Virus schreiben?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 16:29
Was hast du überhaupt vor?
Einen Delphi-Virus schreiben?
Hört sich nicht wirklich nach Virus an. Darum gehts mir auch nicht.
Es geht mir darum ob es nicht eine bessere Alternative gibt. bzw. was er mit dieser Stringmanipulation erreichen will.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 16:56
Als allererstes: Adressen haben keinen Typ. Was im Speicher steht ist reine Interpretationssache.
Als wir noch clever waren, sind wir auch oft über diese Wahrheit gestolpert. Da gab es mal einen Copyright-Vermerk der war ums Verrecken nicht zu entfernen. Nach dem disassemblieren haben wir ihn dann als Base64-Array gefunden.
Wir hatten die ganze Zeit einen Honeypott im Blick.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
delphinub23

Registriert seit: 27. Okt 2010
Ort: Chemnitz
110 Beiträge
 
Delphi XE3 Professional
 
#6

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 19:08
Was hast du überhaupt vor?
Einen Delphi-Virus schreiben?
...solch ein Gefasel. Eines möchte ich klar stellen: Ich möchte keinen Virus schreiben.

@Neutral General: Erstmal vielen dank für die Informationen. Das habe ich gar nicht bedacht
Es geht um ein Spiel - StarCitizen. Es wird online gespielt, aber die Performance ist aufgrund von schwachen Servern eher mäßig. Auf Reddit wurde eine Lösung präsentiert mit der man das Spiel offline spielen kann - und somit viel bessere FPS erreicht. Das ist sehr förderlich für den Spielspass. Das wird u.a. über Prozess-Manipulation via CheatEngine erreicht. Und nun zur Idee: Anstatt den Umweg händisch zu machen, würde ich es lieber über eine Anwendung laufen lassen. Das soll als Erklärung erst mal reichen.

Da es durch händische Manipulation machbar ist, dürfte es doch auch automatisiert via einer kleinen Anwendung funktionieren, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 19:36
Ist irgendwo dokumentiert was man genau tun muss, bzw. was CheatEngine genau tut?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
delphinub23

Registriert seit: 27. Okt 2010
Ort: Chemnitz
110 Beiträge
 
Delphi XE3 Professional
 
#8

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 19:49
Ja, hier findest du das Tutorial
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Manipulation von Prozess-Speicher.

  Alt 22. Jun 2016, 20:14
CheatEngine ist doch sogar in Delphi geschrieben. Der Source Code ist auch öffentlich: https://github.com/cheat-engine/cheat-engine
  Mit Zitat antworten Zitat
delphinub23

Registriert seit: 27. Okt 2010
Ort: Chemnitz
110 Beiträge
 
Delphi XE3 Professional
 
#10

AW: Manipulation von Prozess-Speicher.

  Alt 23. Jun 2016, 08:43
CheatEngine ist doch sogar in Delphi geschrieben. Der Source Code ist auch öffentlich: https://github.com/cheat-engine/cheat-engine
Tatsächlich, vielen Dank für den Link. Da muss ich mich erstmal reinlesen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz