首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Eureka的技术时光轴

    内核中通过给线程插apc注入dll

    ULONG *)pTargetProcess,&ApcState);//进入目标进程的上下文 pMappedAddress = MmMapLockedPagesSpecifyCache (pMdl,UserMode IoFreeMdl (pMdl); ExFreePool (pApc); return STATUS_UNSUCCESSFUL; } else DbgPrint("UserMode , OriginalApcEnvironment, &ApcKernelRoutine, NULL, (PKNORMAL_ROUTINE)pMappedAddress, UserMode

    1.7K10发布于 2019-11-18
  • 来自专栏Eureka的技术时光轴

    apc启动新进程

    pTargetProcess) { PRKAPC pApc = NULL; //Our APC PVOID pMappedAddress = NULL; //This is where the UserMode memory for the APC structure"); return STATUS_INSUFFICIENT_RESOURCES; } //Get the size of our UserMode physical pages (our code) described by 'pMdl' pMappedAddress = MmMapLockedPagesSpecifyCache (pMdl,UserMode IoFreeMdl (pMdl); ExFreePool (pApc); return STATUS_UNSUCCESSFUL; } else DbgPrint("KernelExec -> UserMode KeInitializeApc(pApc,pTargetThread, OriginalApcEnvironment, &ApcKernelRoutine,NULL, pMappedAddress, UserMode

    1.7K10发布于 2019-11-21
  • 来自专栏给永远比拿愉快

    使用sudo时user is not in sudoers file的解决

    如果想让新添加的用户也能拥有使用sudo的权利,我们一般可以使用 adduser username sudo这样的命令将用户添加到sudo组中即可(username为你的用户名) 或者usermode 解决办法: 首先su到root用户下,然后使用usermode -G username wheel。

    2.6K20发布于 2019-01-22
  • 来自专栏giantbranch's blog

    windbg时间穿梭——利用Time Travel Debugging更方便地调试漏洞

    ,只需在指令后面加个”-“号 0:000> p Time Travel Position: 63:3F **** WARNING loaded *kernel* extension dll for usermode eax,0CCCCCCCCh 0:000> p Time Travel Position: 63:40 **** WARNING loaded *kernel* extension dll for usermode 0098f9c8=0098f9d4 0:000> p- Time Travel Position: 63:3F **** WARNING loaded *kernel* extension dll for usermode cmp edi,esp 0:000> p- Time Travel Position: 67:79 **** WARNING loaded *kernel* extension dll for usermode free) 0:001> p- Time Travel Position: 222B01:43 **** WARNING loaded *kernel* extension dll for usermode

    1.1K00编辑于 2024-12-31
  • 驱动开发:内核R3与R0内存映射拷贝

    数据映射到内核层(R0)先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下:IoAllocateMdl 该函数用于创建MDL(类似初始化)MmProbeAndLockPages 用于锁定创建的地址其中UserMode ((PVOID)(SrcAddr & 0xFFFFFFFFFFFFF000), PAGE_SIZE, FALSE, FALSE, NULL);if (pSrcMdl){__try{// 锁定内存页面(UserMode 代表应用层)MmProbeAndLockPages(pSrcMdl, UserMode, IoReadAccess);// 从MDL中得到映射内存地址pMappedSrc = MmGetSystemAddressForMdlSafe pDstMdl){IoFreeMdl(pSrcMdl);return st;}__try{// 以写入的方式锁定目标MDLMmProbeAndLockPages(pDstMdl, UserMode, IoWriteAccess

    79920编辑于 2022-11-18
  • 驱动开发:内核R3与R0内存映射拷贝

    R0) 先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下: IoAllocateMdl 该函数用于创建MDL(类似初始化) MmProbeAndLockPages 用于锁定创建的地址其中UserMode 0xFFFFFFFFFFFFF000), PAGE_SIZE, FALSE, FALSE, NULL); if (pSrcMdl) { __try { // 锁定内存页面(UserMode 代表应用层) MmProbeAndLockPages(pSrcMdl, UserMode, IoReadAccess); // 从MDL中得到映射内存地址 pMappedSrc IoFreeMdl(pSrcMdl); return st; } __try { // 以写入的方式锁定目标MDL MmProbeAndLockPages(pDstMdl, UserMode

    1K20编辑于 2022-12-28
  • 来自专栏有趣的django

    六、APC

    内核模式普通APC NormalRoutine成员不为NULL ApcMode成员为KernelMode 用户模式APC NormalRoutine 成员不为 NULL ApcMode成员为UserMode PsGetCurrentProcessId()); KeInitializeApc(pApc, eThread, OriginalApcEnvironment, kernelRoutineFunc, NULL, 0x401000, UserMode 0x20; //Alertable 置1 BOOLEAN is = KeInsertQueueApc(pApc, pEvent, NULL, 0); KeAlertThread(eThread, UserMode PsGetCurrentProcessId()); KeInitializeApc(pApc, eThread, OriginalApcEnvironment, kernelRoutineFunc, NULL, 0x401000, UserMode eThread + 0x4c) |= 0x20; BOOLEAN is = KeInsertQueueApc(pApc, pEvent, NULL, 0); KeAlertThread(eThread, UserMode

    1.5K20编辑于 2022-09-29
  • 来自专栏Windows技术交流

    远程端口没有监听,但是remote desktop services服务是启动状态

    Remote Desktop Services UserMode Port Redirector(UmRdpService),该服务禁用,会出现这个现象:远程端口没有监听,但是remote desktop

    1.3K10编辑于 2025-02-26
  • 来自专栏cjz的专栏

    Win10 WiFi图标没有解决方案

    计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndisuio 输入上面地址 查看DisplayName里的数值是否为:NDIS Usermode

    1.3K40编辑于 2022-12-21
  • 来自专栏Eureka的技术时光轴

    Windows的APC机制

    最后,APC请求的模式Mode是UserMode。但是有个例外,那就是:如果指针NormalRoutine为0,那么实际的模式变成了KernelMode。 不过,KernelMode确实表示只要求执行内核APC,而UserMode却表示在执行内核APC之外再执行用户APC。 执行完内核APC队列中的所有请求以后,如果调用参数DeliveryMode为UserMode的话,就轮到用户APC了。 IsListEmpty(&Thread->ApcState.ApcListHead[UserMode])) && (DeliveryMode == UserMode) && (Thread- 首先自然是用户APC队列非空,同时调用参数DeliveryMode必须是UserMode;并且ApcState中的UserApcPending为TRUE,表示队列中的请求确实是要求尽快加以执行的。

    3.1K30发布于 2019-10-14
  • 来自专栏Windows

    WLAN AutoConfig 启动报错“错误 1068:依赖服务或组无法启动“

    查看Ndisuio并修改参数找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndisuio查看DisplayName的值是否为NDIS Usermode

    4.4K10编辑于 2025-03-05
  • 3.5 Windows驱动开发:应用层与内核层内存映射

    调用MmProbeAndLockPages用于锁定创建的地址其中UserMode代表用户层,IoReadAccess以读取的方式锁定调用MmGetSystemAddressForMdlSafe用于从MDL , FALSE, NULL); if (pSrcMdl) { __try { // 锁定内存页面(UserMode 代表应用层) MmProbeAndLockPages(pSrcMdl, UserMode, IoReadAccess); // 从MDL中得到映射内存地址 ); return st; } __try { // 以写入的方式锁定目标MDL MmProbeAndLockPages(pDstMdl, UserMode

    1.2K40编辑于 2023-11-16
  • 来自专栏编程珠玑

    性能优化-放开那片内存,让我来!

    [.] free@plt 2.51% malloc [.] malloc@plt 0.03% [kernel] [k] prepare_exit_to_usermode 0.01% [kernel] [k] update_load_avg 0.01% [kernel] [k] swapgs_restore_regs_and_return_to_usermode

    1.2K30发布于 2021-01-05
  • 3.5 Windows驱动开发:应用层与内核层内存映射

    调用MmProbeAndLockPages用于锁定创建的地址其中UserMode代表用户层,IoReadAccess以读取的方式锁定 调用MmGetSystemAddressForMdlSafe用于从MDL FALSE, NULL); if (pSrcMdl) { __try { // 锁定内存页面(UserMode 代表应用层) MmProbeAndLockPages(pSrcMdl, UserMode, IoReadAccess); // 从MDL return st; } __try { // 以写入的方式锁定目标MDL MmProbeAndLockPages(pDstMdl, UserMode

    1.1K30编辑于 2023-11-17
  • 来自专栏老高的技术博客

    windows远程连接优化

    修改完毕,重启以下服务(控制面板中的服务中): Microsoft Remote Desktop Connection 和 Remote Desktop Services UserMode Port Redirector

    6.3K20编辑于 2022-12-27
  • 来自专栏Windows技术交流

    Windows系统小工具之pstools:psservice、psinfo……

    以此看出一个服务重要性(依赖它的服务越多,说明它越重要,不能轻易动它) 如下图,依赖远程服务TermService的其他服务只有这一个服务【DISPLAY_NAME: Remote Desktop Services UserMode

    2.8K50发布于 2020-04-20
  • 驱动开发:通过MDL映射实现多次通信

    mdl = IoAllocateMdl(uva, uva_size, FALSE, FALSE, NULL);ASSERT(mdl);__try {MmProbeAndLockPages(mdl, UserMode EXCEPTION_EXECUTE_HANDLER) {DbgPrint("error code = %d", GetExceptionCode);} PVOID uva = MmMapLockedPagesSpecifyCache(mdl, UserMode MmBuildMdlForNonPagedPool(pShareMM_MDL); // 将内核空间映射到用户空间 PVOID pShareMM_User = MmMapLockedPagesSpecifyCache(pShareMM_MDL, UserMode MmBuildMdlForNonPagedPool(pShareMM_MDL);// 将内核空间映射到用户空间PVOID pShareMM_User = MmMapLockedPagesSpecifyCache(pShareMM_MDL, UserMode

    98230编辑于 2023-04-29
  • 来自专栏月梦·剑心的技术专栏

    Linux用户管理

    用户组 类似于角色,系统可以对有共性的多个用户进行统一的管理 新增组:groupadd 组名 删除组:groupdel 组名 增加用户时直接加上组:useradd -g 用户组 用户名 修改用户的组:usermode

    5.6K20编辑于 2022-09-14
  • 驱动开发:通过MDL映射实现多次通信

    = IoAllocateMdl(uva, uva_size, FALSE, FALSE, NULL); ASSERT(mdl); __try { MmProbeAndLockPages(mdl, UserMode { DbgPrint("error code = %d", GetExceptionCode); } PVOID uva = MmMapLockedPagesSpecifyCache(mdl, UserMode pShareMM_MDL); // 将内核空间映射到用户空间 PVOID pShareMM_User = MmMapLockedPagesSpecifyCache(pShareMM_MDL, UserMode pShareMM_MDL); // 将内核空间映射到用户空间 PVOID pShareMM_User = MmMapLockedPagesSpecifyCache(pShareMM_MDL, UserMode

    76920编辑于 2023-05-03
  • 来自专栏喵叔's 专栏

    线程同步 (二)

    Program { static void Main(string[] args) { Thread thread1 = new Thread(UserMode isCompleted = true; } static volatile bool isCompleted = false; static void UserMode

    82710发布于 2020-09-08
领券