All Projects â†’ x00bence â†’ Mecha

x00bence / Mecha

Licence: MIT license
🚀 Debugger and plugin loader for the League of Legends client

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Mecha

KBotExt
Application that sends custom requests to League of Legends LCU api
Stars: ✭ 86 (+79.17%)
Mutual labels:  league-of-legends, league, leagueoflegends, lcu, league-client, lcu-api
league-bot
A League of Legends bot to level up accounts. For best results use the settings required settings in the code/README. This bot is designed for Windows computers.
Stars: ✭ 19 (-60.42%)
Mutual labels:  league-of-legends, league, leagueoflegends, league-client
LeagueAPI
League of Legends API & Data Framework in Swift
Stars: ✭ 50 (+4.17%)
Mutual labels:  league-of-legends, league, leagueoflegends, league-api
league-connect
🔌 Promise-based NodeJS interface to the League of Legends Client APIs
Stars: ✭ 92 (+91.67%)
Mutual labels:  league-of-legends, league, lcu, league-client
Sentinel
👀 Native notifications for League of Legends
Stars: ✭ 38 (-20.83%)
Mutual labels:  league, leagueoflegends, lcu
LeagueReplayParser
C# library which can read some data from a .rofl file, and start a replay in the client. (no longer actively maintained)
Stars: ✭ 20 (-58.33%)
Mutual labels:  league-of-legends, league, leagueoflegends
legendary-rune-maker
An automation app for League of Legends
Stars: ✭ 75 (+56.25%)
Mutual labels:  league-of-legends, leagueoflegends, lcu
game apis
This repository is for integrating with different apis to allow you to pull player or game data
Stars: ✭ 24 (-50%)
Mutual labels:  league-of-legends, leagueoflegends, league-api
runeterra
Legends of Runeterra deck code encoder/decoder in JavaScript
Stars: ✭ 45 (-6.25%)
Mutual labels:  league-of-legends, leagueoflegends, league-api
OddAutoWalker
League of Legends External Orb Walker
Stars: ✭ 56 (+16.67%)
Mutual labels:  league-of-legends, league-api, league-client
lol-pick-ban-ui
Web-Based UI to display the league of legends champ select in esports tournaments.
Stars: ✭ 181 (+277.08%)
Mutual labels:  league-of-legends, league
lcu-driver
🐍 Python3 interface for League of Legends Client API
Stars: ✭ 71 (+47.92%)
Mutual labels:  league-of-legends, lcu-api
lol-client-java-api
Simple library which provides access to internal League of Legends Client API.
Stars: ✭ 51 (+6.25%)
Mutual labels:  league-of-legends, league
react-hextech
A collection of React Components using Riot Games' Hextech Visual Identity
Stars: ✭ 25 (-47.92%)
Mutual labels:  league, leagueoflegends
ChromaLeague
Java open-source Razer Chroma keyboard integration for League of Legends
Stars: ✭ 34 (-29.17%)
Mutual labels:  league-of-legends, leagueoflegends
MindCorpViewer
League Of Legends Model Viewer
Stars: ✭ 19 (-60.42%)
Mutual labels:  league-of-legends, leagueoflegends
Camille
C# Riot API Library. Thread safe, automatic retries, autogenerated nightly releases.
Stars: ✭ 82 (+70.83%)
Mutual labels:  league-of-legends, league-api
Timewinder
âȘ New stats with the old client.
Stars: ✭ 17 (-64.58%)
Mutual labels:  league, leagueoflegends
yii2-league-oauth2-server
Yii 2.0 implementation of PHP league OAuth2 server interfaces
Stars: ✭ 29 (-39.58%)
Mutual labels:  league
lol launcher
League Of Legends 英雄联盟 搯抹晹
Stars: ✭ 70 (+45.83%)
Mutual labels:  league-of-legends
Mecha Header
Debugger and plugin loader for the League of Legends client

End of the Line

It is with a heavy heart that I announce with that as of June 16th, 2021, further development of Mecha has been put on an indefinite hold due to security concerns raised by Riot Games.

Simply put, Mecha had too much power at hand and exposed various security issues that I failed to rectify.

While this situation is rather unfortunate for every party involved, I must admit that Riot Games has taken a completely valid approach and is merely protecting their playerbase from potentially malicious exploits.

Even though Mecha technically still functions as intended, I urge everyone to unhook their client immediately.

I never expected Mecha to get this much attention, and I wish I could thank everyone for putting trust in it and trying it out.

Please accept my sincere apologies if my tool has caused any issues whatsoever.

Usage

To use Mecha you must compile it first. See this for more information.


Once compiled, you can open the Mecha GUI via the Mecha GUI.exe file, where you can then manage debug settings and plugins. Other .exe and .dll files are merely dependencies.


As the description may already suggest, Mecha allows you to completely debug the client from top to bottom. It also gives you a chance to inject your own JavaScript code and resources into the League of Legends client.


The Mecha GUI makes this all simple and features functionality for:

  • Hooking and Unhooking your client
  • Retrieving the DevTools URL
  • Injecting custom JavaScript "plugins" into the client
  • Customizing hook settings

Installation

  1. Build or download a compiled version of Mecha
  2. Launch your LoL client
  3. Launch Mecha GUI.exe
  4. Press "Hook" (Note: Only once is enough. Your client will be hooked until you unhook.)
  5. Relaunch your client

Using Mecha is simple. Clicking around in the GUI should answer all of your questions, but in case something goes wrong, you can always create an issue.


Development

Building Mecha from Source

  1. Clone the repository git clone https://github.com/x00bence/Mecha.git
  2. Build the solution with Visual Studio 2019 using the default Release | x86 configuration. (Note: Will NOT compile with other configurations by default)

JavaScript Plugins

As noted in above sections, you also have the possibility to develop JavaScript "plugins" that will get executed in the scope of the client. This allows you to directly modify resources, hook and override internal JavaScript, dump data, and more. Mecha tries to be unopinionated and provides no API by default for creating plugins. It's up to the developers to reverse engineer the client, create an API, design the lifecycle flow, and decide the bundling process.


Plugins can be installed simply by dragging and dropping them into your chosen "plugins" folder. Plugins are loaded from said folder every time you load or refresh your client. Refer to the Mecha GUI for more information.


Roadmap in order of priority

  • ⚙ Add support for plugin initialization ordering, exclusions, and more opt-in settings
  • 🔊 Add error logging, improve fault tolerance
  • 🔍 Support for resource replacing
  • 🚀 Minimalist API/Example plugins
  • ✹ Prettier GUI

Acknowledgements

Mecha has been heavily inspired and influenced by Ace and a Hackathon-created patch diff tool. Although Mecha has different intentions, these two tools ultimately gave the idea to create Mecha. Big shoutouts.


License

Mecha is licensed under the MIT license.


See the LICENSE file for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].