100 thoughts on “VAMemory – C# Memory Class .NET 3.5

  1. Why my ReadInt32 always returns 0?

    VAMemory memory = new VAMemory(“fifa15”);
    int finalAddress = memory.ReadInt32((IntPtr)BaseAddress + 0x01F441E8);

    int newaddr = memory.ReadInt32((IntPtr)finalAddress + 0x390);

    finalAddress is: 1138120780
    but newaddr is always 0.

    1. I managed to solve it, it was just testing until I got the result I wanted, but honestly I can’t explain why it works now

      I changed the code:

      int finalAddress = memory.ReadInt32 ((IntPtr) BaseAddress + 0x01F441E8);


      long finalAddress = memory.ReadInt64 ((IntPtr) BaseAddress + 0x01F441E8);

      The newaddr variable remained the same.

  2. Im only just getting into this and am unable to download VAMemory it keeps coming up with something like create a association with a default app or something

  3. Hi, could i get the zip file by email please cause right now when i try to download the file gets immediately deleted … is it my fault or of the download itself, anyways could u help me to download the DLL please ?

    1. you can download it easily yes. and is it your fault? yes and no. it is probably because you have your antivirus on.

  4. Hello I was making a trainer and I want to nop an address 0x637E4 any idea how to make it in c#with VAMemory

    1. NOP corresponds to 0x90 so you would need to write that byte to 0x637E4 (might be more bytes though to NOP the instruction at that address, e.g. write 0x90 0x90 0x90 0x90).

  5. hey i cant seem to download it. any tips? it will ask me to choose an app to launch it with but none work.

  6. can i read value float or double to check the current value?

    public static int Base = 0x509b74;
    public static double oFlag = 0x54 //this is the current value = 0.0140625014901161

    VAM = new VAMemory (“ac_client”);
    int LocalPlayer = vam.ReadInt32((IntPtr)Base);
    double value_read = syntax to get the oFlag value ?

  7. hey i need help i have downloaded the file in rar but i can’t open it it just goes in to internet Explorer and then backs out and gives me a new file

  8. When I download on the link I just get an Internet Explorer shortcut, it’s a .rar file but I can’t do anything with it, it just opens up that view downloads folder and it asks me where to save it, I say desktop and then when I click open it takes me right back to the File Download Viewer, please help.

  9. Hi, is there any chance of getting the source code for this? or a way to turn off the “Process Not Found” Message Box?

    1. Hey, sry I do not have the source code anymore. Basically this is just a wrapper for ReadProcessMemory/WriteProcessMemory which you have to invoke from C#.

      1. Hey, late to the party but I went ahead and digged up the source code.
        I have re-released it on github with some cleanup and additions.

        – Reference clean up (no MessageBoxes from Windows.Forms anymore. -> Exceptions instead)
        – Functions for resolving multi level pointer
        – Rename of VAMemory to VirtualMemory.

        If you want me to add credit for this email me. I didn’t bother adding a README.md yet since its just importing stuff.

  10. I wrote litte piece of code but i giving process not runnig error.
    I using same process name with cheat engine but i giving that error.

    VAMemory vam = new VAMemory(“sro_client”); // error there.

  11. Hey there. I’d love to use your library for a personal project but the link isn’t working. I ultimately plan to write my own library but this would be a great help in the mean time. Please email it to me if that’s alright:

  12. Hey Vivida,
    nice work!
    Can I also have the source of VAMemory? I also need it to extend it with a call-by-processId-functionality.

  13. Hi i have a question. I want to code a trainer with noRecoil ect. For this i used OllyDBG to find the adresses. And in OllyDBG i have to fill them with NOPs. do you know how i can do the nops in C# / VAMemory

        1. Yes. Just check the memory after writing to it if it looks good to you (you can use Cheat Engine and browse to that memory region).

  14. Hi! I have a little problem with VAMemory. (Everything is good with VAMemory…. not that kind of problem what I am talking about.) So lets go to a point. I would be so happy and proud if you post a little update here with Vector3 reading and writing. (or maybe a little more option to read/write) Thats all. Thanks for reading this and wasting your time on me 😀

  15. Hey! I am interested in understanding how this works, and im really interested in looking at the source! I’d also like to experiment a bit with it. mind sharing?

    1. Hey, I would post the source but I do not have it anymore. Essentially this is just a wrapper which P/Invokes system APIs like ReadProcessMemory and WriteProcessMemory in a safe and easy manner.

      1. Like BambooFx said you maybe have it in your sent mails, I’m also asking you the source to study about offsets because I need to know how you get the application entry point.

            1. You guys are soo rediculous… If you are not even able to create a DLL like this yourself without getting the source you should not even deal with programming because you won’t achieve anything. Everything you need is described on the Microsoft doc page and if that is not enough, delete visual studio and go outside doing something else.
              I am getting the stupid emails about your comments and when I read your replies begging and kissing feet for this project it makes me cringe.

              1. tf kind of thinking is this? everyone has to start somewhere. It just so happens I too once asked for this source a few years ago, and its absolutely rediculous to think that if a newbie programmer cannot understand how to make a class like this they should just give up?! absolutely laughable…

  16. Hello can i have the source, i want to simplify the use of pointers and add a couble of propreties like GetProcessID and some other things, if i republish my version i will give u credits. My email == marcrios00@gmail.com

  17. Would you mind if I could get the source for the VAM dll as my anti virus removes it before I could use it sadly… this is a drag!!!!!!

    Also I would add some changes to it should I find it necessary.

    Thanks in advance!

  18. How would one go about making their own private Read and write memory process. (CSGO has detected vamemory) Can you send me the source to the newest version of VAMemory to my email. Thanks!

  19. Could you send me the source of VAMemory so I dont need the dll. It would help alot becuase I wouldnt have to worry about anti-cheat detection that much. I will also include that I used VAMemory in my readme.

    You should be able to see my email.

  20. Could you please send me the source because I don’t want to include .dll files in my project?
    (promettheuss@gmail.com) thanks in advance.

  21. Hey, great job very usefull. Can you send me classfile by email (for personnal use only) ? because im gonna make a trainer and i wanted to modify/add somethings in the source code of this class.

  22. Hello, I can not find the process, always returns the message “Process not found”, what do I do? Here is the code

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace Hacker_CSGO
    public partial class Form1 : Form
    VAMemory vam;

    public Form1()

    private void btnMudaValor_Click(object sender, EventArgs e)
    vam = new VAMemory(“csgo”);
    vam.WriteByte((IntPtr) 0x2D088314, byte.Parse(txtValor.Text));

  23. Hey I have been trying working with pointers and had it write to the wrong address. for EG it’s supposed to go like “module.dll”+0x1111, offset is for eg F4.
    what I did was int address = (int)Baseaddress_of_mudule.dll+0x1111
    address = address + offset.
    VAM.WriteInt32((IntPtr)address, 1000);
    and it was writing to a wrong address.
    any idea how to fix it?

    Kind Regards


  24. Hey, got question to this library/class.

    I need solution to handle scenario with 2 processes same name, so i can’t point direct process (e.g by PID).
    Is the chance to get a library code and implement another constructor on my own?

    Another case, CheatEngine provide feature to lock value on adress to fixed value. Is this functionality posiible anyhow with your tool, or just re-writting it with time interval?

    Thanks in advance for reply.

    1. Hey,

      this VAMemory implementation does not have a different way to detect a process. However, that is why I started to write a different project a long time ago called VAndalize. I cannot even recall if I even finished it but for your purposes it should work.


      Sample code:
      VAMemory.ProcessInformationTable PIT = new VAMemory.ProcessInformationTable(@”Jedi Knight®: Jedi Academy”, “jasp.exe”, 1337);

      VAMemory.SettingTable ST = new VAMemory.SettingTable(false, true, false);

      VAM = new VAMemory(PIT,ST,VAMemory.ProcessDetectionMethods.No_Preference);

      Some stuff should be documented otherwise just ask me.

      For your second problem: CheatEngine when freezing a value does nothing else than to use a timer to rewrite the value every few ms or so. However, there is a much nicer way of freezing a value but that requires changing the assembly code. I have some tutorials on this site about that.

  25. Hello! I tried to make my own trainer but got an error “NullReferenceException”.
    How do I make it work?

    Here’s a bit of code:
    VAM = new VAMemory (“pockettanks”);
    long adrBase;
    long adrAddition;
    long adr;
    adrBase = Int32.Parse ((Convert.ToString (VAM.getBaseAddress))); // Error here
    adrAddition = 119964;
    adr = adrBase + adrAddition;
    VAM.WriteInt32 ((IntPtr) adr, Int32.Parse ((Convert.ToString (VAM.ReadInt32 ((IntPtr) adr) + 1000))));


    1. Well there are a few things that hurt my eye…

      VAMemory VAM = new VAMemory(“pockettanks”);
      int baseaddr = (int)VAM.getBaseAddress;
      int addr = baseaddr + 119964;
      VAM.WriteInt32((IntPtr)addr, VAM.ReadInt32((IntPtr)addr) + 1000);

  26. Hello could u please mail me the VB code ,i’ve been trying to get it working but i can’t .

  27. Just want to include VAMemory to my project, don’t want to use any dll.I got ReadWriteMemory class, but it works not so nice like VAMemory, and sure i will include in my Readme that i use VAMemory.

  28. Hey is there anyway you could release the source for this? I would like to update the DLL so you can hook the process by ID and not the running executable name in task manager.

    Thanks a ton!

    1. Give me your E-Mail and I send it to you…I think this version is ancient anyway and I already added the feature you described.

Leave a message

Your email address will not be published. Required fields are marked *