R0传出字符串
struct DriverName
{
char
*
name;
};
DriverName
data
=
(DriverName
)req
-
>data;
temp;
ANSI_STRING AnsiString;
RtlUnicodeStringToAnsiString(&AnsiString, &((PKLDR_DATA_TABLE_ENTRY)DynamicData
>DriverObject
>DriverSection)
>BaseDllName, TRUE);
temp
AnsiString.
Buffer
;
RtlFreeAnsiString(&AnsiString);
>name
DbgPrint(
"name %s\n"
, data
>name);
break
R3接收的时候出问题了
auto name
drv.GetDriverBaseName();
printf(
"pName: %p\n"
, name);
"name: %s\n"
所以问题来了,我在R0创建的字符串的地址是内核地址,R3无法读出这个字符串,有办法可以解决吗?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!