Skip to content

Instantly share code, notes, and snippets.

@yhnu
Created August 27, 2021 03:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yhnu/5ffd301fd7f4bddfa6361d65a30c0531 to your computer and use it in GitHub Desktop.
Save yhnu/5ffd301fd7f4bddfa6361d65a30c0531 to your computer and use it in GitHub Desktop.
➜ linux_elf git:(master) ✗ ./ftrace -s ./test2 -v -e
[+] 64bit ELF mode enabled!
[+] get_address_space from /proc/958020/maps
55953aae9000-55953aaea000 r--p 00000000 08:02 6566014 /share/linux_elf/test2
[TRACE]addrstr = 55953aae9000
[TRACE]addrstr = 55953aaea000
55953aaea000-55953aaeb000 r-xp 00001000 08:02 6566014 /share/linux_elf/test2
55953aaeb000-55953aaec000 r--p 00002000 08:02 6566014 /share/linux_elf/test2
55953aaec000-55953aaee000 rw-p 00002000 08:02 6566014 /share/linux_elf/test2
7f5b05a60000-7f5b05a61000 r--p 00000000 08:02 2622019 /usr/lib/x86_64-linux-gnu/ld-2.31.so
7f5b05a61000-7f5b05a84000 r-xp 00001000 08:02 2622019 /usr/lib/x86_64-linux-gnu/ld-2.31.so
7f5b05a84000-7f5b05a8c000 r--p 00024000 08:02 2622019 /usr/lib/x86_64-linux-gnu/ld-2.31.so
7f5b05a8d000-7f5b05a8f000 rw-p 0002c000 08:02 2622019 /usr/lib/x86_64-linux-gnu/ld-2.31.so
7f5b05a8f000-7f5b05a90000 rw-p 00000000 00:00 0
7ffcd8d24000-7ffcd8d45000 rw-p 00000000 00:00 0 [stack]
7ffcd8d84000-7ffcd8d87000 r--p 00000000 00:00 0 [vvar]
7ffcd8d87000-7ffcd8d88000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]
[+] Printing Symbol Information:
deregister_tm_clones 0x55953aaea090
register_tm_clones 0x55953aaea0c0
__do_global_dtors_aux 0x55953aaea100
frame_dummy 0x55953aaea140
_init 0x55953aaea000
__libc_csu_fini 0x55953aaea210
func1 0x55953aaea149
_fini 0x55953aaea218
printf@@GLIBC_2.2.5 0x55953aae9000
__libc_start_main@@GLIBC_2.2.5 0x55953aae9000
__libc_csu_init 0x55953aaea1a0
_start 0x55953aaea060
main 0x55953aaea17d
__cxa_finalize@@GLIBC_2.2.5 0x55953aae9000
printf 0x55953aaea030
__libc_start_main 0x55953aae9000
__cxa_finalize 0x55953aae9000
[+] Printing shared library dependencies:
[1] libc.so.6
[+] Printing the address space layout
0x55953aae9000-0x55953aaea000 ./test2 [text]
0x0-0x0 ./test2 [data]
0x0-0x0 ./test2 [heap]
0x7ffcd8d24000-0x7ffcd8d45000 ./test2 [stack]
[TRACE]dsyms count = 3
.dynsym@0x55953aaea030:printf()
.dynsym@0x55953aae9000:__libc_start_main()
.dynsym@0x55953aae9000:__cxa_finalize()
[+] Function tracing begins here:
LOCAL_call@0x55953aaea000:_init()
Return address for _init: 0x55953aaea1d1
[+] Setting breakpoint on 0x55953aaea1d1
(RETURN VALUE) LOCAL_call@0x55953aaea000: _init() = 0
[+] Removing breakpoint from 0x55953aaea1d1
LOCAL_call@0x55953aaea149:func1(0x1,0x2,0x3)
Return address for func1: 0x55953aaea199
[+] Setting breakpoint on 0x55953aaea199
1 2 3
(RETURN VALUE) LOCAL_call@0x55953aaea149: func1(0x1,0x2,0x3) = 6
[+] Removing breakpoint from 0x55953aaea199
LOCAL_call@0x55953aaea090:deregister_tm_clones()
Return address for deregister_tm_clones: 0x55953aaea12c
[+] Setting breakpoint on 0x55953aaea12c
(RETURN VALUE) LOCAL_call@0x55953aaea090: deregister_tm_clones() = 55953aaed010
[+] Removing breakpoint from 0x55953aaea12c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment