Hey, think I figured this out.
You have to ReadProcessMemory with the pointer, the value will be the base address. Now, ReadProcessMemory again, but with the baseaddr+pointer, now the address is the address of the value you want, so you can write to it (for single pointers)
For multilevel ones you must Read ProcessMemory as many times as you have offsets, adding the next offset each function.
Hope I helped c: