바이너리 분석하기
·
iOS/Modularization
👋 들어가기 전랭그래프 포스팅 이후, 약 3개월만의 포스팅이다..회사와 사이드에 치이다보니, 학습시간이 많이 없어 포스팅을 할께 없었다. 이번 포스팅은 최근 회사에서 바이너리를 분석하는 경험을 하게되었는데, 그 때 알게된 지식과 유용한 tool 사용버을 기록하고자한다.🏁 학습할 내용nmotool✊ nm유닉스 계열 운영체제의 object, 실행, 라이브러리등파일내에 포함된 심볼을 확인하는 도구🚀 역할컴파일/링크 오류 디버깅라이브러리 분석바이너리 분석 💬 명령어nm -[옵션 나열..] [파일]옵션설명-n (numeric-sort)주소 순서대로 정렬-u (undefined-only)정의도지 않은 심볼만 -C (Demangle)Mangling 심볼을 다시 사람이 읽기 쉬운 형태로 변환-D (dyamic)..
SPM vs Framework
·
iOS/Modularization
👋 들어가기 전이번 사이드 프로젝트의 핵심은 바로 Tuist를 사용하지 않고 모듈화를 경험하는 것 Tuist를 통해 모듈화를 경험했는데 Tuist도 역시 Third party라서 언제 지원 중단이 될지 모른다. 그래서 Apple에서 제공해주는 환경에서 모듈화 적용을 경험하고 싶다.그 방법으로는 크게 SPM과 Framework로 나뉜다.🏁 SPM vs Framework먼저 각자의 특징을 알아보자.✨ 특징SPM소스 코드 그대로를 패키징컴파일 타임에 포함 (정적 링크)SPM에 의해 관리앱 크기가 늘어남Git 또는 로컬 패키지로 배포Framework바이너리 형태로 빌드런타임에 로드 (동적 링크)CocoaPods, Carthage다이나믹 링크로 인해 앱 크기 증가가 거의 없음XCFramework로 배포✅ ..