关于内核创建进程初始化失败的问题
在网上看到又内核如何创建进程的代码,主要流程是
1,使用 ZwOpenFile 打开文件,创建映射 ZwCreateSection.
2. 调用 ZwCreateProcess
本步骤主要是创建进程的 PEB 、 EPROCESS 、 VAD 等核心内核结构。
3. 创建堆栈、 CONTEXT 、进程参数等,并创建主线程 ZwCreateThread(SUSPEND)
4. 通知 Csrss.exe
5. 调用 ZwResumeThread 恢复线程的执行。
现在问题在 通知 Csrss.exe,因为网上那份代码是NATIVE APP,使用CsrClientCallServer 来通知CSRSS的,这个API在NTDLL中,是R3下才有的,现在移植到R0下无法使用,网上有一个通过直接通过获取CSRSS中EPROCESS的OBJECTTABLE句柄,使用ExEnumHandleTable 来处理,最后直接NtRequestWaitReplyPort完成通知,可是在最后程序运行后还是初始化失败,特在此发一帖,寻求解答~
1,使用 ZwOpenFile 打开文件,创建映射 ZwCreateSection.
2. 调用 ZwCreateProcess
本步骤主要是创建进程的 PEB 、 EPROCESS 、 VAD 等核心内核结构。
3. 创建堆栈、 CONTEXT 、进程参数等,并创建主线程 ZwCreateThread(SUSPEND)
4. 通知 Csrss.exe
5. 调用 ZwResumeThread 恢复线程的执行。
现在问题在 通知 Csrss.exe,因为网上那份代码是NATIVE APP,使用CsrClientCallServer 来通知CSRSS的,这个API在NTDLL中,是R3下才有的,现在移植到R0下无法使用,网上有一个通过直接通过获取CSRSS中EPROCESS的OBJECTTABLE句柄,使用ExEnumHandleTable 来处理,最后直接NtRequestWaitReplyPort完成通知,可是在最后程序运行后还是初始化失败,特在此发一帖,寻求解答~
...全文
相关推荐
内核层x64位全系统禁止进程创建-易语言
内核层x64位全系统禁止进程创建
Android App快速接入腾讯X5内核的实操工程(TBS SDK 5.1.1)
这个工程是为Android开发者准备的TBS(腾讯浏览服务)X5内核集成样板,基于稳定可用的5.1.1版本SDK构建,开箱即用。整个项目采用标准Android Studio结构,包含完整的Gradle配置、签名参数示例(local.properties)、混淆规则(proguard-rules.pro)、基础资源和AndroidManifest.xml,无需额外改造即可编译运行。重点演示了TBS核心流程:初始化SDK、监听内核下载状态、用X5 WebView替代系统WebView、检测当前内核版本等关键步骤
解决qemu GTK初始化失败[源码]
文章介绍了在使用qemu-system-x86_64命令创建虚拟机时遇到GTK初始化失败的问题,并提供了解决方案。通过在SSH命令行启动时添加--nographic参数,成功避免了GTK初始化失败的问题。详细记录了虚拟机的启动过程,包括加速器配置、机器初始化、CPU初始化、加载内核和设备初始化等步骤,最终虚拟机成功启动并进入主循环。
隐藏进程(在任务管理器中看不到
隐藏进程(在任务管理器中看不到,免杀处理用,源码可以自己改,很牛逼的东西,自己写的发出来分享一下
实验一 进程调度算法.docx
实验一 进程调度算法.docx


进程/线程/DLL
