Hey, also dies ist mein erstes Thema hier bei elitepvpers und ich verfolge schon seit langdem viele Themen.
Ich hoffe mein Thema passt hier irgendwo rein und wenn es hier falsch ist, entschuldgige ich mich dafür ;)
Also nun gut wie der Titel schon sagt habe ich ein Problem...
Ich weis wie ich die Pointer ( mit cheat engine ) finde und auch auslese
so in der Art mit dem Beispiel an "Inkball"...
Jetzt ist die Frage, wie kann ich das dauerthaft in einer Konsolenanwendung aktualisieren also sodass es immer auf dem neuesten Stand ist und wie ( die große Frage... ) kann ich die Werte von den Pointern ändern?
habe schon viel google benutz ( und ja ich kenne die seite [Only registered and activated users can see links. Click Here To Register...] ) und sehr viel interesantes gefunden wie
Das hilft mir zwar etwas hab auch damit einiges Probiert doch C# streicht die hälfte rot an wenn ich was daraus mache :D
Ich hoffe mein Thema passt hier irgendwo rein und wenn es hier falsch ist, entschuldgige ich mich dafür ;)
Also nun gut wie der Titel schon sagt habe ich ein Problem...
Ich weis wie ich die Pointer ( mit cheat engine ) finde und auch auslese
HTML Code:
Memory mem = new Memory("inkball");
int rekord = mem.ReadPointer(0x002F5FBC);
Console.WriteLine("Rekord: {0}", rekord);
Jetzt ist die Frage, wie kann ich das dauerthaft in einer Konsolenanwendung aktualisieren also sodass es immer auf dem neuesten Stand ist und wie ( die große Frage... ) kann ich die Werte von den Pointern ändern?
habe schon viel google benutz ( und ja ich kenne die seite [Only registered and activated users can see links. Click Here To Register...] ) und sehr viel interesantes gefunden wie
HTML Code:
Process[] proc = Process.GetProcessesByName("1602");
if (proc.Length == 0)
{
MessageBox.Show("No Processes found.");
return;
}
Process po;
po = proc[0];
IntPtr rhdl = OpenProcess(0x10, false, (uint)po.Id); //ReadAccess
IntPtr whdl = OpenProcess(0x20, false, (uint)po.Id); //WriteAccess
if (rhdl == null)
{
MessageBox.Show("Readhandle nicht erstellt.", "Fehler!");
return;
}
if (whdl == null)
{
MessageBox.Show("Writehandle nicht erstellt.", "Fehler!");
return;
}
byte[] bytes = new byte[4];
uint adress = 0x560264;
uint size = sizeof(int);
uint rw = 0;
bool read;
read = ReadProcessMemory(rhdl, (IntPtr)adress, bytes, (UIntPtr)size, ref rw);
if (!read)
{
MessageBox.Show("Fehlschlag beim Lesen.");
return;
}
else
{
MessageBox.Show(BitConverter.ToInt32(bytes, 0).ToString(), "Anzahl Geld:");
}
int money = BitConverter.ToInt32(bytes, 0);
money = money + 10000;
byte[] bytes2 = new byte[4];
bytes2 = BitConverter.GetBytes(money);
bool write;
write = WriteProcessMemory(whdl, (IntPtr)adress, bytes2, (UIntPtr)size, ref rw);
if (write)
MessageBox.Show("Write erfolgreich!");
else if (!write)
{
int error = Marshal.GetLastWin32Error();
MessageBox.Show(" Write Fehlgeschlagen. Errorcode: " + error.ToString(), "Fehler!");
return;
}