首页
社区
课程
招聘
[求助]如果我想完成对应用程序“程序领空”到“系统领空”切换的监视,该如何实现?
发表于: 2008-7-20 22:24 8281

[求助]如果我想完成对应用程序“程序领空”到“系统领空”切换的监视,该如何实现?

2008-7-20 22:24
8281
想监视一个程序的所有“程序领空”到“系统领空”的切换事件,记录其eip值,该如何实现呢?
高手帮忙指点下。有什么好方法没?

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

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
在OD里跟踪应该可以
2008-7-20 22:58
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
多谢
如果自己用程序完成,有什么好的实现方法没?
2008-7-20 23:12
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
4
自己顶一下。
2008-7-21 08:33
0
雪    币: 282
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
只能模拟所有代码执行。
2008-7-21 09:04
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
应该可以写个脚本出来
2008-7-21 09:13
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
7
B    T    S
2008-7-21 09:50
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
8
ia32_msr_sysenter
2008-7-21 11:48
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
9
发哥人真好。。。LZ该加声望了
2008-7-21 12:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
关注一下。。。。
2008-7-21 12:54
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
11
可以弄个什么DLL劫持,把加载的系统库给劫持掉,换成自己的接口,不过貌似有些麻烦
2008-7-21 13:12
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
12
多谢诸位,
BTW:发哥是哪位?BTS又是啥呢?
2008-7-21 19:20
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
13
发哥 = FORGOT...

R3到R0的切换,WIN2K的年代用的INT2E, 也就是你挂钩IDT,就基本可以检查所有的R3 到R0的切换了...
XP的年代则是SYSENTER.....你需要挂钩MSR...随便搜索一下,基本也可以找到代码了...

因为你的问题很多搞内核的,以及不搞内核的都知道,我还以为会没人答呢.....

至于BTS是CPU提供的分支记录功能...可以记录所有分支的地址,包括R3 和R0的...前阵子有人发过文章还置顶了的...
2008-7-21 22:13
0
雪    币: 282
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
程序领空”到“系统领空”的切换
==
R3 到R0的切换

????
2008-7-21 22:37
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
15
哦...明白了...跑题了...把系统DLL的页属性都改成不可执行吧...跑到那个位置产生异常,接收异常之后可以在当前堆栈得到返回地址,也可以用原来的方法,直接在你要监视的进程空间改页属性.....

不过BTS依然可以满足这个需求就是了..

还有的还有,改EXE的输入表,HOOK GETPROCADDRESS,只是这样做对于壳自己模拟的那个API就无效了, 改新加载的系统DLL输出表,使其先转向到你的代码或许也是解决方案之一....只是这样和NBW说的差不多了
2008-7-21 22:49
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
16
非常感谢
2008-7-22 08:26
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
17
===不妥,删除===
2008-7-22 20:46
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
18
膜拜
2008-7-22 20:59
0
雪    币: 104
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
16楼正解…… 如果在OD中可以在所有载入的系统DLL的代码段设置访问断点,一旦执行到就会触发咯。
2008-7-22 21:49
0
游客
登录 | 注册 方可回帖
返回
//