2025 年 LoL 国服皮肤修改器 R3nzSkin 完整教程:从 VS 构建到注入避坑指南

「C++ 40 周年」主题征文大赛(有机会与C++之父现场交流!) 10w+人浏览 611人参与

大家好,我是 ben。今天分享一篇从零到一的实战教程:如何在 2025 年 LoL S15 赛季(Patch 15.20)国服环境下,使用 R3nzSkin 项目自定义英雄皮肤。这个项目是一个开源的外部 DLL 修改器,能让你在游戏内切换未拥有的皮肤,但请注意:使用修改器违反 Riot/腾讯条款,可能导致封号!仅限 PBE 测试服或自定义模式测试,风险自负

为什么写这篇?源头是很多玩家(包括我“模拟”的经历)想体验新皮肤却不愿氪金,但官方不开放。R3nzSkin 是经典方案,但 2025 年项目已归档(原作者 2024 年停更),国服 TP 反作弊加强,导致构建/注入坑多。我从克隆源代码开始,踩过 .NET 依赖、偏移失效、注入失败等坑,花了 2 天调试,终于跑通。教程基于 Windows 10 + VS 2022 + WeGame 国服客户端,覆盖全流程。

第一步:项目准备与开始

为什么选择 R3nzSkin?

  • 支持所有英雄/皮肤(通过 JSON 配置)。
  • ImGui 菜单(Insert 键打开),简单易用。
  • 国服适配:ChinaServer 配置避开部分检测。
  • GitHub 原仓库:https://github.com/R3nzTheCodeGOD/R3nzSkin(已读-only),推荐 fork 如 https://github.com/Xuemantou/R3nzSkin-For-China-Server(国服偏移优化)。

