首页
社区
课程
招聘
[求助]懂溢出的进来看看,帮帮忙哈,谢谢
发表于: 2007-12-17 21:16 3882

[求助]懂溢出的进来看看,帮帮忙哈,谢谢

2007-12-17 21:16
3882
假设有一个程序A,他有多个线程,我用一个线程监视EIP的变化,假设受外界影响,有人执行shellcode 搞我的程序,我如何判断eip是正常指向还是被shellcode 覆盖的指向呢?谢谢!急切盼望回复!!!!!

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

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 189
活跃值: (56)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
俺不懂溢出,不过你可以判断一下eip指的地方,比如是堆栈,heap,还是映射到内存的代码节等等之类,不过估计误判率会很高吧.
2007-12-17 22:47
0
雪    币: 66
活跃值: (15)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
3
毕竟不是个好办法~
2007-12-18 00:00
0
雪    币: 259
活跃值: (26)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
4
没有other的办法了
2007-12-18 12:12
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nop
5
楼主,说说你怎么用一个线程监视eip?
2007-12-18 12:50
0
雪    币: 124
活跃值: (70)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
执行一个指令停下判断eip
2007-12-18 14:01
0
雪    币: 177
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个是关键,你线程运行的时候监视的eip也是在线程内吧
2007-12-18 17:41
0
雪    币: 259
活跃值: (26)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
8
写一个类似调试器的东东,调试加载目标程序,当然了,目前只是想象一下~~
2007-12-18 19:31
0
雪    币: 189
活跃值: (56)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
关于监视eip
如果ring3的话
你可以创建一个子函数,映射进内存
然后模仿调试器替换int3h的方法,先把监控目标的入口指令替换成 call 你自己创建的子函数
在子函数就可以得到下一条指令的eip了,做完判断后再替换下一条指令为call 你自己创建的子函数
,一步步替换下去就可以了,不过执行效率嘛,就不说了。做个玩具还可以



ps:替换成int3h,然后用seh来处理也一样啦,如果搂主能想办法解决误报和效率问题,期待Ing

现在那些杀毒的监控溢出一般都在某几个关键函数,如loadlibrary ,getprocaddress之类的返回时判断一下,全程判断估计也解决不了误报和效率问题吧,也许是俺见识少,反正还不大知道
2007-12-19 15:00
0
雪    币: 259
活跃值: (26)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
ring 0
2007-12-20 09:24
0
游客
登录 | 注册 方可回帖
返回
//