Giter Club home page Giter Club logo

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 [email protected]: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.

XXTouch's Projects

argparse icon argparse

Feature-rich command line parser for Lua

build-openssl-curl icon build-openssl-curl

Scripts to build OpenSSL, HTTP/2 (nghttp2) and cURL (libcurl) for MacOS, iOS and tvOS devices (x86_64, armv7, armv7s, arm64, arm64e). Now Supporting Apple Silicon, OpenSSL 1.1.1 with TLS 1.3 and Mac Catalyst builds.

copas icon copas

Copas is a dispatcher based on coroutines that can be used by TCP/IP servers.

coxpcall icon coxpcall

Coxpcall encapsulates the protected calls with a coroutine based loop, so errors can be dealed without the usual pcall/xpcall issues with coroutines.

date icon date

Date & Time module for Lua 5.x

gcdwebserver icon gcdwebserver

The #1 HTTP server for iOS, macOS & tvOS (also includes web based uploader & WebDAV server)

hump icon hump

LÖVE Helper Utilities for Massive Progression

imap4.lua icon imap4.lua

Simple IMAP4 protocol wrapper for lua. Requires luasocket and (if you want to use TLS) luasec.

kxsmb icon kxsmb

KxSMB is objective-c wrapper for libsmbclient (samba.org) lib.

libev icon libev

Full-featured high-performance event loop loosely modelled after libevent

libsandy icon libsandy

Securely extend the sandbox of system processes and user applications

libzmq icon libzmq

ZeroMQ core engine in C++, implements ZMTP/3.1

lsqlite3 icon lsqlite3

LuaSQLite 3 is a thin wrapper around the public domain SQLite3 database engine.

lua-archive icon lua-archive

libarchive integration with Lua so you can read and write tarballs from Lua.

lua-cjson icon lua-cjson

Lua CJSON is a fast JSON encoding/parsing module for Lua

lua-ftp icon lua-ftp

Simple wrapper around LuaSocket ftp

lua-llthreads2 icon lua-llthreads2

`llthreads` library rewritten without `LuaNativeObjects` code generator

lua-log icon lua-log

Asynchronous logging library for Lua

lua-objective-c-bridge icon lua-objective-c-bridge

Bridge between Lua and Objective-C which allows you to call a Objective-C method from a Lua script using NSInvocation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.