Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 09:38

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C# WriteProcessMemory

Discussion on C# WriteProcessMemory within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2011
Posts: 35
Received Thanks: 123
C# WriteProcessMemory

Hey Leute hab nen Problem mit den schreiben von werten in den speicher ...

hier ma grob der code der damit zusammen hängt
Code:
//die eingebundene dll

[DllImport("kernel32.dll")]
static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress,
byte[] lpBuffer, UIntPtr nSize, ref uint lpNumberOfBytesWritten);

// die Methode fürs Handle
            Process[] Game_Processes = Process.GetProcessesByName(Settings1.Default.process);
            while (Game_Processes.Length == 0)
            {
                Game_Processes = Process.GetProcessesByName(Settings1.Default.process);
            }
            Process Game = Game_Processes[0];
            readHandle = OpenProcess(0x10, false, (uint)Game.Id);
            writeHandle = OpenProcess(0x0008, false, (uint)Game.Id);
            if (writeHandle == null)
            {
                MessageBox.Show("Writehandle nicht erstellt.", "Fehler!");
                return;
            } 
//
// Und hier den teil mit dem auslesen 
//
            static uint size = sizeof(int);
            uint rw = 0;
            int value = 10000;
            byte[] bytes2 = new byte[4];
            bytes2 = BitConverter.GetBytes(value);
            bool write;
            write = WriteProcessMemory(writeHandle, (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;

            }
der compiler gibt keinen error aber die messagebox gibt immer den errorcode 0 aus weis aber leider nicht wofür der steht jemand ne id ?
insert-name-here is offline  
Old 02/27/2012, 20:45   #2
 
irrenhaus's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 2,520
Received Thanks: 4,567
Hab deinen Code mal umgeschrieben, sollte nun funktionieren:
Code:
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool WriteProcessMemory(IntPtr hProcess, int lpBaseAddress, byte[] lpBuffer, int nSize,int lpNumberOfBytesWritten);
IntPtr Handle;
[DllImport("kernel32.dll")]
static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, bool bInheritHandle, int dwProcessId);

void getHandle()
{
while(Process.GetProcessesByName(Settings1.Default.process).Length == 0)
{
}

Process game = Process.GetProcessesByName(Settings.Default.process)[0];
try
{
Handle = OpenProcess(0x001F0FFF,true,game.Id);
}
catch(Exception e)
{
MessageBox.Show("Error! Exception:" + e.Message);
}
}

bool WriteMemory(IntPtr Handle,int Address,int Value)
{
try
{
byte[] btValue = BitConverter.GetBytes(Value);
return WriteProcessMemory(Handle,Address,btValue,btValue.Length,0);
}
catch(Exception e)
{
MessageBox.Show("Error! Exception:" + e.Message);
}
}
finde ich am einfachsten von Allen.
irrenhaus is offline  
Old 02/27/2012, 21:25   #3
 
elite*gold: 0
Join Date: Dec 2011
Posts: 35
Received Thanks: 123
Danke werde es gleich austesten kann ich dann handle zum lesen und schreiben nutzen ?

edit :
Jo vielen vielen Dank klapt alles =)
frage mich noch wo der fehler lag aber es klapt =)
insert-name-here is offline  
Old 02/29/2012, 22:06   #4

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
#moved
Adroxxx is offline  
Reply


Similar Threads Similar Threads
ReadProcessMemory & WriteProcessMemory blocken
12/10/2011 - C/C++ - 12 Replies
Hey, wollte fragen, wie man erkennt, wann ein externes Programm per Read- und WriteProcessMemory auf den RAM-Abschnitt von meinem Programm zugreift. Möchte das verhindern, ist das ohne einen Treiber zu schreiben, möglich?
C# WriteProcessMemory brauche dringend hilfe
06/22/2011 - Off Topic - 3 Replies
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 Memory mem = new Memory("inkball");
help on Writeprocessmemory
10/07/2009 - General Coding - 8 Replies
#include <Windows.h> #include <iostream> using namespace std; #define EngineUpgrade_Addr 0x2F7EDDC8 #define EngineUpgrade_Value 1000 const SIZE_T EngineUpgrade_Size = sizeof(EngineUpgrade_Value); SIZE_T EngineUpgrade_Sent = 0;
Wie erlange ich die PID eines Prozesses für z.B. WriteProcessMemory
11/06/2008 - Coding Tutorials - 4 Replies
An die, die noch nicht wissen, wie sie ein Handle eines Prozesses erlangen, folgt hier ein kleiner Beispielquelltext . Beispielprogramm: .386 .model flat, stdcall option casemap :none include windows.inc include kernel32.inc include user32.inc
Locking WriteProcessMemory with a TickBox
06/11/2007 - General Coding - 5 Replies
This is the code for one of the buttons in my app: Private Sub Command8_Click&#40;&#41; If Hooked = True Then WriteProcessMemory ProcessHandle, &580316, 386, 2, 0& End If End Sub The problem is the memory address that I write to resets itself after a while and I have to click the button again, is there anyway to lock the memory address that I write to? Or just have the code refresh itself at a set interval? I would like to achieve this with a tick box if possible



All times are GMT +1. The time now is 09:40.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.