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

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

2015-1-25 13:04
8097
在这里向大家请教一个问题,按我的理解,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住函数,但是只能获取那个编号,但是其他的东西,发送内容,长度之类的,不知道去哪里获取。
请有经验的人给一些指导,谢谢大家!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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