둘둘리둘둘리둘둘리둘둘리둘둘리둘
[ Linux ] 심볼없는 파일 메인함수 찾기 본문
root@Kali-Linux:/home/flag# ltrace ./nos
__libc_start_main(0x40050c, 1, 0x7fffd6006a28, 0x400540, 0x400530 <unfinished ...>
printf("hello") = 5
hello+++ exited (status 0) +++
__libc_start_main에 첫번째 인자가 main함수의 주소
root@Kali-Linux:/home/flag# objdump -f ./nos
./nos: file format elf64-x86-64
architecture: i386:x86-64, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0000000000400400
root@Kali-Linux:/home/flag# objdump -d ./nos | grep 400400 -A 20
0000000000400400 <.text>:
400400: 31 ed xor %ebp,%ebp
400402: 49 89 d1 mov %rdx,%r9
400405: 5e pop %rsi
400406: 48 89 e2 mov %rsp,%rdx
400409: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
40040d: 50 push %rax
40040e: 54 push %rsp
40040f: 49 c7 c0 30 05 40 00 mov $0x400530,%r8 //finit
400416: 48 c7 c1 40 05 40 00 mov $0x400540,%rcx //init
40041d: 48 c7 c7 0c 05 40 00 mov $0x40050c,%rdi
400424: e8 c7 ff ff ff callq 4003f0 <__libc_start_main@plt>
마찬가지로 __libc_start_main 첫번째 인자
'Windows > Reversing' 카테고리의 다른 글
디버깅 이벤트(Debugging Events)관련 상수들 (0) | 2015.12.19 |
---|---|
메모리 브레이크 포인트, 동작방식 (0) | 2015.12.03 |
하드웨어 브레이크포인트, 동작방식 (0) | 2015.12.02 |
[Windows] 함수호출 규약 (Calling Convention) (x86) (0) | 2015.10.13 |
어셈블리어 연산자 (0) | 2015.07.15 |