diff --git a/.github/workflows/sign-shortcut.yml b/.github/workflows/sign-shortcut.yml index baf72b1..b62e838 100644 --- a/.github/workflows/sign-shortcut.yml +++ b/.github/workflows/sign-shortcut.yml @@ -1 +1,31 @@ -l \ No newline at end of file +name: Sign iOS Shortcut + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + build: + runs-on: macos-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up environment + run: | + echo "Setting up environment for shortcut signing" + mkdir -p build/shortcuts + + - name: Validate workflow + run: | + echo "This is a placeholder workflow for iOS shortcut signing" + echo "Validation successful" + + - name: Success + run: | + echo "✅ Workflow completed successfully" + diff --git a/JIT Backend/render.yml b/JIT Backend/render.yml deleted file mode 100644 index e0572ef..0000000 --- a/JIT Backend/render.yml +++ /dev/null @@ -1,19 +0,0 @@ -services: - - type: web - name: jit-backend - env: docker - dockerfilePath: ./JIT Backend/Dockerfile - envVars: - - key: JWT_SECRET_KEY - generateValue: true - - key: FLASK_ENV - value: production - - key: DROPBOX_APP_KEY - value: 2bi422xpd3xd962 - - key: DROPBOX_APP_SECRET - sync: false - - key: DROPBOX_REFRESH_TOKEN - sync: false - healthCheckPath: /health - autoDeploy: true - plan: starter \ No newline at end of file diff --git a/Makefile b/Makefile index c997b6d..e63a08d 100644 --- a/Makefile +++ b/Makefile @@ -17,11 +17,11 @@ USE_DOBBY ?= 1 # Basic flags ifeq ($(BUILD_TYPE),Debug) - OPT_FLAGS := -g -O0 - DEFS := -DDEBUG_BUILD=1 + OPT_FLAGS := -g -O0 + DEFS := -DDEBUG_BUILD=1 else - OPT_FLAGS := -O3 - DEFS := -DPRODUCTION_BUILD=1 + OPT_FLAGS := -O3 + DEFS := -DPRODUCTION_BUILD=1 endif CXXFLAGS := -std=c++17 -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden -ferror-limit=0 -fno-limit-debug-info @@ -30,7 +30,7 @@ OBJCXXFLAGS := -std=c++17 -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden - LDFLAGS := -shared -undefined dynamic_lookup -framework Foundation -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Security -framework CoreML -framework Vision -framework Metal -framework MetalKit # Include paths - add VM includes for Lua headers and source directory -INCLUDES := -I. -I/usr/local/include -I$(SDK)/usr/include -IVM/include -IVM/src -I$(SRC_DIR) -Iinclude +INCLUDES := -I. -I/usr/local/include -I$(SDK)/usr/include -IVM/include -IVM/src -IVM/src/Luau -I$(SRC_DIR) -Iinclude # iOS SDK flags for iOS 15+ compatibility PLATFORM_FLAGS := -isysroot $(SDK) -arch $(ARCHS) -mios-version-min=$(MIN_IOS_VERSION) -DIOS_VERSION=$(MIN_IOS_VERSION) -DLUAU_PLATFORM_IOS=1 -DLUAU_TARGET_IOS=1 @@ -49,22 +49,22 @@ LD := $(CXX) $(PLATFORM_FLAGS) # Add feature-specific flags ifeq ($(USE_DOBBY),1) - DEFS += -DUSE_DOBBY=1 - LDFLAGS += -ldobby + DEFS += -DUSE_DOBBY=1 + LDFLAGS += -ldobby else - DEFS += -DUSE_DOBBY=0 + DEFS += -DUSE_DOBBY=0 endif ifeq ($(ENABLE_AI_FEATURES),1) - DEFS += -DENABLE_AI_FEATURES=1 + DEFS += -DENABLE_AI_FEATURES=1 else - DEFS += -DENABLE_AI_FEATURES=0 + DEFS += -DENABLE_AI_FEATURES=0 endif ifeq ($(ENABLE_ADVANCED_BYPASS),1) - DEFS += -DENABLE_ADVANCED_BYPASS=1 + DEFS += -DENABLE_ADVANCED_BYPASS=1 else - DEFS += -DENABLE_ADVANCED_BYPASS=0 + DEFS += -DENABLE_ADVANCED_BYPASS=0 endif # Set source file directories @@ -89,21 +89,21 @@ iOS_MM_SOURCES := # Check platform - Darwin is macOS/iOS and runner.os gives the GitHub Actions OS PLATFORM := $(shell uname -s) ifeq ($(PLATFORM),Darwin) - # On macOS/iOS, include iOS-specific files - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.mm" 2>/dev/null) - - # Only include AI feature files if enabled - ifeq ($(ENABLE_AI_FEATURES),1) - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.mm" 2>/dev/null) - endif - - # Only include advanced bypass files if enabled - ifeq ($(ENABLE_ADVANCED_BYPASS),1) - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.mm" 2>/dev/null) - endif + # On macOS/iOS, include iOS-specific files + iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.cpp" 2>/dev/null) + iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.mm" 2>/dev/null) + + # Only include AI feature files if enabled + ifeq ($(ENABLE_AI_FEATURES),1) + iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.cpp" 2>/dev/null) + iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.mm" 2>/dev/null) + endif + + # Only include advanced bypass files if enabled + ifeq ($(ENABLE_ADVANCED_BYPASS),1) + iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.cpp" 2>/dev/null) + iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.mm" 2>/dev/null) + endif endif # Convert source files to object files @@ -122,49 +122,49 @@ DYLIB_INSTALL_NAME := @executable_path/Frameworks/$(LIB_NAME) all: directories $(OUTPUT_DIR)/$(LIB_NAME) directories: - @mkdir -p $(BUILD_DIR) - @mkdir -p $(OUTPUT_DIR) + @mkdir -p $(BUILD_DIR) + @mkdir -p $(OUTPUT_DIR) clean: - rm -rf $(OBJECTS) $(BUILD_DIR)/$(LIB_NAME) $(OUTPUT_DIR)/$(LIB_NAME) + rm -rf $(OBJECTS) $(BUILD_DIR)/$(LIB_NAME) $(OUTPUT_DIR)/$(LIB_NAME) install: all - @mkdir -p $(INSTALL_DIR) - cp $(OUTPUT_DIR)/$(LIB_NAME) $(INSTALL_DIR)/ + @mkdir -p $(INSTALL_DIR) + cp $(OUTPUT_DIR)/$(LIB_NAME) $(INSTALL_DIR)/ $(OUTPUT_DIR)/$(LIB_NAME): $(OBJECTS) - @echo "Creating dummy main.cpp for linking..." - @mkdir -p $(BUILD_DIR) - @echo 'extern "C" int main(int argc, char** argv) { return 0; }' > $(BUILD_DIR)/main.cpp - $(CXX) $(CXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $(BUILD_DIR)/main.o $(BUILD_DIR)/main.cpp - $(LD) $(LDFLAGS) -o $@ $(BUILD_DIR)/main.o $^ -install_name $(DYLIB_INSTALL_NAME) - @echo "✅ Built $@" + @echo "Creating dummy main.cpp for linking..." + @mkdir -p $(BUILD_DIR) + @echo 'extern "C" int main(int argc, char** argv) { return 0; }' > $(BUILD_DIR)/main.cpp + $(CXX) $(CXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $(BUILD_DIR)/main.o $(BUILD_DIR)/main.cpp + $(LD) $(LDFLAGS) -o $@ $(BUILD_DIR)/main.o $^ -install_name $(DYLIB_INSTALL_NAME) + @echo "✅ Built $@" %.o: %.cpp - $(CXX) $(CXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $@ $< + $(CXX) $(CXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $@ $< %.o: %.mm - $(OBJCXX) $(OBJCXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $@ $< + $(OBJCXX) $(OBJCXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $@ $< # Print build information info: - @echo "Build Type: $(BUILD_TYPE)" - @echo "Platform: $(shell uname -s)" - @echo "VM Sources: $(VM_SOURCES)" - @echo "Exec Sources: $(CPP_SOURCES)" - @echo "iOS CPP Sources: $(iOS_CPP_SOURCES)" - @echo "iOS MM Sources: $(iOS_MM_SOURCES)" + @echo "Build Type: $(BUILD_TYPE)" + @echo "Platform: $(shell uname -s)" + @echo "VM Sources: $(VM_SOURCES)" + @echo "Exec Sources: $(CPP_SOURCES)" + @echo "iOS CPP Sources: $(iOS_CPP_SOURCES)" + @echo "iOS MM Sources: $(iOS_MM_SOURCES)" # Help target help: - @echo "Available targets:" - @echo " all - Build everything (default)" - @echo " clean - Remove build artifacts" - @echo " install - Install dylib to /usr/local/lib" - @echo " info - Print build information" - @echo "" - @echo "Configuration variables:" - @echo " BUILD_TYPE=Debug|Release - Set build type (default: Release)" - @echo " USE_DOBBY=0|1 - Enable Dobby hooking (default: 1)" - @echo " ENABLE_AI_FEATURES=0|1 - Enable AI features (default: 0)" - @echo " ENABLE_ADVANCED_BYPASS=0|1 - Enable advanced bypass (default: 1)" + @echo "Available targets:" + @echo " all - Build everything (default)" + @echo " clean - Remove build artifacts" + @echo " install - Install dylib to /usr/local/lib" + @echo " info - Print build information" + @echo "" + @echo "Configuration variables:" + @echo " BUILD_TYPE=Debug|Release - Set build type (default: Release)" + @echo " USE_DOBBY=0|1 - Enable Dobby hooking (default: 1)" + @echo " ENABLE_AI_FEATURES=0|1 - Enable AI features (default: 0)" + @echo " ENABLE_ADVANCED_BYPASS=0|1 - Enable advanced bypass (default: 1)" diff --git a/Makefile.modifications b/Makefile.modifications deleted file mode 100644 index d9040a1..0000000 --- a/Makefile.modifications +++ /dev/null @@ -1,4 +0,0 @@ -# Modify to exclude AI features from build -ENABLE_AI_FEATURES := 0 - -# This will disable include of AI feature files diff --git a/Makefile.modified b/Makefile.modified deleted file mode 100644 index 0c0588b..0000000 --- a/Makefile.modified +++ /dev/null @@ -1,197 +0,0 @@ -# Makefile for iOS Roblox Executor -# Replacement for CMake build system - -# Compiler and flags -CXX := clang++ -CC := clang -OBJCXX := clang++ -AR := ar - -# Build type (Debug or Release) -BUILD_TYPE ?= Release -# iOS SDK settings -SDK ?= $(shell xcrun --sdk iphoneos --show-sdk-path) -ARCHS ?= arm64 -MIN_IOS_VERSION ?= 15.0 - -# Basic flags -ifeq ($(BUILD_TYPE),Debug) - OPT_FLAGS := -g -O0 - DEFS := -DDEBUG_BUILD=1 -else - OPT_FLAGS := -O3 - DEFS := -DPRODUCTION_BUILD=1 -endif - -CXXFLAGS := -std=c++17 -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden -ferror-limit=0 -fno-limit-debug-info -CFLAGS := -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden -ferror-limit=0 -fno-limit-debug-info -OBJCXXFLAGS := -std=c++17 -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden -ferror-limit=0 -fno-limit-debug-info -LDFLAGS := -shared - -# Define platform -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Darwin) - IS_APPLE := 1 - # iOS-specific compiler flags - CXXFLAGS += -isysroot $(SDK) -arch $(ARCHS) -mios-version-min=$(MIN_IOS_VERSION) - CFLAGS += -isysroot $(SDK) -arch $(ARCHS) -mios-version-min=$(MIN_IOS_VERSION) - OBJCXXFLAGS += -isysroot $(SDK) -arch $(ARCHS) -mios-version-min=$(MIN_IOS_VERSION) - CXXFLAGS += -fobjc-arc - OBJCXXFLAGS += -fobjc-arc - LDFLAGS += -dynamiclib -endif - -# iOS-specific settings -ifdef IS_APPLE - FRAMEWORKS := -framework Foundation -framework UIKit -framework Security -framework CoreData - SYSTEM_NAME := $(shell test -d /Applications/Xcode.app && echo "iOS" || echo "macOS") - ifeq ($(SYSTEM_NAME),iOS) - CXXFLAGS += -mios-version-min=13.0 -fembed-bitcode - CFLAGS += -mios-version-min=13.0 -fembed-bitcode - OBJCXXFLAGS += -mios-version-min=13.0 -fembed-bitcode - endif -else - FRAMEWORKS := -endif - -# Feature flags -USE_DOBBY := 1 -USE_LUAU := 1 -ENABLE_AI_FEATURES := 1 -ENABLE_ADVANCED_BYPASS := 1 - -# Define directories -ROOT_DIR := . -VM_DIR := $(ROOT_DIR)/VM -SOURCE_DIR := $(ROOT_DIR)/source -CPP_DIR := $(SOURCE_DIR)/cpp -VM_SRC_DIR := $(VM_DIR)/src -VM_INCLUDE_DIR := $(VM_DIR)/include - -# Include paths -INCLUDES := -I$(VM_INCLUDE_DIR) -I$(VM_SRC_DIR) -I$(SOURCE_DIR) -I$(CPP_DIR) -I$(ROOT_DIR) - -# Preprocessor definitions -DEFS += -DUSE_LUAU=1 -DLUAU_FASTINT_SUPPORT=1 -DUSE_LUA=1 -DENABLE_ERROR_REPORTING=1 -DENABLE_ANTI_TAMPER=1 -DEFS += -DLUA_API="__attribute__((visibility(\"default\")))" -DLUALIB_API="__attribute__((visibility(\"default\")))" -DLUAI_FUNC="__attribute__((visibility(\"hidden\")))" - -ifdef USE_DOBBY - DEFS += -DUSE_DOBBY=1 -endif - -ifdef IS_APPLE - DEFS += -D__APPLE__=1 - ifeq ($(SYSTEM_NAME),iOS) - DEFS += -DIOS_TARGET=1 -DIOS_BUILD=1 -DSHOW_ALL_WARNINGS=1 - endif -endif - -# Find VM sources -VM_SOURCES := $(wildcard $(VM_SRC_DIR)/*.cpp) -VM_OBJECTS := $(VM_SOURCES:.cpp=.o) - -# Main library sources -LIB_CPP_SOURCES := $(SOURCE_DIR)/library.cpp -LIB_C_SOURCES := $(SOURCE_DIR)/lfs.c -LIB_OBJECTS := $(LIB_CPP_SOURCES:.cpp=.o) $(LIB_C_SOURCES:.c=.o) - -# Find all cpp sources for roblox_execution -EXEC_CPP_SOURCES := $(shell find $(CPP_DIR) -name "*.cpp" -not -path "$(CPP_DIR)/ios/*" -not -path "$(CPP_DIR)/tests/*") -EXEC_OBJECTS := $(EXEC_CPP_SOURCES:.cpp=.o) - -# iOS-specific sources -iOS_CPP_SOURCES := -iOS_MM_SOURCES := -ifdef IS_APPLE - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.mm" 2>/dev/null) - - ifdef ENABLE_AI_FEATURES - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.mm" 2>/dev/null) - endif - - ifdef ENABLE_ADVANCED_BYPASS - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.mm" 2>/dev/null) - endif -endif - -iOS_CPP_OBJECTS := $(iOS_CPP_SOURCES:.cpp=.o) -iOS_MM_OBJECTS := $(iOS_MM_SOURCES:.mm=.o) - -# Combine objects for roblox_execution static library -ROBLOX_EXEC_OBJECTS := $(EXEC_OBJECTS) $(iOS_CPP_OBJECTS) $(iOS_MM_OBJECTS) - -# Output files -STATIC_LIB := lib/libroblox_execution.a -DYLIB := lib/mylibrary.dylib - -# Dobby handling -ifdef USE_DOBBY - DOBBY_INCLUDE := -I$(ROOT_DIR)/external/dobby/include - DOBBY_LIB := -L$(ROOT_DIR)/external/dobby/lib -ldobby - INCLUDES += $(DOBBY_INCLUDE) -endif - -# Main rule -all: directories $(STATIC_LIB) $(DYLIB) - -# Create necessary directories -directories: - @mkdir -p lib - -# Build static library -$(STATIC_LIB): $(ROBLOX_EXEC_OBJECTS) - $(AR) rcs $@ $^ - -# Build dynamic library -$(DYLIB): $(VM_OBJECTS) $(LIB_OBJECTS) $(STATIC_LIB) - $(CXX) $(LDFLAGS) -o $@ $(VM_OBJECTS) $(LIB_OBJECTS) -L./lib -lroblox_execution $(DOBBY_LIB) $(FRAMEWORKS) -ifdef IS_APPLE - @install_name_tool -id @executable_path/lib/mylibrary.dylib $@ -endif - -# Compilation rules -%.o: %.cpp - $(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFS) -c $< -o $@ - -%.o: %.c - $(CC) $(CFLAGS) $(INCLUDES) $(DEFS) -c $< -o $@ - -%.o: %.mm - $(OBJCXX) $(OBJCXXFLAGS) $(INCLUDES) $(DEFS) -c $< -o $@ - -# Clean rule -clean: - rm -rf $(VM_OBJECTS) $(LIB_OBJECTS) $(ROBLOX_EXEC_OBJECTS) $(STATIC_LIB) $(DYLIB) - -# Install rule -install: all - @mkdir -p $(ROOT_DIR)/output - cp $(DYLIB) $(ROOT_DIR)/output/libmylibrary.dylib - -# Print info about build (useful for debugging) -info: - @echo "Build Type: $(BUILD_TYPE)" - @echo "Platform: $(UNAME_S)" - @echo "VM Sources: $(VM_SOURCES)" - @echo "Exec Sources: $(EXEC_CPP_SOURCES)" - @echo "iOS CPP Sources: $(iOS_CPP_SOURCES)" - @echo "iOS MM Sources: $(iOS_MM_SOURCES)" - -# Help target -help: - @echo "Available targets:" - @echo " all - Build everything (default)" - @echo " clean - Remove build artifacts" - @echo " install - Install dylib to /usr/local/lib" - @echo " info - Print build information" - @echo "" - @echo "Configuration variables:" - @echo " BUILD_TYPE=Debug|Release - Set build type (default: Release)" - @echo " USE_DOBBY=0|1 - Enable Dobby hooking (default: 1)" - @echo " ENABLE_AI_FEATURES=0|1 - Enable AI features (default: 1)" - @echo " ENABLE_ADVANCED_BYPASS=0|1 - Enable advanced bypass (default: 1)" - -.PHONY: all clean install directories info help diff --git a/Makefile.new b/Makefile.new deleted file mode 100644 index ccbb7b8..0000000 --- a/Makefile.new +++ /dev/null @@ -1,163 +0,0 @@ -# Makefile for iOS Roblox Executor -# Replacement for CMake build system - -.PHONY: all clean install directories info help - -# Build type (Debug or Release) -BUILD_TYPE ?= Release -# iOS SDK settings -SDK ?= $(shell xcrun --sdk iphoneos --show-sdk-path) -ARCHS ?= arm64 -MIN_IOS_VERSION ?= 15.0 - -# Feature flags - disabled for now to allow clean builds -ENABLE_AI_FEATURES := 0 -ENABLE_ADVANCED_BYPASS ?= 1 -USE_DOBBY ?= 1 - -# Basic flags -ifeq ($(BUILD_TYPE),Debug) - OPT_FLAGS := -g -O0 - DEFS := -DDEBUG_BUILD=1 -else - OPT_FLAGS := -O3 - DEFS := -DPRODUCTION_BUILD=1 -endif - -CXXFLAGS := -std=c++17 -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden -ferror-limit=0 -fno-limit-debug-info -CFLAGS := -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden -ferror-limit=0 -fno-limit-debug-info -OBJCXXFLAGS := -std=c++17 -fPIC $(OPT_FLAGS) -Wall -Wextra -fvisibility=hidden -ferror-limit=0 -fno-limit-debug-info -LDFLAGS := -shared - -# Include paths -INCLUDES := -I. -I/usr/local/include -I$(SDK)/usr/include - -# iOS SDK flags -PLATFORM_FLAGS := -isysroot $(SDK) -arch $(ARCHS) -mios-version-min=$(MIN_IOS_VERSION) - -# Define output directories -BUILD_DIR := build -OUTPUT_DIR := output -LIB_NAME := libmylibrary.dylib -INSTALL_DIR := /usr/local/lib - -# Compiler commands -CXX := clang++ -CC := clang -OBJCXX := clang++ -LD := $(CXX) $(PLATFORM_FLAGS) - -# Add feature-specific flags -ifeq ($(USE_DOBBY),1) - DEFS += -DUSE_DOBBY=1 - LDFLAGS += -ldobby -else - DEFS += -DUSE_DOBBY=0 -endif - -ifeq ($(ENABLE_AI_FEATURES),1) - DEFS += -DENABLE_AI_FEATURES=1 -else - DEFS += -DENABLE_AI_FEATURES=0 -endif - -ifeq ($(ENABLE_ADVANCED_BYPASS),1) - DEFS += -DENABLE_ADVANCED_BYPASS=1 -else - DEFS += -DENABLE_ADVANCED_BYPASS=0 -endif - -# Set source file directories -SRC_DIR := source -CPP_DIR := $(SRC_DIR)/cpp -VM_SRC_DIR := VM/src - -# Find all source files -VM_SOURCES := $(shell find $(VM_SRC_DIR) -name "*.cpp" 2>/dev/null) - -CPP_SOURCES := $(shell find $(CPP_DIR) -maxdepth 1 -name "*.cpp" 2>/dev/null) -CPP_SOURCES += $(shell find $(CPP_DIR)/memory -name "*.cpp" 2>/dev/null) -CPP_SOURCES += $(shell find $(CPP_DIR)/security -name "*.cpp" 2>/dev/null) -CPP_SOURCES += $(shell find $(CPP_DIR)/hooks -name "*.cpp" 2>/dev/null) -CPP_SOURCES += $(shell find $(CPP_DIR)/naming_conventions -name "*.cpp" 2>/dev/null) -CPP_SOURCES += $(shell find $(CPP_DIR)/anti_detection -name "*.cpp" 2>/dev/null) -CPP_SOURCES += $(shell find $(CPP_DIR)/exec -name "*.cpp" 2>/dev/null) - -# iOS-specific sources -iOS_CPP_SOURCES := -iOS_MM_SOURCES := -ifeq ($(PLATFORM),Darwin) - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios -name "*.mm" 2>/dev/null) - - # Only include AI feature files if enabled - ifeq ($(ENABLE_AI_FEATURES),1) - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/ai_features -name "*.mm" 2>/dev/null) - endif - - # Only include advanced bypass files if enabled - ifeq ($(ENABLE_ADVANCED_BYPASS),1) - iOS_CPP_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.cpp" 2>/dev/null) - iOS_MM_SOURCES += $(shell find $(CPP_DIR)/ios/advanced_bypass -name "*.mm" 2>/dev/null) - endif -endif - -# Convert source files to object files -VM_OBJECTS := $(VM_SOURCES:.cpp=.o) -CPP_OBJECTS := $(CPP_SOURCES:.cpp=.o) -iOS_CPP_OBJECTS := $(iOS_CPP_SOURCES:.cpp=.o) -iOS_MM_OBJECTS := $(iOS_MM_SOURCES:.mm=.o) - -# Final list of object files -OBJECTS := $(VM_OBJECTS) $(CPP_OBJECTS) $(iOS_CPP_OBJECTS) $(iOS_MM_OBJECTS) - -# Set dylib install name -DYLIB_INSTALL_NAME := @executable_path/Frameworks/$(LIB_NAME) - -# Define targets -all: directories $(OUTPUT_DIR)/$(LIB_NAME) - -directories: - @mkdir -p $(BUILD_DIR) - @mkdir -p $(OUTPUT_DIR) - -clean: - rm -rf $(OBJECTS) $(BUILD_DIR)/$(LIB_NAME) $(OUTPUT_DIR)/$(LIB_NAME) - -install: all - @mkdir -p $(INSTALL_DIR) - cp $(OUTPUT_DIR)/$(LIB_NAME) $(INSTALL_DIR)/ - -$(OUTPUT_DIR)/$(LIB_NAME): $(OBJECTS) - $(LD) $(LDFLAGS) -o $@ $^ -install_name $(DYLIB_INSTALL_NAME) - @echo "✅ Built $@" - -%.o: %.cpp - $(CXX) $(CXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $@ $< - -%.o: %.mm - $(OBJCXX) $(OBJCXXFLAGS) $(PLATFORM_FLAGS) $(DEFS) $(INCLUDES) -c -o $@ $< - -# Print build information -info: - @echo "Build Type: $(BUILD_TYPE)" - @echo "Platform: $(shell uname -s)" - @echo "VM Sources: $(VM_SOURCES)" - @echo "Exec Sources: $(CPP_SOURCES)" - @echo "iOS CPP Sources: $(iOS_CPP_SOURCES)" - @echo "iOS MM Sources: $(iOS_MM_SOURCES)" - -# Help target -help: - @echo "Available targets:" - @echo " all - Build everything (default)" - @echo " clean - Remove build artifacts" - @echo " install - Install dylib to /usr/local/lib" - @echo " info - Print build information" - @echo "" - @echo "Configuration variables:" - @echo " BUILD_TYPE=Debug|Release - Set build type (default: Release)" - @echo " USE_DOBBY=0|1 - Enable Dobby hooking (default: 1)" - @echo " ENABLE_AI_FEATURES=0|1 - Enable AI features (default: 0)" - @echo " ENABLE_ADVANCED_BYPASS=0|1 - Enable advanced bypass (default: 1)" diff --git a/build.sh b/build.sh deleted file mode 100755 index 7dd2ea5..0000000 --- a/build.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -set -e - -# Define directories -BUILD_DIR="build" -OUTPUT_DIR="output" -LIB_NAME="libmylibrary.dylib" -IOS_SDK="/Applications/Xcode_16.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.2.sdk" - -# Create build directories -mkdir -p $BUILD_DIR/VM $BUILD_DIR/CPP $OUTPUT_DIR - -# Clean previous build artifacts -echo "Cleaning previous build artifacts..." -rm -rf $BUILD_DIR/VM/*.o $BUILD_DIR/CPP/*.o $BUILD_DIR/*.a $BUILD_DIR/$LIB_NAME $OUTPUT_DIR/$LIB_NAME - -# Compiler flags -CXXFLAGS="-std=c++17 -fPIC -O3 -Wall -Wextra -fvisibility=hidden -Wno-unused-parameter -Wno-unused-variable -ferror-limit=0 -fno-limit-debug-info" -PLATFORM_FLAGS="-isysroot $IOS_SDK -arch arm64 -mios-version-min=15.0" -DEFS="-DPRODUCTION_BUILD=1 -DUSE_DOBBY=1 -DENABLE_AI_FEATURES=0 -DENABLE_ADVANCED_BYPASS=1 -DLUAU_PLATFORM_IOS=1 -DLUAU_TARGET_IOS=1 -DIOS_VERSION=15.0" -INCLUDES="-I. -I/usr/local/include -I$IOS_SDK/usr/include -IVM/include -IVM/src -Isource -Iinclude" - -# Create a dummy main.cpp file for linking -echo "Creating dummy main.cpp for linking..." -cat > $BUILD_DIR/main.cpp << EOF -extern "C" int main(int argc, char** argv) { - return 0; -} -EOF - -# Compile the dummy main.cpp -clang++ $CXXFLAGS $PLATFORM_FLAGS $DEFS $INCLUDES -c -o $BUILD_DIR/main.o $BUILD_DIR/main.cpp - -# First compile VM sources to object files -echo "Compiling VM sources..." -VM_SOURCES=$(find VM/src -name "*.cpp" | sort) -VM_OBJECTS="" - -for src in $VM_SOURCES; do - base=$(basename "$src" .cpp) - obj="$BUILD_DIR/VM/$base.o" - VM_OBJECTS="$VM_OBJECTS $obj" - echo "Compiling $src to $obj" - clang++ $CXXFLAGS $PLATFORM_FLAGS $DEFS $INCLUDES -c -o "$obj" "$src" - if [ $? -ne 0 ]; then - echo "Error compiling $src" - exit 1 - fi -done - -# Create VM static library -echo "Creating VM static library..." -ar rcs $BUILD_DIR/libvm.a $VM_OBJECTS - -# Compile CPP sources -echo "Compiling CPP sources..." -CPP_SOURCES=$(find source/cpp -name "*.cpp" | sort) -CPP_OBJECTS="" - -for src in $CPP_SOURCES; do - dir=$(dirname "$src" | sed 's|source/cpp|'$BUILD_DIR'/CPP|') - base=$(basename "$src" .cpp) - mkdir -p "$dir" - obj="$dir/$base.o" - CPP_OBJECTS="$CPP_OBJECTS $obj" - echo "Compiling $src to $obj" - clang++ $CXXFLAGS $PLATFORM_FLAGS $DEFS $INCLUDES -c -o "$obj" "$src" - if [ $? -ne 0 ]; then - echo "Error compiling $src" - exit 1 - fi -done - -# Compile MM sources -echo "Compiling MM sources..." -MM_SOURCES=$(find source/cpp -name "*.mm" | sort) -MM_OBJECTS="" - -for src in $MM_SOURCES; do - dir=$(dirname "$src" | sed 's|source/cpp|'$BUILD_DIR'/CPP|') - base=$(basename "$src" .mm) - mkdir -p "$dir" - obj="$dir/$base.o" - MM_OBJECTS="$MM_OBJECTS $obj" - echo "Compiling $src to $obj" - clang++ $CXXFLAGS $PLATFORM_FLAGS $DEFS $INCLUDES -c -o "$obj" "$src" -fobjc-arc - if [ $? -ne 0 ]; then - echo "Error compiling $src" - exit 1 - fi -done - -# Create CPP static library -echo "Creating CPP static library..." -ar rcs $BUILD_DIR/libcpp.a $CPP_OBJECTS $MM_OBJECTS - -# Link all libraries into the final dylib -echo "Linking $LIB_NAME..." -clang++ $CXXFLAGS $PLATFORM_FLAGS -dynamiclib -o $BUILD_DIR/$LIB_NAME $BUILD_DIR/main.o $VM_OBJECTS $CPP_OBJECTS $MM_OBJECTS \ - -framework Foundation -framework UIKit -framework CoreGraphics -framework CoreFoundation \ - -framework Security -framework CoreML -framework Vision -framework Metal -framework MetalKit - -# Copy to output directory -cp $BUILD_DIR/$LIB_NAME $OUTPUT_DIR/ - -echo "Build complete: $OUTPUT_DIR/$LIB_NAME" \ No newline at end of file diff --git a/render.yaml b/render.yaml deleted file mode 100644 index ac572f7..0000000 --- a/render.yaml +++ /dev/null @@ -1,19 +0,0 @@ -services: - - type: web - name: jit-backend - env: docker - dockerfilePath: ./JIT Backend/Dockerfile - dockerContext: ./JIT Backend - plan: free - healthCheckPath: /health - envVars: - - key: JWT_SECRET_KEY - generateValue: true - - key: FLASK_ENV - value: production - - key: DROPBOX_APP_KEY - value: 2bi422xpd3xd962 - - key: DROPBOX_APP_SECRET - value: j3yx0b41qdvfu86 - - key: DROPBOX_REFRESH_TOKEN - value: RvyL03RE5qAAAAAAAAAAAVMVebvE7jDx8Okd0ploMzr85c6txvCRXpJAt30mxrKF diff --git a/source/cpp/Makefile b/source/cpp/Makefile index 56cbf87..c7dac3c 100644 --- a/source/cpp/Makefile +++ b/source/cpp/Makefile @@ -14,7 +14,7 @@ BUILDDIR = build OUTDIR = $(BUILDDIR)/lib # Compiler flags -CXXFLAGS = -std=c++17 -Wall -I./source -I./source/cpp -I./VM/include +CXXFLAGS = -std=c++17 -Wall -I./source -I./source/cpp -I./VM/include -I./VM/src -I./VM/src/Luau CXXFLAGS += -isysroot $(SDK) -arch $(ARCHS) -mios-version-min=$(MIN_VERSION) CXXFLAGS += -DSKIP_IOS_INTEGRATION=1 -DPLATFORM_IOS=1 LDFLAGS = -dynamiclib -isysroot $(SDK) -arch $(ARCHS) @@ -28,21 +28,21 @@ all: $(OUTDIR)/libexecutor.dylib # Create output directories $(OUTDIR): -mkdir -p $(OUTDIR) + mkdir -p $(OUTDIR) $(BUILDDIR): -mkdir -p $(BUILDDIR) + mkdir -p $(BUILDDIR) # Compile C++ files $(BUILDDIR)/%.o: $(SRCDIR)/%.cpp | $(BUILDDIR) -$(CXX) $(CXXFLAGS) -c $< -o + $(CXX) $(CXXFLAGS) -c $< -o $@ # Link the library $(OUTDIR)/libexecutor.dylib: $(OBJECTS) | $(OUTDIR) -$(CXX) $(LDFLAGS) $(OBJECTS) -o + $(CXX) $(LDFLAGS) $(OBJECTS) -o $@ # Clean build files clean: -rm -rf $(BUILDDIR) + rm -rf $(BUILDDIR) .PHONY: all clean