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无法读出这个字符串,有办法可以解决吗?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课