Source Code DOTA 2 Cheats - maphack + illusion detector + vision detector

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

bloodlust312

Dank Tier Donator
May 4, 2020
7
238
0
Game Name
DOTA2
Anticheat
N/A
How long you been coding/hacking?
a few months
Coding Language
C++
illusion.png


Thanks to guidedhacking for your easy to follow tutorials. In just a few months this site has allowed me to create this Dota 2 helper program.

Features:
  1. All particles are rendered (map hack)
  2. A bounding box is drawn on your hero if your hero is seen (great for dewarding!)
  3. Bounding boxes are drawn on non-illusion enemies

How to use:
  1. Create a shortcut on your desktop for x64 Dota
  2. Add -console to the shortcut (e.g., "C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\game\bin\win64\dota2.exe" -console)
  3. Start game and inject DLL (I prefer the GH Injector).
For the GH Injector, I recommend the manual mapping option. Generally, I have the dll auto injected after 12000 ms, to allow the game time to fully load before the dll is injected.

Credits: The hooks and most of the vtables are based on code from LWSS/McDota, shekeru/dotka-cheats. The createinterface code is based on Rake's tutorial. Locating the offsets for rendering all particles, debugging, etc, was based on the teachings from this site.
 

Attachments

Last edited:

bloodlust312

Dank Tier Donator
May 4, 2020
7
238
0
One thing I'll note is that I use very few of the vtable functions. If you wanted to remove the long vtables, and replace them with just the one or two functions you want to call, you can call a function in Dota like so:


typedef void(*SetRenderingEnabledFn)(void*, bool state);

uintptr_t offset = *(*(uintptr_t**)this + 88);//88th vtable entry
SetRenderingEnabledFn SetRenderingEnabled = (SetRenderingEnabledFn)offset;
SetRenderingEnabled(this, state);
 
Last edited:

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,061
78,998
2,370
Really cool, I never see DOTA hacks, thanks for sharing with all of us
 
  • Like
Reactions: bloodlust312

bloodlust312

Dank Tier Donator
May 4, 2020
7
238
0
I've had a lot of requests to update the offsets for this hack, both here an in Github, since Dota has since been updated and some of the features are not working. Since dota is updated frequently and I've moved onto other games, it'll be better to post a quick tutorial for how to update the offsets yourself.

To do this, you'll need IDA and the Class Informer plugin.

The offset that changes most frequently is the CanBeSeenByTeam offset in the C_BaseModelEntity vtable. Since this offset is near the bottom of the vtable, there are often changes to functions before this one, which cause the offset to move by a few places every few months.

Okay, so how do we update the CanBeSeenByTeam offset. Get an old version of Dota where this hack was working from the steam depot (google it, there's other tutorials that explain how to get old versions).

On the old version of dota, Open client.dll (generally located at C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\game\dota\bin\win64) in IDA. Once auto-analysis is complete, run the Class Informer plugin.

Select the C_BaseModelEntity vtable:

C_BaseModelEntity.png


Once you select this vtable, you'll see the below entries. I've highlighted the first offset (0), which is the start of the vtable.

vtable start.png


In the hack, the CEntityInstance.h file shows that we are currently accessing CanBeSeenByTeam at the 215th offset. So count down 215 places, or do math to add the amount of bytes from the first offset of the vtable (8 * 215 + 181B0D5E0) = 181B0DC98.

You can now see the function that we are calling:


old_offset.png


Go ahead and open the vfunc to see what it looks like:

canbeseenfunc.png


Now that we know what the function looks like, open the new client.dll file in IDA, run class informer, and go to the BaseModelEntity vtable. Look around the 215th entry to see if you can see a similar function to the above. I did this and saw the function is now at the 211th offset.

Once you find it, edit our CEntityInstance.h file to add or remove padding as appropriate. Here, since the function is now four offsets closer to the start of the vtable, I removed four of the padding vtable functions in CEntityInstance, and now the hack works.

Updated files can be found here:

darksoul577/ReShade
 
Last edited:
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Similar threads

Community Mods