diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e112d7d..a518404 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,6 +9,8 @@ on: jobs: build: + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true name: Build on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: @@ -17,12 +19,12 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: - python-name: '3.x' + python-version: '3.x' - name: Install Linux Dependencies if: matrix.os == 'ubuntu-latest' @@ -49,21 +51,21 @@ jobs: - name: Upload Artifact (Windows) if: matrix.os == 'windows-latest' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: CryptPHP-Windows path: build/Release/CryptPHP.exe - name: Upload Artifact (macOS) if: matrix.os == 'macos-latest' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: CryptPHP-macOS path: build/CryptPHP - name: Upload Artifact (Linux) if: matrix.os == 'ubuntu-latest' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: CryptPHP-Linux path: build/CryptPHP diff --git a/README.md b/README.md index 16f67e8..2a24a5f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ **CryptPHP** is a high-performance, cross-platform PHP obfuscator and encoder designed to secure your source code. It combines granular file selection with multi-layer protection to safeguard your intellectual property. +![tab-1](https://raw.githubusercontent.com/Mohit-Hasan/crypt-php/refs/heads/main/assets/tab-1.png) + --- ## Key Features @@ -46,6 +48,8 @@ make -j$(sysctl -n hw.ncpu) 4. **Package**: Configure your **Seed Folder** and click **Build & Orchestrate**. 5. **Deploy**: Find your protected ZIP files in the `dist/` directory. +![tab-2](https://raw.githubusercontent.com/Mohit-Hasan/crypt-php/refs/heads/main/assets/tab-2.png) + --- ## Credits & Licensing diff --git a/assets/tab-1.png b/assets/tab-1.png new file mode 100644 index 0000000..10ffb56 Binary files /dev/null and b/assets/tab-1.png differ diff --git a/assets/tab-2.png b/assets/tab-2.png new file mode 100644 index 0000000..8f1b6f2 Binary files /dev/null and b/assets/tab-2.png differ diff --git a/scripts/package_resources.py b/scripts/package_resources.py index 3e36b84..1e56636 100644 --- a/scripts/package_resources.py +++ b/scripts/package_resources.py @@ -31,6 +31,7 @@ def package_directory(src_dir, header_file): f.write("\nstatic const EmbeddedFile g_EmbeddedFiles[] = {\n") for i, (rel_path, abs_path) in enumerate(files): size = os.path.getsize(abs_path) + rel_path = rel_path.replace("\\", "/") f.write(f' {{ "{rel_path}", {size}, g_FileData_{i} }},\n') f.write("};\n\n") f.write(f"static const size_t g_EmbeddedFilesCount = {len(files)};\n") diff --git a/src/FileUtil.cpp b/src/FileUtil.cpp index 700b116..9bcc9ac 100644 --- a/src/FileUtil.cpp +++ b/src/FileUtil.cpp @@ -1,10 +1,16 @@ #include "FileUtil.h" #include +#include #include #include #include #include #include + +#ifdef _WIN32 +#define popen _popen +#define pclose _pclose +#endif using namespace std; namespace fs = std::filesystem; diff --git a/src/main.cpp b/src/main.cpp index 4b416a3..7abe151 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -143,12 +143,6 @@ void SetupModernStyle() { c[ImGuiCol_TextDisabled] = {0.50f, 0.55f, 0.60f, 1.f}; } -#ifdef _WIN32 -#define NOMINMAX -#include -#include -#endif - // helpers static void OpenURL(const char *url) { #ifdef __APPLE__ @@ -157,7 +151,10 @@ static void OpenURL(const char *url) { cmd += "\""; system(cmd.c_str()); #elif defined(_WIN32) - ShellExecuteA(NULL, "open", url, NULL, NULL, SW_SHOWNORMAL); + string cmd = "start \"\" \""; + cmd += url; + cmd += "\""; + system(cmd.c_str()); #else string cmd = "xdg-open \""; cmd += url; @@ -863,7 +860,7 @@ int main(int, char **) { ImGui::Text("CryptPHP - Obfuscator for php"); ImGui::PopStyleColor(); ImGui::PopFont(); - ImGui::TextDisabled("v%s | Professional PHP Protection Suite", + ImGui::TextDisabled("%s | Professional PHP Protection Suite", BRAND_VERSION); ImGui::Separator(); ImGui::Spacing();