#2 I have a great question

open
nobody
None
5
2012-07-18
2012-02-08
Anonymous
No

User program run from _start:
0000000000400670 <_start>:
400670: 31 ed xor %ebp,%ebp
400672: 49 89 d1 mov %rdx,%r9
400675: 5e pop %rsi
400676: 48 89 e2 mov %rsp,%rdx
400679: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
40067d: 50 push %rax
40067e: 54 push %rsp
40067f: 49 c7 c0 70 08 40 00 mov $0x400870,%r8
400686: 48 c7 c1 e0 07 40 00 mov $0x4007e0,%rcx
40068d: 48 c7 c7 71 07 40 00 mov $0x400771,%rdi
400694: e8 af ff ff ff callq 400648 __libc_start_main@plt

then it call functiion libc_start_main to lanch gcc constructor machnism.
My question is: the EIP have moved to
libc_start_main,but you remap the <.text>segment to hugetlb mem,how did you
deal with the EIP register, you run to _start again to start the program?
thanks,waiting for your answer.

Discussion


Anonymous


Cancel   Add attachments