Skip to content
This repository has been archived by the owner on Sep 12, 2022. It is now read-only.

XXTouchNG/XXTouchNG

Repository files navigation

icon-256

XXTouchNG

Next generation XXTouch for iOS 13 and 14. Rewritten in Objective-C.

What’s XXTouch/XXTouchNG?

XXTouch was a system wide touch event simulation and automation tool (jailbreak required).

Features

Lua Core

  • extension of os, print
  • sys.log, nLog
  • screen, image
  • touch, key, accelerometer
  • sys, device
  • pasteboard, proc
  • app
  • thread
  • extension of table, string
  • http, ftp
  • json, plist, file
  • utils
  • other extensions
  • dialog, webview
  • clear
  • xpp, xui

Lua Modules

  • alert, Automation module for UIAlertViewController.
  • appstore, Automation module for AuthKit.
  • monkey, Automation module for WKWebView.
  • cookies
  • samba

App Features

  • Full Featured Recording
  • Full Featured App
  • OpenAPI
  • Startup Script
  • Daemon Mode
  • OCR Support (Provided by Apple’s Vision.framework)
  • Template Matching (Provided by OpenCV)
  • Activator Support

XPC Services

$ ls /usr/local/include/lib*
libdeviceconfigurator.h  libsupervisor.h
libprocqueue.h           libtfcontainermanager.h
libscreencapture.h       libtfcookiesmanager.h
libsimulatetouch.h       libauthpolicy.h

OpenAPI Protocols

  • Legacy XXTouch
  • TouchSprite (触动精灵协议)
  • TouchElf & Cloud API (触摸精灵及其云控协议)

Debugger Support

IDE Support

Prepare Your Device

Prepare Your Mac

  • Xcode 12 (required)
  • VSCode (recommended)
$ xcode-select -p
/Applications/Xcode-12.5.1.app/Contents/Developer
  • Install theos with its submodules
$ ls ~/theos
CODE_OF_CONDUCT.md bin                makefiles          templates
LICENSE.md         extras             mod                toolchain
Prefix.pch         include            package.json       vendor
README.md          lib                sdks
$ ls ~/theos/sdks | wc -l
      16
$ ls ~/theos/vendor/include | wc -l
     110
  • IMPORTANT: Remove ~/theos/vendor/include/openssl because we shipped another version of OpenSSL with this repo
  • IMPORTANT: Edit ~/theos/makefiles/common.mk, then append a new line export THEOS_OBJ_DIR here:
ifeq ($(THEOS_CURRENT_ARCH),)
THEOS_OBJ_DIR = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)
else
THEOS_OBJ_DIR = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/$(THEOS_CURRENT_ARCH)
endif
export THEOS_OBJ_DIR  # <- append this line
  • Edit your ~/.zshrc and ensure THEOS_DEVICE_IP is set
$ env
THEOS=$HOME/theos
THEOS_DEVICE_IP=192.168.2.151

Build

Clone Repo

You need to git clone this repo instead of download a zipped archive of it!

$ git lfs install  # if you do not have Git LFS yet
$ git clone --recursive git@github.com:XXTouchNG/XXTouchNG.git

Build Only

$ make

Build Package

$ make package

Install Package

$ make install

Build & Install

$ make do

Build Release

To build a final release, you need to:

  • Clone and configure XXTExplorer in Xcode
  • Prepare a valid Apple Development or Developer ID certificate
  • Edit Makefile and set TARGET_CODESIGN_CERT to your certificate
  • Run following commands:
$ make explorer FINALPACKAGE=1
$ make package FINALPACKAGE=1

Usage

User Manual & Documentation (Chinese Only)

Credits

XXTouchNG uses codes from many open-source projects. Part of them were listed in submodules.

License

See LICENSE.