首页
社区
课程
招聘
[旧帖] [求助]一个内核驱动开发的问题 0.00雪花
发表于: 2012-6-6 09:47 1441

[旧帖] [求助]一个内核驱动开发的问题 0.00雪花

2012-6-6 09:47
1441
在应用层开发,分配内存VirtualAlloc 可以分配内存为 读写执行的属性,这样我可以把执行代码写到分配内存区执行。

在内核下,分配内存没有这个属性,ExAllocatePoo那可不可以把执行代码写到分配内存,然后call这个代码?
内核下该怎么做?

想实现一个驱动动态加载代码执行的功能。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 44
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
XP下可以直接搞,但要注意重定位。
__declspec(naked) void MyTest()
{
  __asm{
    /////////////////////////////////////////////////////////////////
    //Code here
    //
    pushad 
    pushfd

    lea    eax, _title
    push    eax  
    mov    ebx,  80528E72h  ;The 80528E72h is address of DbgPrint function
    lea    eax, _continue  ;The return address
    push  eax        ;Push the return address,be sure to remember!!!
    jmp    ebx
_continue:
    pop    eax

    popfd      
    popad      
    ret        

    /////////////////////////////////////////////////////////////////
    //Data here 
    //
_title:
    _emit 0x41
    _emit 0x42
    _emit 0x43
    _emit 0x44
    _emit 0x45
    _emit 0x46
    _emit 0x47
    _emit 0x48
    _emit 0x49
    _emit 0x50
    _emit 0x00
  }
}
2012-6-6 10:31
0
雪    币: 36
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼上,已经实现内核动态加载内核DLL执行成功,在XP3上,现在研究下win7 32和64 原理上应该相似,看看能不能实现
2012-6-6 16:42
0
雪    币: 64
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
ExAllocatePool申请的内存可以执行哦
2012-6-6 16:58
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵还是没看懂
2012-6-6 17:11
0
雪    币: 253
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
_continue就是你要跳转的地址,前面调用dbgprint的是为了显示1234567890
2012-6-6 20:47
0
游客
登录 | 注册 方可回帖
返回
//