首页
社区
课程
招聘
[旧帖] [求助]seh时调用的一些参数 0.00雪花
发表于: 2011-7-27 17:44 1127

[旧帖] [求助]seh时调用的一些参数 0.00雪花

2011-7-27 17:44
1127
学习书上cve-2009-0927时,下了一个万能消息断点才成功来到annots中getIcon函数里strncpy的附近,幸运地看到了seh+heap spray,感谢大神们的文章~
于是在0c0c0c0c处设置内存断点,断下后根据栈里的内容找到了ntdll中对于shellcode的调用的返回地址,ctrl+g找到了那个call
重来,停到了7c9237A0:
push dword ptr fs:[0]
mov dword ptr fs:[0],esp
push dword ptr [ebp+14]
push dword ptr [ebp+10]
push dword ptr [ebp+C]
push dword ptr [ebp+8]
mov ecx,dword ptr [ebp+18]
call ecx
这里压入的各传递参数都是什么意义呢?
特别是fs:[0]直接指向了被0c0c0c0c淹没的seh链12ed28
mov ecx,[ebp+18]就是把前面压入栈的fs:[0]地址处的内容(0c0c0c0c)直接传给ecx吗?

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
没看过你说的那书。
SEH还有点印象。

push dword ptr fs:[0]
mov dword ptr fs:[0],esp
这2句代码是搭建SEH框架。前面应该至少还有一条push指令。

push dword ptr [ebp+14]
push dword ptr [ebp+10]
push dword ptr [ebp+C]
push dword ptr [ebp+8]
mov ecx,dword ptr [ebp+18]
call ecx

这个函数有5个参数,在函数内部,把4,3,2,1参数入栈,
然后调用第5个参数,这是个函数指针。

int ExecuteHandler( PEXCEPTION_RECORD pExcptRec
                    PEXCEPTION_REGISTRATION pExcptReg
                    CONTEXT * pContext
                    PVOID pDispatcherContext,
                    FARPROC handler )
2011-7-28 09:58
0
雪    币: 238
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
pdx
3
谢谢,学习~
2011-7-28 10:21
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你真厉害了,俺还在学习中.
2011-7-28 10:33
0
游客
登录 | 注册 方可回帖
返回
//