TOPTARGETS := all clean update $(TOPTARGETS): pre_build make_fastPathSign make_roothelper make_trollstore make_trollhelper_embedded make_trollhelper_package assemble_trollstore build_installer15 build_installer64e pre_build: @rm -rf ./_build 2>/dev/null || true @mkdir -p ./_build make_fastPathSign: @$(MAKE) -C ./Exploits/fastPathSign $(MAKECMDGOALS) make_roothelper: @$(MAKE) -C ./RootHelper FINALPACKAGE=1 $(MAKECMDGOALS) make_trollstore: @$(MAKE) -C ./TrollStore FINALPACKAGE=1 $(MAKECMDGOALS) ifneq ($(MAKECMDGOALS),clean) make_trollhelper_package: @$(MAKE) clean -C ./TrollHelper @cp ./RootHelper/.theos/obj/trollstorehelper ./TrollHelper/Resources/trollstorehelper @$(MAKE) -C ./TrollHelper FINALPACKAGE=1 package $(MAKECMDGOALS) @$(MAKE) clean -C ./TrollHelper @$(MAKE) -C ./TrollHelper THEOS_PACKAGE_SCHEME=rootless FINALPACKAGE=1 package $(MAKECMDGOALS) @rm ./TrollHelper/Resources/trollstorehelper make_trollhelper_embedded: @$(MAKE) clean -C ./TrollHelper @$(MAKE) -C ./TrollHelper FINALPACKAGE=1 EMBEDDED_ROOT_HELPER=1 $(MAKECMDGOALS) @cp ./TrollHelper/.theos/obj/TrollStorePersistenceHelper.app/TrollStorePersistenceHelper ./_build/PersistenceHelper_Embedded @$(MAKE) clean -C ./TrollHelper @$(MAKE) -C ./TrollHelper FINALPACKAGE=1 EMBEDDED_ROOT_HELPER=1 LEGACY_CT_BUG=1 $(MAKECMDGOALS) @cp ./TrollHelper/.theos/obj/TrollStorePersistenceHelper.app/TrollStorePersistenceHelper ./_build/PersistenceHelper_Embedded_Legacy_arm64 @$(MAKE) clean -C ./TrollHelper @$(MAKE) -C ./TrollHelper FINALPACKAGE=1 EMBEDDED_ROOT_HELPER=1 CUSTOM_ARCHS=arm64e $(MAKECMDGOALS) @cp ./TrollHelper/.theos/obj/TrollStorePersistenceHelper.app/TrollStorePersistenceHelper ./_build/PersistenceHelper_Embedded_Legacy_arm64e @$(MAKE) clean -C ./TrollHelper assemble_trollstore: @cp ./RootHelper/.theos/obj/trollstorehelper ./TrollStore/.theos/obj/TrollStore.app/trollstorehelper @cp ./TrollHelper/.theos/obj/TrollStorePersistenceHelper.app/TrollStorePersistenceHelper ./TrollStore/.theos/obj/TrollStore.app/PersistenceHelper @export COPYFILE_DISABLE=1 @tar -czvf ./_build/TrollStore.tar -C ./TrollStore/.theos/obj TrollStore.app build_installer15: @mkdir -p ./_build/tmp15 @unzip ./Victim/InstallerVictim.ipa -d ./_build/tmp15 @cp ./_build/PersistenceHelper_Embedded_Legacy_arm64 ./_build/TrollStorePersistenceHelperToInject @pwnify set-cpusubtype ./_build/TrollStorePersistenceHelperToInject 1 @ldid -s -K./Victim/victim.p12 ./_build/TrollStorePersistenceHelperToInject APP_PATH=$$(find ./_build/tmp15/Payload -name "*" -depth 1) ; \ APP_NAME=$$(basename $$APP_PATH) ; \ BINARY_NAME=$$(echo "$$APP_NAME" | cut -f 1 -d '.') ; \ echo $$BINARY_NAME ; \ pwnify pwn ./_build/tmp15/Payload/$$APP_NAME/$$BINARY_NAME ./_build/TrollStorePersistenceHelperToInject @pushd ./_build/tmp15 ; \ zip -vrD ../../_build/TrollHelper_iOS15.ipa * ; \ popd @rm ./_build/TrollStorePersistenceHelperToInject @rm -rf ./_build/tmp15 build_installer64e: @mkdir -p ./_build/tmp64e @unzip ./Victim/InstallerVictim.ipa -d ./_build/tmp64e APP_PATH=$$(find ./_build/tmp64e/Payload -name "*" -depth 1) ; \ APP_NAME=$$(basename $$APP_PATH) ; \ BINARY_NAME=$$(echo "$$APP_NAME" | cut -f 1 -d '.') ; \ echo $$BINARY_NAME ; \ pwnify pwn64e ./_build/tmp64e/Payload/$$APP_NAME/$$BINARY_NAME ./_build/PersistenceHelper_Embedded_Legacy_arm64e @pushd ./_build/tmp64e ; \ zip -vrD ../../_build/TrollHelper_arm64e.ipa * ; \ popd @rm -rf ./_build/tmp64e endif update-choma: rm -rf _build/.choma mkdir -p _build/.choma git clone --recursive https://github.com/opa334/ChOma _build/.choma make -C _build/.choma install TARGET=ios INSTALL_PATH=../../RootHelper/external rm RootHelper/external/lib/libchoma.dylib make -C _build/.choma clean make -C _build/.choma install INSTALL_PATH=../../Exploits/fastPathSign/src/external rm Exploits/fastPathSign/src/external/lib/libchoma.dylib rm -rf _build/.choma .PHONY: $(TOPTARGETS) pre_build assemble_trollstore make_trollhelper_package make_trollhelper_embedded build_installer15 build_installer64e