当前位置: 技术问答>linux和unix
eip的问题,还要再请教一下tb01412(tb)
来源: 互联网 发布时间:2015-11-13
本文导语: 我在进入内核之后、系统调用之前的处理函数中,先获得内核sp,然后把sp开始的20个long都显示出来,可我却找不到eip的位置了。我节选了连续的输出如下: (截获的ftpd的系统调用,sc_eax是系统调用号,sp++是从sp开始的一个个...
我在进入内核之后、系统调用之前的处理函数中,先获得内核sp,然后把sp开始的20个long都显示出来,可我却找不到eip的位置了。我节选了连续的输出如下:
(截获的ftpd的系统调用,sc_eax是系统调用号,sp++是从sp开始的一个个long的值,加“”的数字是我认为是eip,在接下来的分析中却导致find_vma(eip,current->mm)
->vm_file为空)
Mar 4 15:22:45 localhost kernel:sc_eax = 6,sp++=
4,2348612,3515684,4,165830716,-1078846040,
6,123,123,6,4469762,115,66118,“-1078846072”,123,0,0,-20486,-20486,-20486
Mar 4 15:22:46 localhost kernel:sc_eax = 175,sp++=
1,-1078846420,0,8,2338804,-1078846440,
175,123,123,175,4469762,115,66118,“-1078846596”,123,0,0,-20486,-20486,-20486
Mar 4 15:22:46 localhost kernel:sc_eax = 175,sp++=
1,-1078846420,0,8,2338804,-1078846440,
175,123,123,175,4469762,115,66118,“-1078846596”,123,0,0,-20486,-20486,-20486
Mar 4 15:22:46 localhost kernel:sc_eax = 102,sp++=
5,-1078846272,3515684,0,-1078846092,-1078846040,
102,123,123,102,4469762,115,66118,“-1078846280”,123,0,0,-20486,-20486,-20486
我自己push的顺序如下:
"pushl %%eaxn"
"pushl %%esn"
"pushl %%dsn"
"pushl %%eaxn"
"pushl %%ebpn"
"pushl %%edin"
"pushl %%esin"
"pushl %%edxn"
"pushl %%ecxn"
"pushl %%ebxn"
"call my_handler n"
到底哪一个才是eip呢?
|
你push了十个寄存器,你就定义一个结构,包含十二个整型字段,倒数第二个就是你的EIP,倒数第一个是CS
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。