YOUBADBAD 发表于 2022-4-20 11:33:07

其实我一直好奇,从R0传字符串给R3 ,用指针还是数组
struct SEND{
int number;
PCHAR Processname
}


struct SEND{
int number;
CHAR Processname;
}

用数组的话,可能会浪费或者不够,
用指针的话,等下R3接受的结构体里面,Processname是个内核地址,无法读取存在里面的 字符串

Tesla.Angela 发表于 2022-4-20 17:10:08

YOUBADBAD 发表于 2022-4-20 11:33
其实我一直好奇,从R0传字符串给R3 ,用指针还是数组
struct SEND{
int number;


如果真的是ProcessName或ProcessPath,那么用16/260字节的char数组即可。

如果要频繁传输海量不定长数据,那就用socket。

YOUBADBAD 发表于 2022-4-20 18:51:58

Tesla.Angela 发表于 2022-4-20 17:10
如果真的是ProcessName或ProcessPath,那么用16/260字节的char数组即可。

如果要频繁传输海量不定长数据 ...

是的,我有这样的打算,如果ioctrl解决不了,就直接readfile和writefile   或者socket等等

lusefei 发表于 2022-8-30 19:56:42

谢谢分享 最近在写一个 刚好看看

无极空间 发表于 2022-9-11 01:02:24

谢谢楼主分享

lyl610 发表于 2022-11-24 14:59:31

查看如何主动

iamasbcx 发表于 2023-2-26 15:17:05


BOOLEAN BypassCheckSign(PDRIVER_OBJECT pDriverObject)
{
# ifdef _WIN64
        typedef struct _KLDR_DATA_TABLE_ENTRY
        {
                LIST_ENTRY listEntry;
                ULONG64 __Undefined1;
                ULONG64 __Undefined2;
                ULONG64 __Undefined3;
                ULONG64 NonPagedDebugInfo;
                ULONG64 DllBase;
                ULONG64 EntryPoint;
                ULONG SizeOfImage;
                UNICODE_STRING path;
                UNICODE_STRING name;
                ULONG   Flags;
                USHORTLoadCount;
                USHORT__Undefined5;
                ULONG64 __Undefined6;
                ULONG   CheckSum;
                ULONG   __padding1;
                ULONG   TimeDateStamp;
                ULONG   __padding2;
        } KLDR_DATA_TABLE_ENTRY, * PKLDR_DATA_TABLE_ENTRY;
# else
        typedef struct _KLDR_DATA_TABLE_ENTRY
        {
                LIST_ENTRY listEntry;
                ULONG unknown1;
                ULONG unknown2;
                ULONG unknown3;
                ULONG unknown4;
                ULONG unknown5;
                ULONG unknown6;
                ULONG unknown7;
                UNICODE_STRING path;
                UNICODE_STRING name;
                ULONG   Flags;
        } KLDR_DATA_TABLE_ENTRY, * PKLDR_DATA_TABLE_ENTRY;
# endif

        PKLDR_DATA_TABLE_ENTRY pLdrData = (PKLDR_DATA_TABLE_ENTRY)pDriverObject->DriverSection;
        pLdrData->Flags = pLdrData->Flags | 0x20;

        return TRUE;
}

不然无法调试 加载失败等

baichimm 发表于 2023-3-5 22:35:05

学习学习

bigelephant 发表于 2023-3-19 20:00:45

感谢分享
学习下

ttff 发表于 2023-4-12 17:10:37

学习

2254649642 发表于 2023-4-26 21:37:14

不行支持啊                  

IBinary 发表于 2024-3-12 11:05:25

Thankyou 学习下主防

lzhlzhvip 发表于 2024-3-14 14:15:43

谢谢分享,学习一下~
页: 1 2 3 4 5 [6]
查看完整版本: [新年礼物]最简的HIPS模型(RING0主动向RING3交互)(兼容WIN32/WIN64)