我正在制作一个简单的 C# 培训师,我在其中使用ReadProcessMemory
.
目前我这样做:
RPM(base,buffer) --> buffer+offset1=finaladdress --> RPM(finaladdress,buffer) -->
BitConverter.ToInt32(buffer, 0) = value
现在我想使用一个函数来自动化这个过程(因为这个过程对于多级指针来说很混乱)。
我找到了这个:
uint []offsets = {0xDFCDD8, 0x13A8, 0x4}
getAddress(offsets);
uint getAddress(offsets[])
{
int i;
uint address;
address = readProcessMemory(offsets[0]);
for(i=1; i<(sizeof(offsets)/sizeof(uint)); i++)
{
address = ReadProcessMemory(address + offsets[i]);
}
return address;
}
但我不明白这是如何工作的。任何人都可以向我解释或给我其他功能吗?