• 0

[C#] Read Specific Memory Address from Process


Question

I'm trying to read a specific memory address from a selected Process.

I've never done anything like this, but I believe some languages have ReadProcessMemory & WriteProcessMemory Methods. But I can't find a specific one for C#, much less how to control their arguments.

I found one way to find the process in memory, and the following code will in fact shutdown the program.

But I want to access its' memory space to read and eventually modify the memory space using memory addresses.

  Quote
System.Diagnostics.Process[]myProcesses;

  myProcesses =

    System.Diagnostics.Process.GetProcessesByName("starcraft");

  foreach (System.Diagnostics.Process instance in myProcesses)

  {

    instance.CloseMainWindow();

   

  }

3 answers to this question

Recommended Posts

  • 0

If you want to do something this low level you are probably better off writing it using C/C++/Assembly. You should be able to call win32 functions from C#. You should check MSDN for ReadProcessMemory and it will tell you what parameters you need.

  • 0

Thanks for your fast Reply Andareed. I have the MSDN Library, and have been frequenting the more updated Online one for this case as well as google and ask.com, however I have limited knowledge in programming and in troubleshooting in this sort of development dealing with processes. I want to use C# to do this because that's what i'm studying and am most familiar with.

  Quote
[DllImport("kernel32.dll", SetLastError=false)]static extern int ReadProcessMemory ( int hProcess, ref object lpBaseAddress, ref object lpBuffer, int nSize, ref int lpNumberOfBytesWritten);

 

  [sTAThread]

  static void Main(string[] args)

  {

  Process[] myProcess = Process.GetProcessesByName("notepad");

 

  string vout,vout2;

  vout2 = ReadProcessMemory(68804,401F75,vout,6,6);

I have the Handle ID,

I know the Address I want to Read

The other Parameters I don't have any idea of.

I found This description of ReadProcessMemory, but i'm not sure I fully understand the parameter types. No need to visit here if you're familiar with the method.

  • 0

You need to get hProcess which is in Process.Handle, lpBaseAddress is your memory address (relative to target process), lpBuffer is pointer to a buffer (relative to this process) that receives data read, nSize is size of lpBuffer, lpNumberOfBytes is pointer to DWORD of how many bytes are actually read. I have very little C# experience so I have no idea how you would go about passing in buffer addresses.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Atomic Heart is getting a sequel and an MMO RPG spin-off by Pulasthi Ariyasinghe Atomic Heart arrived in 2023 as one of the biggest action game surprises, offering players an alternative history version of the Soviet Union to explore where the player is in the middle of a robot uprising. Just as the original passes 10 million players, developer Mundfish today unveiled two new games at the Summer Game Fest showcase. First up is Atomic Heart 2, a full-fledged sequel that has players returning to the over-the-top retrofuturistic setting for another wacky adventure. The studio promises an expanded RPG system, a story that picks up from the original, bringing back all the fan-favorite characters, as well as an "explosive combat system" that now let players use both hands for their powers and standard weaponry. “Ever since the launch of the original Atomic Heart, we’ve been floored by the unwavering support and enthusiasm of our playerbase. When we set out to create the Atomic Universe, we never imagined that the community would respond with such amazing passion,” shared Robert Bagratuni, Founder and CEO of Mundfish, and Game Director of Atomic Heart 2. He continues, “It’s been hard sitting on this announcement for so long, but today, at Summer Game Fest, we’re incredibly happy to finally and officially announce that Atomic Heart 2 is coming, and it’s bigger and bolder than the original.” Built on Unreal Engine 5, Atomic Heart 2 is coming to PC and consoles. A release window has not been attached to the project yet. Next, the studio revealed it's working on a unique spin-off that's set in the same universe. Dubbed The Cube, it will be a massively multiplayer online RPG shooter experience that has players entering a giant cube structure in the sky for survival. Aside from fighting massive monsters and the cube itself, the unique element comes from how the environment will scramble like a Rubik's cube. This unstable arena will offer players new opportunities without needing to travel large distances in an open world. The Cube does not have a release date attached to it either.
    • Game of Thrones is getting a real-time strategy game on PC: War For Westeros by Pulasthi Ariyasinghe A brand-new game is coming out based on George R. R. Martin's A Song of Ice and Fire universe, and surprisingly, it's a full-fledged real-time strategy game for PC. Titled Game of Thrones: War For Westeros, the new title was revealed at the Summer Game Fest 2025 kickoff show today. Check out the debut trailer below, which features plenty of familiar faces from the television series, as well as fights that many probably wished they saw in the story. It looks like players' actions will have some major deviations from how the storyline actually played out in the series, with major characters dying, switching sides, and having massive wars against each other. Unfortunately, no gameplay was revealed in the trailer. War of Westeros is being developed by PlaySide, which may be familiar to those who have played their previous real-time strategy experience, Age of Darkness: Final Stand. The studio said today that its new project will offer players House Stark, House Lannister, House Targaryen, or even the Night King's forces as factions they can take the role of in their journey. " Each faction offers deeply asymmetric strategies, with signature heroes, armies, and mechanics forged from the brutal legacy of Westeros," adds the company. Infantry, cavalry, siege engines, giants, and dragons will all be available for deployment during battles, both when attacking other factions and when defending. The title will be playable solo to take over the Seven Kingdoms, as well as in multiplayer, where a free-for-all mode will enable multiple players to lead forces against each other for victory. Game of Thrones: War for Westeros is currently only announced for PC, with a Steam page already available for fans to wishlist. A release date, nor pricing, has not been revealed just yet, with the title slated to launch sometime in 2026.
    • What do you consider modern hardware? Mine is a few years old, but you can't tell me that a 5900x with a RTX 3080 should be slow with a Windows UI because they are 4 years old. No one said it didn't run perfectly fine; we said it was slower than 10, and it factually is, to the point that saying anything else is just propaganda.
    • Sorry if video games weren't supposed to be included but this is the only intro that sold me on a game before even playing it    
  • Recent Achievements

    • Mentor
      Karlston went up a rank
      Mentor
    • One Month Later
      EdwardFranciscoVilla earned a badge
      One Month Later
    • One Month Later
      MoyaM earned a badge
      One Month Later
    • One Month Later
      qology earned a badge
      One Month Later
    • One Year In
      Frinco90 earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      484
    2. 2
      snowy owl
      253
    3. 3
      +FloatingFatMan
      252
    4. 4
      ATLien_0
      214
    5. 5
      Xenon
      150
  • Tell a friend

    Love Neowin? Tell a friend!