Kiject-x64是一款即将推出的用于Windows系统内核模式下DLL注入的强大工具。当前版本仅支持x86架构,x64版本正在积极研发中。
Kinject-x64 是一个内核 DLL 注入器,当前仅提供 x86 版本,x64 版本即将推出。目前只发布了驱动程序部分,应用程序将在完成 x64 版开发后发布。
该注入工具的基本操作流程如下:
1. 寻找目标线程进行劫持。
2. 打开目标进程的句柄。
3. 获取目标线程的句柄。
4. 将自身附加到目标进程的地址空间中。
5. 在目标进程中分配内存区域用于存放 DLL 的名称以及 APC 例程的相关信息。
6. 设置 ApcState.UserApcPending 标志为 TRUE,促使目标线程执行 APC 例程。
7. 分配一个来自非分页池中的 APC 对象,并使用 KeInitializeApc 和 KeInsertQueueApc 函数来初始化并插入该对象到目标线程中。
8. 目标进程内的目标线程开始运行 APC 例程,后者会调用 LdrLoadDll 来加载指定的 DLL 文件。
9. 等待 APC 例程执行完毕。
10. 清理分配的资源。