/Dota2Cheat

A dota 2 cheat project aiming to provide an educational example to new developers

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Dota2Cheat: now with Dota Plus!

cheat preview 27 03 2023

There weren't many open-source Dota cheats. And so I decided to fix that. Written in C++20 with love

Some SDK bits were fully or partionally taken from McDota by LWSS. It's a very helpful source regarding memory structures

Using GLFW, GLEW and ImGui for the interface, cheers to their wonderful creators!

also using Minhook for bytehooking

also using Google's Protocol Buffers library for net message handling

also using Lua 5.4 and sol2 for scripting

also using DarthTon's BlackBone for injection

also using libcurl for network requests

assets folder contents are property of Valve Corporation

Building

You need to install the protobuf library for it to work. Install vcpkg. Navigate to the folder with vcpkg.exe. Open the console in the folder and enter the following command:

.\vcpkg.exe install protobuf:x64-windows-static-md

This will install the heavier static version of the library.

Once the process completes, go to installed/x64-windows-static-md. Copy libprotobuf.lib and libprotobuf-lite.lib files from /lib to Dota2Cheat/lib. You can also copy the libs with a d suffix from debug/lib if you want to compile it in Debug

Open the project in Visual Studio and build both Dota2Cheat and Dota2Loader as Release x64

Injecting

This cheat can be safely reinjected at any point of the game

Build Dota2Loader and launch it, it will move the necessary resources around and then inject

Use at own risk. Though I use methods that make detection chances as low as possible, there are no guarantees. Use a vac bypass (also consider not using non-legit features that you can get reported for)

Troubleshooting

If you encounter a crash and want to inform me of it, do the following:

Build both the cheat and loader in Debug. Launch dota 2, then In Visual Studio Ctrl + Alt + P and select dota2.exe. Now that you're debugging the process, inject the cheat. VS will show you where the exception occurs. Screenshot both what place it crashed in and the Call Stack(it's one of the bottom menus). You can also screenshot exact places the call stack entries take you to(double-click them).

And thus we can defeat bugs together!

Features

To open the cheat menu, press Insert

This list is subject to frequent change as I'm testing new features

  • Automation:

    • AutoAccept with customizable delay
    • Uses Magic Wand and Faerie Fire with customizable health tresholds
    • AutoMidas with customizable min XP reward
    • Bounty rune & Aegis pickup
    • Tome of Knowledge purchase RIP on 21.04.2023. Goodbye, sweet prince.
    • Redirects spell casts from illusions to the real hero
    • Mana & HP abuse with items like Arcane Boots
    • AutoDodge for projectiles
  • Information:

    • Visible by Enemy RIP on 21.02.2023, you shall not be forgotten
    • Teleport Tracker — draws enemy TPs on the map
    • AbilityESP & ItemESP + manabars
    • Indicators
      • Speed indicator — shows whether you are faster or slower than the enemy
      • Kill indicator — shows if you can kill the enemy with a nuke(if your hero has one). If you can't, shows how much damage there is left to deal before you can.
    • Draw circles of custom radius around you hero(e. g. to see XP receiving range)
    • Shows point-cast spells(Sunstrike, Torrent, Light Strike Array)
    • Modifier Revealer:
      • Shows target-cast spells(Assassinate, Charge of Darkness)
      • Shows Linken's Sphere on everyone
      • Shows True Sight on allies and wards
    • Renders any and all possible particles, including in FoW
    • Customizable enemy illusion coloring
    • Shows trajectories of enemy projectiles like Mirana's arrow and non-projectile abilities like Meat Hook
  • Convars:

    • sv_cheats spoofing
    • customizable dota_camera_distance with proper r_farz and fog_enable(no clipping or blue fog)
    • dota_use_particle_fow RIP too
  • Utility:

    • Perfect Blink
    • Prevents bad spell casts(such as Black Hole/Chronosphere with no one in its radius)
  • Changer:

    • Weather changing(Ash, Spring etc)
    • River painting
    • Unlocks emoticons
    • Dota Plus Unlocker
  • Work in progress:

    • Roshan timer

I intend to implement most of the usual cheat functionality

For Developers

If you want to tinker with the sources, compile both the cheat and loader as Debug x64(it will use LoadLibrary to allow for debugging and the overlay will not cover the whole screen)

Check out the repo's Wiki, I add useful informations about dota-specific cheat things there

Also has a guide on how to update it