McDota is a Cheat and tinker tool for Dota 2 on Linux.
It has been built from the ground-up to be faster and better than previous cheats.
- Fully Dynamic Panorama UI that is created on runtime and modifies no files.
- Integrity System that tries to detect when and where updates break the cheat.
- All features are native C++
- No ConVars are changed ever
- Lua Execution ( implemented but not used, see
vscriptSystem->RunScript
) - Camera Zoom, pitch/yaw
- ESP, spotted ESP ( when seen by enemy team ), info.
- No Fog / No Fog of War ( not a maphack )
- Full Protobuf packet interception/inspection/editing.
- More...
- CMake
- a C++17 compiler ( like
clang
orgcc
) - Build essentials( make,
gdb
, etc.. ) - google protobufs development library - Version 3.7.0 is recommended! The Newest versions are not compatible and will segfault even in proto2 mode!
####Update: Dota Anime-Patch has Introduced Pre-2011 String ABI into the game. This means you Need to build protobufs from Source!
First, uninstall any protobuf-devel package your distro may have. (Just the headers/libs don't remove Gnome)
git clone https://github.com/protocolbuffers/protobuf
git checkout v3.15.3
./autogen.sh && ./configure
make -j8 CFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0
cd src
sudo make install
sudo ldconfig #refresh .so cache
Check in the terminal the Version is correct.
[gamer@localhost McDota-Master]$ protoc --version
libprotoc 3.15.3
First Build Protobufs
./rebuildprotos.sh
Now you can build the project
cmake . && make -j
For a Debug Build
cmake . -DCMAKE_BUILD_TYPE="Debug" . && make -j
There are 3 different load scripts. #2 is the Recommended way to load for online play
load
will load "libMcDota.so" normally into the game. I normally use this just for development and don't recommend that you use it online because it is easy to detect.load_carto
has Cartographer Integration(R) and will first check for Cartographer to be loaded, then it will set the Cartographer settings for you, and finally inject McDota into the game.load-stealth
Will rename and move"libMcdota.so" into a file that looks legit and then load it into the Game. ( Originally made by Marc for Spookware ). This is a good compromise if you don't want to install or use Cartographer.
Each script also has a corresponding unload script.
#1 uses no spaces, #2 uses underscores, and #3 uses dashes. I use this format to tab autocomplete
Press Insert
to Open/Close the in-game Menu ( works in-game and in-menu )
- There is a very rare tcmalloc bug I have encountered that will just crash your game. I can't seem to reproduce it when it happens.
- Sometimes the UI will not open on the first time, I think I have fixed this, but if this happens to you, check the console and just try again.
- Debug builds do not unload
- SELinux might cause a problem with hardhooks
LWSS(me) - Founder
praydog - His research into the SchemaSystem helped me especially when I was starting the project.
subhook - I Use a modified version of this library to do the Hard Hooks used for GC msgs ( changing .code section )
GPL3 - see LICENSE.txt