2017-09-04 23 views
0

신속하게 내 ios 응용 프로그램 용 스택 카나리아를 사용할 수있는 방법을 찾고 있었지만 최근 xcodes의 최신 버전에서 스택 카나리아를 활성화하는 데 필요한 플래그가 기본적으로 사용 가능하다는 사실을 알게되었습니다. 그래서 나는 스택 카나리아가 활성화되어 있고 다른 사이트에서 터미널 (otool -Iv appName | grep stack_chk)에서 otool 명령을 사용하여이를 확인하고 'stack_chk_guard'를 반환 할 것이라고 예상하는 방법을 찾고있었습니다. stack_chk_fail '플래그가 있지만 값/플래그를 반환하지 않았습니다. 그래서 나는 수동으로 '다른 C 플래그'아래에 '-fstack-protector-all'플래그를 수동으로 설정하려고 시도했지만 여전히 otool 명령으로 플래그를 볼 수 없습니다.ios swift에서 스택 카나리아 활성화

enter image description here

내가 무슨 말이냐? 아니면 내가 잘못 해석 한거야? 내 응용 프로그램에서 스택 카나리아를 사용할 수 있음을 어떻게 확신 할 수 있습니까?

답변

3

모든 것이 올바르게 수행되고있는 것 같습니다. 당신은 주요 대상 "다른 C 플래그"에 대한 -fstack-protector-all 플래그를 설정하는

  1. : 한 번 확인하시기 바랍니다. 또는 프로젝트 설정 에 대상 빌드 설정에서 $(inherited)이 설정되어 있습니다.
  2. 응용 프로그램 및 빌드 로그에 작성 (보고서 탐색기를, cmd를 + 8)을 확인 어디 이진 파일에 AppName.app 패키지
  3. cd path-to-package/AppName.app
  4. 사용 otool입니다 : otool -Iv AppName| grep stack
+0

암 정확하게 정확한 4 단계를 수행 .. 뭐가 잘못 됐는지 몰라. – XiOS

+0

@XiOS 프로젝트에 Objective-C 파일 하나가 있습니까? –

+0

예. 몇 가지가 있습니다. – XiOS