콘텐츠로 건너뛰기

iOS

iOS arm64 환경에서 Kernel R/W로 kernel call 구현 이해하기

디버깅 사용환경: iPhone 8 / 14.4.2 Reference: https://github.com/apple-oss-distributions/xnu/blob/xnu-7195.81.3/iokit/Kernel/IOUserClient.cpp#L6166https://conference.hitb.org/hitbsecconf2013kul/materials/D2T2%20-%20Stefan%20Esser%20-%20Tales%20from%20iOS%206%20Exploitation%20and%20iOS%207%20Security%20Changes.pdf 이해하는데 사용될 Project: https://gitlab.com/alias20/kcalltest14https://github.com/jsherman212/ktrw Userspace에서 IOConnectTrap6 함수를 호출하여 Kernel Call하기까지 호출 경로 (Backtrace) fleh_synchronous https://github.com/apple-oss-distributions/xnu/blob/xnu-7195.81.3/osfmk/arm64/locore.s#L614-> sleh_synchronoushttps://github.com/apple-oss-distributions/xnu/blob/xnu-7195.81.3/osfmk/arm64/sleh.c#L657-> handle_svchttps://github.com/apple-oss-distributions/xnu/blob/xnu-7195.81.3/osfmk/arm64/sleh.c#L1642->… 더 보기 »iOS arm64 환경에서 Kernel R/W로 kernel call 구현 이해하기

HateIntel

File arm 아키텍처 iOS에서 돌아가는 실행 파일이다. sub_2224 사용자로부터 입력받은 key를 sub_232C에서 변환 과정을 거쳐 __s[i] != byte_3004[I]에서 각각 한 문자씩 확인한다. sub_232C 각 문자의… 더 보기 »HateIntel