!!! IMPORTANT !!! I've noticed riot already has taken notice of this project and they have implemented a few signatures for detecting this. Don't use this as it is, if you know what you are doing you will have a clue what to modify to avoid detection. Also careful if you want to copy paste code from here to an internal it seems riot has taken an extra step in making some code signatures.
LView is a python based scripting platform for League of Legends. The engine is external that means it is not injected into leagues process. The engine is running in a separate process and reads the games state using ReadProcessMemory.
Key features of LView:
- Ability to create overlays and automatize gameplay using python scripts
- Performant ingame overlays/menus using a combination of directx, direct composition and dear imgui
- Static game data available at runtime. Data is unpacked directly from the game files. Taken from https://www.communitydragon.org/ .
- Undetectability. Since LView reads the game state externally the ban probability is close to 0. Currently since the start of the development there is no recorded case of a ban.
- A rich set of premade scripts. There are a lot of already implemented and tested gameplay scripts by default in LView and more are to come. Some of these scripts: orbwalker, spell tracker, champion tracker, map awareness, minimap drawings, skillshot drawings... etc
You need Visual Studio 2019 to compile this. Dependencies:
- python39: dlls and includes are already in project. You need to install python 3.9 for 32bits (Make sure you check the Add to PATH checkbox in the installer: https://www.python.org/ftp/python/3.9.0/python-3.9.0.exe)
- aws-lambda: dlls and includes are already in project (was used for authentication)
- directx 11: Must install directx end user runtimes: https://www.microsoft.com/en-us/download/details.aspx?id=35 .Extract this and run dxsetup
- boost::python. Due to the size of the boost libraries you must download boost yourself:
- Download boost 1.75.0 (https://www.boost.org/users/history/version_1_75_0.html)
- Unarchive it in LView/boost
- Compile the app on Release x86 (you need to compile boost::python on debug to compile on debug, which I didn't).
- Copy Release/ConsoleApplication.exe to LView/ConsoleApplication.exe overwriting the existing file if needed
- Run LView/ConsoleApplication.exe and have fun!
All LView & LView python scripts configurations reside in config.ini file. First you must set the path to the scripts folder with the following config (you can find the config.ini in LView folder):
::scriptsFolder=\<folder\>