frida로 후킹 시 알수 없는 이유로 크래시나는 경우가 있습니다. 그럴 경우, Theos 후킹 트윅 개발을 고려해볼수 있습니다.
저 같은 경우 탈옥탐지우회를 위해 fopen함수를 frida로 후킹하였는데, 알 수 없는 이유로 앱이 크래시나서 종료되었지만 Theos후킹 트윅으로는 정상적으로 결과값을 보여주었습니다.
frida와 Theos를 상호보완적으로 사용하면 앱진단에 있어 매우 유용할 것으로 생각됩니다.
■Theos 설치 on iOS 13.5.1(iPhone6S+, Odysseyra1n 탈옥)
mac이 없더라도 아이폰 단말기에 Theos 개발환경을 구축할 수 있습니다.(개인적으로 tweak을 몇개 만들어보니 개발 편의면에서 맥이 필요하긴 합니다)
Sileo에서 Theos Auto Installer("com.randy420.tai") 검색하여 설치합니다.
mTerminal이 같이 설치됩니다.
터미널에서 apt-get install lzma 명령어를 입력하여 lzma를 설치합니다.(나중에 tweak 빌드 시 lzma없으면 에러발생)
설정 --> ~Randy420 --> Theos Auto Installer 탭에서 설치할 위치 및 SDK를 선택해줍니다.
저는 설치 위치는 /var/theos, SDK는 9.3, 12.4, 13.5를 선택하였습니다.
이제 mTerminal에서 "tai" 명령어를 입력하게 되면 트윅 개발에 필요한 Theos 및 SDKS 다운로드가 진행이 됩니다.
cf) "tai -u": uninstall theos & sdks / "tai -s": download sdks only / "tai -r": download sdks & re-install theos
/etc/zprofile 파일에서 환경변수를 설정해줍니다.
PATH에 "/var/theos/bin"을 추가해줍니다.
export THEOS=/var/theos 추가해줍니다.(THEOS환경변수 추가 안하면 make 명령어 에러 발생)
export THEOS_STAGING_DIR=/var/theos/staging 추가해줍니다.
mkdir /var/theos/staging 명령어로 Theos staging 디렉터리를 직접 만들어줍니다.
터미널에서 nic.pl 을 입력하면 tweak 개발("15번 iphone/tweak" 선택)을 시작할 수 있습니다.
■Theos 설치 on MAC(10.15)
mac에는 다음과 같은 절차로 Theos 개발환경을 구축할수 있습니다.
// Homebrew 설치
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
// git, ldid 설치
brew install git
brew install ldid
// Set up the THEOS environment variable
echo "export THEOS=~/theos" >> ~/.zshrc
// theos staging 디렉터리 생성
mkdir ~/theos/staging
echo "export THEOS_STAGING_DIR=~/theos/staging" >> ~/.zshrc
// Clone Theos to your device
git clone --recursive https://github.com/theos/theos.git $THEOS
// Get an iOS SDK. theos sdks repo: https://github.com/theos/sdks
// 2021.06.27 기준. theos repo 에 있는 sdk 버전: 9.3, 10.3, 11.4, 12.2, 14.4
curl -LO https://github.com/theos/sdks/archive/master.zip
TMP=$(mktemp -d)
unzip master.zip -d $TMP
mv $TMP/sdks-master/*.sdk $THEOS/sdks
rm -r master.zip $TMP
// PATH 환경변수 설정
vi ~/.zshrc --> ~/theos/bin 경로 PATH 환경변수에 추가 --> source ~/.zshrc
※ 출처
https://github.com/theos/theos/wiki/Installation-macOS
https://github.com/Randy-420/Theos-Auto-Installer-u0-Checkra1n-odyssey
'Information Security > iOS' 카테고리의 다른 글
iOS Memory HEX Code Patch Tweak (0) | 2021.07.13 |
---|---|
THEOS 간단한 Tweak 제작 (1) | 2021.07.10 |
iOS watch binary (0) | 2021.06.25 |
Frida로 iOS 앱 알림창 띄우기와 탈옥탐지 우회 기법으로 활용 (0) | 2021.06.15 |
sleep 함수 후킹을 통한 Jailbreak Detection Bypass (0) | 2021.05.09 |