From 66f1b199ffd6747960dccd9c62ce9b63b0bdbe26 Mon Sep 17 00:00:00 2001 From: CLARATION Date: Thu, 2 Jul 2026 15:22:32 -0700 Subject: [PATCH] feat: metadata in version command --- CMakeLists.txt | 28 ++++++++++++++++++++++++++++ src/main.cpp | 24 ++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 635f7ce..fd335a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,6 +134,34 @@ if(WITH_TUI) target_compile_definitions(palera1n PRIVATE WITH_TUI) endif() +execute_process( + COMMAND git rev-parse HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +execute_process( + COMMAND git rev-parse --abbrev-ref --symbolic-full-name "@{u}" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET +) + +execute_process( + COMMAND git remote get-url origin + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_URL + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +target_compile_definitions(palera1n PRIVATE + GIT_HASH="${GIT_HASH}" + GIT_BRANCH="${GIT_BRANCH}" + GIT_URL="${GIT_URL}" +) + # ========================= # APPLE FRAMEWORKS # ========================= diff --git a/src/main.cpp b/src/main.cpp index 90b9f97..f943f4b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -76,6 +76,13 @@ void print_usage(char* argv) { #endif , argv ); + + printf( + "\n" + "Many things included in this program are made and developed by the Checkra1n team.\n" + "Please do NOT contact the Checkra1n team for Palera1n, they are not responsible for this program.\n" + "The original Checkra1n payloads are from: https://checkra.in/1337\n" + ); } void parse_arguments(int argc, char* argv[]) { @@ -144,6 +151,16 @@ void parse_arguments(int argc, char* argv[]) { print_usage(argv[0]); exit(1); case 'v': // --version + printf("Palera1n beta " PALERAIN_VERSION " [USB: %s (openra1n)]\n", + #ifdef __APPLE__ + "IOKit" + #else + "libusb" + #endif + ); + printf("%s (%s)\n", GIT_HASH, GIT_BRANCH); + printf("Git: %s\n", GIT_URL); + printf("Compiled on %s at %s\n", __DATE__, __TIME__); exit(0); case 1: // --cli palerain_flags &= ~palerain_option_tui; @@ -296,6 +313,13 @@ int main(int argc, char* argv[], char* envp[]) { parse_arguments(argc, argv); LOG("palera1n_flags: %llu", palerain_flags); + // communicating with libusb on linux needs root + #ifdef __linux__ + if (geteuid() != 0) { + LOG_WARN("You are not running as root, this may cause issues when exploiting"); + } + #endif + #ifdef WITH_GUI if (palerain_flags & palerain_option_gui) { wxEntryStart(argc, argv);