|
[求助]NtCreateProcess()函数疑问
ths! WRK里没有找到,在NT里才找到, if ( NT_SUCCESS(st) ) { st = PspMapSystemDll(Process,NULL); } |
|
[求助]NtCreateProcess()函数疑问
谢谢两位的回答,但我意思是NtCreateProcess()函数里面应该会有调用啊。但是没有看到啊? |
|
[求助]关于进程句柄表的问题
自己用Windbg看了一下,ObpKernelHandleTable就是system进程的句柄表。这么做行不?如果一个进程把csrss.exe进程的句柄信息抹了的话,我们在驱动里面的操作会在system进程的句柄表中加一项记录,那么我们能不能用炉子的方法,同样从system进程访问呢》 |
|
[求助]关于进程句柄表的问题
说说自己的理解,大家看对不,调用ObOpenObjectByPointer()函数,这函数会进行一些参数的检查,然后调用ObpCreateHandle()函数。这函数里面会进行下面的操作 如果是AccessMode == KernelMode就取内核句柄表 if ((Attributes & OBJ_KERNEL_HANDLE) /* && (AccessMode == KernelMode) */) { 因为我们在驱动传递进来的是KernelMode,所以用内核的句柄表 ObjectTable = ObpKernelHandleTable;//得到内核的句柄表 PHANDLE_TABLE ObpKernelHandleTable; 对于内核句柄表,它会在ObInitSystem()函数里面初始化如下: ObpKernelHandleTable = PsGetCurrentProcess()->ObjectTable = ExCreateHandleTable( NULL );我想问的是PsGetCurrentProcess()这个函数是在哪个进程空间中执行的,是system还是IDLE进程。 否则的话调用ObpGetObjectTable()函数得到当前进程的句柄表。也就是本进程的,因为我写的这个驱动 是上层驱动,DisPatch Routine会在本进程空间执行。 再经过一系列的操作之后调用 NewHandle = ExCreateHandle( ObjectTable, &ObjectTableEntry );它会在句柄表中新加一项HANDLE_TABLE_ENTRY结构,并且返回句柄。 |
|
[原创]纯C实现多页面山寨浏览器(KsBinExplorer)
楼主棒棒的,支持 |
|
[求助]关于暴力搜索内存枚举进程的疑问
哪位好心人可以传一份icesword的代码给我吗?675059814或者yaolibing2@126.com |
|
[求助]关于暴力搜索内存枚举进程的疑问
谢谢楼上的两位,我看看去 |
|
[原创]初学驱动——绕过DNF的Inline Hook
BufferCode(MyThread, (ULONG)OldThread, ThreadLength); BufferCode(MyProcess, (ULONG)OldProcess, ProcessLength); 楼主请问一下啊,上面两句用下面的这个能代换吗? memcpy((void*)MyThread, (void*)OldThread, ThreadLength); memcpy((void*)MyProcess, (void*)OldProcess, ProcessLength); |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值