Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Koin
- MotionLayout
- SwiftUI Tutorial
- android13
- 인앱결제
- Kotlin
- Observable
- Animation
- PagingLib
- SWIFTUI
- MediaSession
- rx
- junit
- list
- node
- google play
- MediaPlayer
- mysql
- Reactive
- RxKotlin
- mvvm
- php
- databinding
- Android
- 테스트 자동화
- node.js
- 동영상
- GCP
- paging
- Android 13
Archives
- Today
- Total
목록탈옥감지 (1)
봄날은 갔다. 이제 그 정신으로 공부하자
IOS 앱 디버깅 방지
첫번째 방법은 앱을 실행한 ppid를 확인하는 방법으로 일반적으로 앱은 iOS의 launchd Process에 의해 실행 됩니다. launchd 프로세스는 user mode에서 첫번째로 실행되는 프로세스로 pid는 1입니다. 즉 앱이 실행될 때 ppid를 확인해서 ppid가 1이 아니면 디버거에 의해 실행 될 수 있다고 판단할 수 있습니다. 사용 방법은 아래와 같습니다. func hasDebugger() -> Bool { return getppid() != 1 } 두번째 방법은 sysctl 커널 명령어를 사용한 방법으로 sysctl 명령어는 커널 runtime 시에 커널의 파라미터를 변경할 때 시스템의 /proc/sys 디렉토리밑에 있는 커널 매개변수를 제어하는데 사용됩니다. sysctl 명령어를 사용해..
iOS Tip
2022. 4. 20. 22:22