objdump 에 T 옵션을 사용하면 symbol 이 strip 된 파일에서도 리스트를 출력할 수 있습니다.
# arm-eabi-objdump -T ./libsqlite.so
...
00000000 DF *UND* 00000000 HMAC_Update
00000000 DF *UND* 00000000 HMAC_Final
00000000 DF *UND* 00000000 HMAC_CTX_cleanup
0000b4f4 g DF .text 00000140 sqlcipher_page_cipher
00000000 DF *UND* 00000000 EVP_CipherInit
00000000 DF *UND* 00000000 EVP_CIPHER_CTX_set_padding
00000000 DF *UND* 00000000 EVP_CipherUpdate
00000000 DF *UND* 00000000 EVP_CipherFinal
00000000 DF *UND* 00000000 EVP_CIPHER_CTX_cleanup
0000b634 g DF .text 00000014 sqlite3_mutex_free
0000b648 g DF .text 00000014 sqlite3_mutex_enter
0000b66c g DF .text 00000014 sqlite3_mutex_try
0000b680 g DF .text 00000014 sqlite3_mutex_leave
00000000 DF *UND* 00000000 pthread_mutexattr_init
00000000 DF *UND* 00000000 pthread_mutexattr_settype
00000000 DF *UND* 00000000 pthread_mutex_init
00000000 DF *UND* 00000000 pthread_mutexattr_destroy
0000c014 g DF .text 00000004 sqlcipher_malloc
0000c018 g DF .text 00000048 sqlcipher_cipher_ctx_init
0000c5ac g DF .text 00000050 sqlite3_free
00000000 DF *UND* 00000000 pthread_mutex_destroy
0000e00a g DF .text 0000001e sqlcipher_free
...
objdump 사용법이 잘 나와 있는 사이트
http://www.thegeekstuff.com/2012/09/objdump-examples/
-h option 을 사용하면 build 시 gdb 용 debug 정보가 포함된 (-g option build) binary 인지 확인이 가능합니다.
아래에서 파란색 section 이 -g option 으로 추가된 section 이다.
$ objdump -h ./any_binary_file
./any_binary_file: file format elf64-little
Sections:
Idx Name Size VMA LMA File off Algn
0 .crt0 00000540 00000000d2080000 00000000d2080000 00010000 2**3
CONTENTS, ALLOC, LOAD, CODE
1 .text 0003bd54 00000000d2080800 00000000d2080800 00010800 2**11
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .text.init 00002074 00000000d20bc554 00000000d20bc554 0004c554 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
3 .rodata 000018b0 00000000d20be5c8 00000000d20be5c8 0004e5c8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .rodata.str1.1 00007ace 00000000d20bfe78 00000000d20bfe78 0004fe78 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .data 00000988 00000000d20d0000 00000000d20d0000 00060000 2**6
CONTENTS, ALLOC, LOAD, DATA
6 .data.rel.local 00005ae0 00000000d20d0988 00000000d20d0988 00060988 2**3
CONTENTS, ALLOC, LOAD, DATA
7 .data.rel 000018f8 00000000d20d6468 00000000d20d6468 00066468 2**3
CONTENTS, ALLOC, LOAD, DATA
8 .got 00000618 00000000d20d7d60 00000000d20d7d60 00067d60 2**3
CONTENTS, ALLOC, LOAD, DATA
9 .got.plt 00000018 00000000d20d8378 00000000d20d8378 00068378 2**3
CONTENTS, ALLOC, LOAD, DATA
10 .data.rel.ro.local 00000520 00000000d20d8390 00000000d20d8390 00068390 2**3
CONTENTS, ALLOC, LOAD, DATA
11 .data.rel.ro 00000200 00000000d20d88b0 00000000d20d88b0 000688b0 2**3
CONTENTS, ALLOC, LOAD, DATA
12 .boards 00000010 00000000d20d8ab0 00000000d20d8ab0 00068ab0 2**3
CONTENTS, ALLOC, LOAD, DATA
13 .bss 0005a540 00000000d20d8ac0 00000000d20d8ac0 00068ac0 2**5
ALLOC
14 .comment 0000002e 0000000000000000 0000000000000000 00068ac0 2**0
CONTENTS, READONLY
15 .debug_aranges 00000770 0000000000000000 0000000000000000 00068af0 2**4
CONTENTS, READONLY, DEBUGGING
16 .debug_info 0003c45b 0000000000000000 0000000000000000 00069260 2**0
CONTENTS, READONLY, DEBUGGING
17 .debug_abbrev 000075c1 0000000000000000 0000000000000000 000a56bb 2**0
CONTENTS, READONLY, DEBUGGING
18 .debug_line 0000aac0 0000000000000000 0000000000000000 000acc7c 2**0
CONTENTS, READONLY, DEBUGGING
19 .debug_frame 00004280 0000000000000000 0000000000000000 000b7740 2**3
CONTENTS, READONLY, DEBUGGING
20 .debug_str 000092fc 0000000000000000 0000000000000000 000bb9c0 2**0
CONTENTS, READONLY, DEBUGGING
21 .debug_loc 0001dd48 0000000000000000 0000000000000000 000c4cbc 2**0
CONTENTS, READONLY, DEBUGGING
22 .debug_ranges 000032c0 0000000000000000 0000000000000000 000e2a10 2**4
'Programming > General' 카테고리의 다른 글
자바 코드 예제들을 모아놓은 사이트 (0) | 2015.03.21 |
---|---|
[엑셀] 특정값의 행을 찾아서 그 행에 매칭되는 값 반환하기 (0) | 2014.07.14 |
"dereferencing pointer to incomplete type" build error (0) | 2014.06.27 |
엑셀(excel) - 특정 문자가 포함되지 않는 문자열의 개수 구하기 (0) | 2014.06.26 |
Crash Consistency를 유지하기 위한 방법 (fsck 와 journaling 의 자세한 소개) (0) | 2014.06.10 |