当前位置:  技术问答>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.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 截获系统调用的模块中,如何获得发生系统调用eip


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3