Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Cryptiiiic committed Dec 28, 2024
0 parents commit 438f3fc
Show file tree
Hide file tree
Showing 183 changed files with 30,500 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.idea/
*.tar
*.dylib
*.bin
cmake-build-*/
.DS_Store
119 changes: 119 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
cmake_minimum_required(VERSION 3.27)
project(x8A4 C)

set(CMAKE_C_STANDARD 17)
if(NOT DEFINED CMAKE_OSX_ARCHITECTURES)
set(CMAKE_OSX_ARCHITECTURES arm64 arm64e)
endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "")

execute_process(COMMAND xcrun --sdk iphoneos --show-sdk-path
OUTPUT_VARIABLE CMAKE_OSX_SYSROOT
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)

if(NOT DEFINED VERSION_COMMIT_COUNT)
execute_process(COMMAND git rev-list --count HEAD WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE VERSION_COMMIT_COUNT ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
if(NOT DEFINED VERSION_COMMIT_SHA)
execute_process(COMMAND git rev-parse HEAD WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE VERSION_COMMIT_SHA ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()

add_library(x8A4 STATIC SHARED x8A4.c
Logger/logger.c
Include/x8A4/Logger/logger.h
Kernel/slide.c
Include/x8A4/Kernel/slide.h
Services/services.c
Include/x8A4/Services/services.h
Registry/registry.c
Include/x8A4/Registry/registry.h
Kernel/kernel.c
Include/x8A4/Kernel/kernel.h
Kernel/offsets.c
Include/x8A4/Kernel/offsets.h
Kernel/kpf.c
Include/x8A4/Kernel/kpf.h
Kernel/osobject.c
Include/x8A4/Kernel/osobject.h
Kernel/nvram.c
Include/x8A4/Kernel/nvram.h)

target_include_directories(x8A4 PRIVATE
"${CMAKE_SOURCE_DIR}/include")

set(RPATH "/var/jb/usr/lib")
set(RPATH2 "/usr/lib")
set_target_properties(x8A4
PROPERTIES
# LINK_FLAGS "-Wl,-rpath,${RPATH} -Wl,-rpath,${RPATH2} -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib/darwin/ -lclang_rt.asan_abi_ios -lclang_rt.asan_ios_dynamic")
LINK_FLAGS "-Wl,-rpath,${RPATH} -Wl,-rpath,${RPATH2} ")
set_target_properties(x8A4
PROPERTIES
# COMPILE_FLAGS "-Wall -Werror -fsanitize=address -fsanitize-address-use-after-scope -fno-omit-frame-pointer")
COMPILE_FLAGS "-Wall -Werror")

set(SOVERSION 1)
set_target_properties(x8A4 PROPERTIES SOVERSION ${SOVERSION})


target_link_directories(x8A4 PRIVATE
"${CMAKE_SOURCE_DIR}/Lib")

target_link_libraries(x8A4
"-framework CoreFoundation"
"-framework IOKit"
krw
compression
choma
XPF)

add_executable(x8A4_CLI x8A4_CLI.c)

add_definitions(
-DVERSION_COMMIT_COUNT="${VERSION_COMMIT_COUNT}"
-DVERSION_COMMIT_SHA="${VERSION_COMMIT_SHA}"
-DSOVERSION=${SOVERSION}
)
if(DEFINED RELEASE)
add_definitions(-DRELEASE="1")
endif()

target_include_directories(x8A4_CLI PRIVATE "${CMAKE_SOURCE_DIR}/include")

set(RPATH "/var/jb/usr/lib")
set(RPATH2 "/usr/lib")
set_target_properties(x8A4_CLI
PROPERTIES
# LINK_FLAGS "-Wl,-rpath,${RPATH} -Wl,-rpath,${RPATH2} -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib/darwin -lclang_rt.asan_abi_ios -lclang_rt.asan_ios_dynamic")
LINK_FLAGS "-Wl,-rpath,${RPATH} -Wl,-rpath,${RPATH2}")
set_target_properties(x8A4_CLI
PROPERTIES
# COMPILE_FLAGS "-Wall -Werror -fsanitize=address -fsanitize-address-use-after-scope -fno-omit-frame-pointer")
COMPILE_FLAGS "-Wall -Werror")


target_link_directories(x8A4_CLI PRIVATE
"${CMAKE_SOURCE_DIR}/Lib")

target_link_libraries(x8A4_CLI
"x8A4")

add_custom_command(TARGET x8A4 POST_BUILD
COMMAND ldid -S -Hsha256 -Cadhoc ${CMAKE_CURRENT_BINARY_DIR}/libx8A4.${SOVERSION}.dylib
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Signing libx8A4.${SOVERSION}.dylib..."
)

add_custom_command(TARGET x8A4_CLI POST_BUILD
COMMAND ldid -Stfp0.plist -Hsha256 -Cadhoc ${CMAKE_CURRENT_BINARY_DIR}/x8A4_CLI
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Signing x8A4_CLI"
)
#
SET(CMAKE_EXPORT_COMPILE_COMMANDS 1)
get_cmake_property(_variableNames VARIABLES)
list (SORT _variableNames)
foreach (_variableName ${_variableNames})
message(STATUS "${_variableName}=${${_variableName}}")
endforeach()
Loading

0 comments on commit 438f3fc

Please sign in to comment.