首页
社区
课程
招聘
请教关于libc.so里socket相关函数的问题
2015-1-25 13:04 7665

请教关于libc.so里socket相关函数的问题

2015-1-25 13:04
7665
在这里向大家请教一个问题,按我的理解,libc.so里socket相关的函数,connect, sendto之类的这几个,调用方式,类似中断信号,或者syscall的那种,传一个编号来调用。代码如下:
.text:000212C0                 EXPORT sendto
.text:000212C0 sendto                                  ; CODE XREF: send+8p
.text:000212C0                 MOV             R12, SP
.text:000212C4                 STMFD           SP!, {R4-R7}
.text:000212C8                 LDMIA           R12, {R4-R6}
.text:000212CC                 LDR             R7, =0x122
.text:000212D0                 SVC             0
.text:000212D4                 LDMFD           SP!, {R4-R7}
.text:000212D8                 CMN             R0, #0x1000
.text:000212DC                 BXLS            LR
.text:000212E0                 RSB             R0, R0, #0
.text:000212E4                 B               j___set_errno
.text:000212E4 ; End of function sendto

int __fastcall sendto(int result)
{
  int v1; // r12@0
  int v2; // r4@1

  v2 = *(_DWORD *)v1;
  __asm { SVC             0 }
  if ( (unsigned int)result > 0xFFFFF000 )
    result = j___set_errno(-result);
  return result;
}


我想问一下,这种如果我想hook sendto, 看发送的内容,怎么处理,我现在能hook住函数,但是只能获取那个编号,但是其他的东西,发送内容,长度之类的,不知道去哪里获取。
请有经验的人给一些指导,谢谢大家!

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 719
活跃值: (782)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
落笔飞花 1 2015-1-25 13:48
2
0
这里你就要知道它是怎么传递参数了 我记得前四个 用寄存器后面的用堆栈.
游客
登录 | 注册 方可回帖
返回