u/Artistic-Day-1895

Zephyr — official and custom skins in one app, with public source code.

Zephyr — official and custom skins in one app, with public source code.

Hey everyone! I’ve been working on Zephyr, a Windows app that brings official skin selection and custom skin management into one interface.

Here’s what it does:

  • Select official skins through an in-game menu.
  • Import and manage .fantome and .modpkg custom skins.
  • Check custom packages for issues and conflicts, with partial checks for .modpkg files.
  • Automatically detect your League installation.
  • Switch between English and Brazilian Portuguese.
  • Notify you when a newer release is available on GitHub.

Zephyr’s application source code is public on GitHub, including the launcher, interface, integration, custom-skin backend and modified in-game menu. Anyone can inspect the code and review the build instructions. Some bundled components are provided as precompiled binaries.

I’ve also published SHA-256 checksums so you can verify your downloads. That said, the project hasn’t had an independent security audit, so I won’t claim it’s completely risk-free. It’s still experimental, and successful testing doesn’t guarantee account safety.

The current version is 1.0.0. If you give it a try, I’d love to hear what works well and what needs improving.

Download and source: https://github.com/stereolove33/Zephyr

Bug reports, help and update announcements: https://discord.gg/fjfssqYZx

u/Artistic-Day-1895 — 10 days ago

LoL skin manager errors: “Cannot resolve the game’s loader module” and “SetWindowsHookEx failed: 0x00000000”

Hi everyone. I’m building a personal League of Legends skin manager and need help diagnosing two loader errors.
The app combines an in-game menu for official skins with custom skin selection before a match. It uses Tauri/Rust, JavaScript, a native C++ loader, and LTK-derived patcher components.
OFFICIAL SKIN ERROR
“Cannot resolve the game’s loader module.”
The loader detects League of Legends.exe, waits 10 seconds, resolves LoadLibraryW locally, and searches for the corresponding module in the game process using CreateToolhelp32Snapshot, Module32FirstW, and Module32NextW.
That lookup returns zero. The original code discarded the Windows error, so I cannot distinguish a missing module from a failed enumeration.
CUSTOM SKIN ERROR
“Host injection failed: SetWindowsHookEx failed: 0x00000000”
The reported category is INJECTION_FAILED and the stage is INJECTION.
I’m testing a font/UI mod. Its package check says “No issues detected,” but injection fails. The interface also incorrectly leaves “Loader active” visible after the custom loader stops.
The custom components are ltk_patcher_host.exe and ltk_patcher_dll.dll. I don’t have the source for the external host that reports this hook error.
WHAT HAS BEEN CHECKED
A local patch preserves module-enumeration errors, retries temporary ERROR_BAD_LENGTH failures, fixes the stale UI status, and makes the update script rebuild the native loader.
JavaScript and mocked API tests passed, but successful injection has not been confirmed. The custom hook failure remains unresolved.
During rebuilding, I also encountered LNK1104 when the linker tried to create src-tauri\resources\r3nz\official-loader.exe. The next step was to create the resource directory, restore the bundled files, and run the full build.
ENVIRONMENT
Windows x64, Visual Studio 2022 Build Tools with the x64 developer terminal, Rust/Tauri, Node.js, and pnpm.
A separate R3nz version previously worked on this machine, including its in-game menu.
Has anyone encountered these errors? What should I log to diagnose the module lookup, and how can I investigate SetWindowsHookEx failing with error code zero?
I can provide screenshots, logs, relevant code snippets, and the patcher component versions or hashes. Any help would be appreciated.

reddit.com
u/Artistic-Day-1895 — 11 days ago