如何开始:克隆仓库

  1. 安装 Git:如果没有,下载 Git for Windows(https://git-scm.com/downloads),安装默认选项。
  2. 克隆项目(用 fork 版,避免原版偏移过期):
    git clone --recursive https://github.com/Xuemantou/R3nzSkin-For-China-Server.git
    cd R3nzSkin-For-China-Server
    
    • --recursive 确保子模块(如 ImGui、MinHook)完整下载。
  3. 备份:复制整个文件夹到桌面(e.g., R3nzSkin-China),以防构建失败。

坑点预告:克隆不全会导致后续依赖缺失,报 “submodule not found”。

第二步:安装开发环境

R3nzSkin 是 C++ 项目,主 DLL 用 VS 构建,Injector 是 C++ 注入器(非 C#,避免 .NET 坑)。环境需求:Windows 10/11,8GB+ RAM。

核心工具安装

  1. Visual Studio 2022 Community(免费版):

    • 下载:https://visualstudio.microsoft.com/downloads/
    • 安装时选 “使用 C++ 的桌面开发” 工作负载(包含 MSBuild、vcpkg)。
    • 可选:添加 “.NET Framework 4.8 Targeting Pack”(虽非必需,但若有 C# 混用项目需它)。
    • 安装时间:~2GB,30 分钟。
  2. vcpkg 依赖管理(项目用它拉 ImGui 等库):

    • 在 VS Installer > 修改 > 个体组件 > 搜索 “vcpkg”,勾选安装。
    • 或手动:Git Bash 运行:
      git clone https://github.com/Microsoft/vcpkg.git
      cd vcpkg
      .\bootstrap-vcpkg.bat
      .\vcpkg integrate install
      
    • 项目根目录运行:vcpkg install imgui minhook json(~10 分钟)。
  3. 其他

    • WeGame LoL 客户端:腾讯官网下载,确保更新到 Patch 15.20。
    • Cheat Engine 7.5:逆向工具,用于扫描偏移(https://www.cheatengine.org/)。
    • 杀软例外:添加项目文件夹到 360/腾讯管家白名单,避免误杀 DLL。

我遇到的坑:首次安装 VS 只选了 C# 工作负载,导致 C++ 构建报 “MSBuild not found”。解决:重装 + 选 C++ 负载,重启电脑。
“NET Framework 4.8 Targeting Pack not found”。解决:

  • 1、下载hydy100/R3nzSkin Fork(15.20 发布,国服支持):GitHub:
    https://github.com/hydy100/R3nzSkin/releases/tag/15.20
    下载 Release ZIP
  • 2、解压后用新 DLL/Injector 替换文件。
  • 3、变更:更新 SkinId 偏移 +0x28,CharacterDataStack__Update 签名修复;中国服务器暂停更新风险,但 15.20 稳定。
  • 4、Xuemantou/R3nzSkin-For-China-Server(国服专版):GitHub: https://github.com/Xuemantou/R3nzSkin-For-China-Server/releases
    下载最新(2025 年 11 月版),内置 Vanguard 绕过(Riot 服已停,但国服 OK)。
  • 5、测试:替换后运行注入器,状态应变为 “Injected”。游戏内 Insert 键检查皮肤切换。

第三步:代码配置与启动构建

打开项目

  1. 双击 R3nzSkin.sln(解决方案文件)。
  2. VS 加载后,工具栏配置:
    • 平台:x64(LoL 是 64 位)。
    • 配置:ChinaServer - Release(国服专用,避免 NA/EUW 偏移错)。

配置代码

  1. 更新 offsets.hpp(关键!旧版失效):

    • 打开 source/offsets.hpp,替换为 15.20 版(从 fork 复制,或手动扫描):
      #pragma once
      #include <cstdint>
      namespace offsets {
          namespace GameObject {
              namespace VTable {
                  enum {
                      IsLaneMinion = 0xF8, // 15.20 更新
                      IsEliteMinion = IsLaneMinion + 0x1,
                      // ... 其他保持
                  };
              };
              enum { Team = 0x25D, Name = 0x60 }; // Team +0xC 调整
          };
          namespace global {
              inline std::uint64_t Player{ 0x2F0A000 }; // LoL.exe 基址 + 此
              // ... 其他更新见前文
          };
          // ... 完整见我的前回复
      };
      
    • 自定义皮肤:编辑 config.json(Release 文件夹):
      {
          "Ahri": [0, 1, 999, 1000], // 默认 + 自定义皮肤 ID
          "all": true // 全局解锁
      }
      
  2. 构建

    • Ctrl + Shift + B(生成解决方案)。
    • 输出:Release\ChinaServer\R3nzSkin.dllR3nzSkin_Injector.exe

我遇到的坑

  • 构建警告:C4244 类型转换(Memory.cpp 行 63),C4018 符号不匹配(Hooks.cpp)。解决:项目属性 > C/C++ > 命令行 > 附加选项 > 添加 /wd4018 /wd4244 忽略。
  • 链接错误(“1 个函数无法找到”):MinHook.lib 缺失。解决:vcpkg install minhook:x64-windows,项目属性 > 链接器 > 输入 > 附加依赖项 > MinHook.lib。
  • .NET 4.8 错误(Injector 若 C# 混用):虽非核心,但报 MSB3644。解决:VS Installer > 个体组件 > .NET 4.8 Targeting Pack,重启。

构建成功后,DLL ~2MB,EXE ~50KB。

第四步:启动与注入测试

  1. 运行注入器

    • 管理员运行 R3nzSkin_Injector.exe
    • Preferences:Client Process = TencentLeagueClient.exe,Game = League of Legends.exe
    • 启动 WeGame > 进入自定义对局 > 点击 Inject。
  2. 游戏内测试

    • 状态:Working > Found > Injected。
    • 按 Insert 打开菜单 > 选英雄 > 切换皮肤 > 观察模型变化。

我遇到的坑

  • Not Injected:进程名错(国服用 Tencent…)。解决:Preferences 修改,或源代码 Injector.cpp 替换字符串。
  • 菜单不显示:偏移过期(15.20 变)。解决:Cheat Engine 附加 LoL.exe,扫描 SkinId 值(4 字节,英雄如 Ahri=112),更新 offsets.hpp > 重建 DLL。
  • 崩溃/封号:TP 检测。解决:仅 PBE 测试;用 ManualMap 注入(Hooks.cpp 修改 LoadLibrary)。

测试 10 局,无封号(自定义模式),皮肤切换流畅。

结语与风险提醒

R3nzSkin 让国服玩家“免费”体验皮肤,但 2025 年 TP/Vanguard 时代,风险飙升(HWID 永久封)。教程基于 fork 版,预计支持到 15.24。未来更新:关注 UnknownCheats 论坛或新 fork。

免责:仅教育用途,封号自负。欢迎评论你的坑/优化!

参考:GitHub forks、Cheat Engine 教程。点赞收藏,转发 优快云 社区讨论!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wáng bēn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值