我在使用Windbg的Windows(x64)内核上做了一些反向。 我尝试确定由以下字节表示的结构:
0e 00 10 00 00 00 00 00 - 90 db fe db 12 00 00 00
我认为:
KD> d 12dbfedb90
00000012`dcec7210 63 00 6f 00 75 00 6e - 00 74 00 72 00 79 00 00 c.o.u.n.t.r.y。
所以我认为原始结构如下所示:
typedef struct _SSTR {
WORD wStringLen;
WORD wStringWithNullCharLen; // Must be wStringLen + 1
DWORD dwReserved; // Must be 0
PWSTR pwString;
} SSTR;
typedef SSTR *PSSTR;
这个结构可以在MSDN中记录,但我没有找到任何东西......与这些字节对应的Windows结构是什么?
答案 0 :(得分:4)
看起来像
typedef struct _STRING {
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;
} STRING, OEM_STRING, *PSTRING;
来自http://msdn.microsoft.com/en-us/library/ms648424(v=vs.85).aspx
dwReserved
指针填充了PCHAR Buffer
。
或者可能是http://msdn.microsoft.com/en-us/library/windows/hardware/ff564879(v=vs.85).aspx 这非常相似
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;