首页
社区
课程
招聘
[求助]关于堕落天才的那个对抗Ring0的代码
发表于: 2009-3-22 10:11 5063

[求助]关于堕落天才的那个对抗Ring0的代码

2009-3-22 10:11
5063
__declspec(naked) NTSTATUS __stdcall MyNtOpenProcess(PHANDLE ProcessHandle,
               ACCESS_MASK DesiredAccess,
               POBJECT_ATTRIBUTES ObjectAttributes,
               PCLIENT_ID ClientId) 
{
  DbgPrint("NtOpenProcess() called");
  __asm{
    push    0C4h
    push    804eb0d8h  //共十个字节 //804e3890 //805727c7 Ntopenprocess //804eb0d8
    jmp     [JmpAddress]     
  }
}

我这是xpsp3地址有些3变化,
但是当驱动加载上以后我用monitor监视。
问题1:
这个代码好象仅仅是在monitor里显示了什么时候什么时间NtOpenProcess被调用过的把?
http://bbs.pediy.com/showthread.php?t=40832&highlight=%E5%A0%95%E8%90%BD+%E8%90%BD%E5%A4%A9+%E5%A4%A9%E6%89%8D
代码地址!
问题2:
怎么样才能让调用NtOpenProcess失败呢?

求助指点迷津!

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 225
活跃值: (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
return STATUS_ACCESS_DENIED
2009-3-22 10:41
0
雪    币: 27
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
问题1:
这个代码是用来绕过inline hook的

问题2:
对NtOpenProcess的参数进行判断 发现要拒绝的进程 返回STATUS_ACCESS_DENIED
2009-3-22 11:14
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这就是有些软件用来判断创建进程的父进程的身份的原型
2009-3-22 12:00
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
NTSTATUS  MyNtOpenProcess(PHANDLE ProcessHandle, //__declspec(naked) 
               ACCESS_MASK DesiredAccess,
               POBJECT_ATTRIBUTES ObjectAttributes,
               PCLIENT_ID ClientId) //__declspec(naked)告诉编译器,在编译的时候,不要优化代码
{
  if(ProcessHandle!=NULL)
  {
  DbgPrint("NtOpenProcess() called");
   return STATUS_ACCESS_DENIED;
  }
    __asm{
    push    0C4h
    push    804eb0d8h  //共十个字节 //804e3890 //805727c7 Ntopenprocess //804eb0d8
    jmp     [JmpAddress]     
	}
  
}


这样写不行啊!!!!
2009-3-22 14:48
0
雪    币: 225
活跃值: (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
你也太疯狂了,会出问题的
2009-3-22 14:51
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
7
都naked了,还用高级语法 ,这样堆栈都被破坏了。
2009-3-23 20:12
0
雪    币: 182
活跃值: (55)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
pushad
call myproc
popad

可以调用自己另外的函数做处理,需要的参数可以传递给myproc。
2009-3-23 20:42
0
游客
登录 | 注册 方可回帖
返回
//