, 그것은 보인다 필요하지 않은 모든 부분 문자열; 단지 기호. 맨 페이지 Quoth :
GNU strip discards all symbols from object files objfile.
말했다되고 있다는 심지어 --strip-all
없는 경험, strip
에서, 같은 .symtab
및 .strtab
등의 로딩을위한 불필요한 부분을 제거하고, 당신은 당신이 참고로, 제거 할 수 있습니다 원하는 섹션을 --remove-section
으로 지정하십시오.
는
.notes
섹션의 예를 들어, 내 우분투 11.10 64 비트 상자에서
/bin/ls
했다 다음
.note.ABI-tag
부와
.note.gnu.build-id
섹션을 포함
$ readelf -Wn /bin/ls
Notes at offset 0x00000254 with length 0x00000020:
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 2.6.15
Notes at offset 0x00000274 with length 0x00000024:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 3e6f3159144281f709c3c5ffd41e376f53b47952
. 프로그램을로드 할 필요가없는 데이터가 포함되어 있지만 표준이 아니기 때문에 프로그램을 제대로 실행하는 데 strip
이 필요하지 않은 것으로 알려져 있지 않습니다. ELF는 제거 할 수없는 추가 "알 수없는"섹션. 따라서 가상의 화이트리스트 (비참하게 실패 할 것입니다)를 사용하는 대신, 제거 할 수 있음을 알고있는 섹션의 블랙리스트를 사용합니다.
짧은 버전 :이 섹션은 표준이 아니며 다양한 용도로 사용할 수 있으므로 strip
은 안전하게 제거 할 수 있는지 알 수 없습니다. 그러나 위에 나온 정보를 바탕으로, 만약 여러분이 만든 프로그램이라면 그것을 제거하는 것이 거의 확실합니다.
감사합니다. Dan. 나 한테 의미가있어. – srking
.note.gnu.build-id에 대한 일부 참조는 https://fedoraproject.org/wiki/Releases/FeatureBuildId이고 사람들이하는 일은 https://lkml.org/lkml/2011/12/입니다. 15/162 – pfalcon
strip --remove-section = .note.gnu.build-id –