问题描述:

I am making a Visual Basic 2008 application, and want to be able to change the value at a particular memory address. For example, I want to change the value at Memory Address 0xB7CE50 to 100000. Is there any easy way to do this?

网友答案:

I believe Cody Beer is running a game and looking for a program such as HxD or something similar which will allow him to edit the main memory so he can change the amount of money he has in-game to the maximum amount. VS is the wrong tool for this.

网友答案:

You typically just use the debugger, and place the variable you're looking to change in the Watch window, then just type in the new value.


It appears that you want a way for a .NET program to modify a particular memory address of another program.

There is no way to do this with .NET as far as I know, and there's only barely a way to do this outside of .NET. As I suggested, you could do this with a debugger. In order to do it from a program, your program will have to be a debugger!

The good news is that this is possible. See Visual Studio Debugger Extensibility. Do not be put off by the fact that it seems to require Visual Studio. What you may not know is that it's possible to create a program, based on Visual Studio, that looks and behaves entirely like a stand-alone executable.

I believe there are also ways to "be a debugger" by using APIs described in the Windows SDK, but I don't know where the documentation for them is.

网友答案:

Its easy by GUI operation.

  1. open the one of four Memory Views from Debug -> Windows -> Memory 1-4
  2. keyin the correct address on address filed.
  3. change the value at the right address.

Thanks.

网友答案:

You will need a memory editor software like TSearch etc... not sure if that is possible with VS.

相关阅读:
Top