我正在尝试加载在我正在读取内存的程序中定义的结构,因此我可以使用它来定义我的 python 调试器(在 Windows 中)中的对象。
结构在内存中采用什么格式,我可以从查找结构中获得哪些信息。是否可以找到所有属性以及链接到结构的所有对象的偏移量?
我希望能够在不使用断点的情况下做到这一点,但如果没有其他方法,我可以使用它们。
我正在尝试加载在我正在读取内存的程序中定义的结构,因此我可以使用它来定义我的 python 调试器(在 Windows 中)中的对象。
结构在内存中采用什么格式,我可以从查找结构中获得哪些信息。是否可以找到所有属性以及链接到结构的所有对象的偏移量?
我希望能够在不使用断点的情况下做到这一点,但如果没有其他方法,我可以使用它们。
您应该使用某种示例输出来提问,这样答案就不会基于猜测。
我加载结构是否意味着
或者是什么意思
假设您使用ReadProcessMemory
您提供的缓冲区,将填充字节。您可以将其转换为正确的类型以访问结构的各种成员(是的,您需要事先获得有效的结构原型)。
伪形式可能是这样的
type result;
BYTE foo[0x100];
Mystruct *blah;
int s1;
PSTR s2;
result = ReadProcessMemory(where,howmuch,destination,VerifiactionPointer)
blah = (MyStruct *)destination;
s1 = blah->someint;
s2 = blah->somestring;
您看到的内存将始终包含彼此无法区分的十六进制字节。它就像陶工手中的粘土。
只有工匠才能赋予它形式。粘土本身永远无法成为雕像或制作精良的茶壶。