首页
社区
课程
招聘
[原创]俺来看个KernelExec.sys-->KernelExec.idb
发表于: 2008-2-6 16:21 8110

[原创]俺来看个KernelExec.sys-->KernelExec.idb

2008-2-6 16:21
8110

嘿嘿,IDA初学 ,俺在CodeProject上下了份从内核启动一个R3程序的例子.想学下逆向,于是直接拿IDA看了下这个sys:KernelExec.sys,注释了一下,终于明白了这个驱动的作用啦:

从内核启动一个R3程序.大致是遍历EPROCESS找到explorer.exe, 在其中找到一个alertable的线程,插个用户APC. 这个用户APC就是简单调用WinExec去执行一个指定的程序, 期间要在内核中attach到explorer.exe进程中,为My_Func分配一个MDL,然后映射到explorer.exe的虚拟进程空间中.返回时APC就可以执行啦.

不过这个sys好像有点儿毛病, 它简单的设置ApcState.UserApcPending = TRUE, 好像不调用KeForceResumeThread的话APC不会执行,俺电脑上一直就没有出效果o(*.*)O

哈哈,原来逆向蛮好玩儿的(俺还没还原成C代码,不算逆向 ).

btw: 好像真正的在内核中启动一个R3程序,MS是要拦截掉_KiSystemService,在里面jmp到我们指定的代码处,一般是找kernel32.dll的空隙插, 找到CreateProcessA的地址,弄到kernel32.dll在内存中的空隙里, 然后再XXX就产生了一个R3程序.... 嘿嘿,学习学习 ~~


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 248
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,学习ing...
2008-2-6 17:09
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
这个东西不错。
2008-2-6 20:06
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
4
不错,学习。。。
2008-2-7 23:04
0
雪    币: 390
活跃值: (571)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习中…………
2008-2-7 23:07
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
强烈要求逆出src。。而且逆出来的src可以再编译 而且编译出来的sys可以替换原来的sys……

嘿嘿嘿嘿。。
2008-2-7 23:23
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
7
哈哈.炉子......
嘿嘿,炉子........

好玩儿
2008-2-7 23:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
来学习
2008-2-29 14:55
0
游客
登录 | 注册 方可回帖
返回
//