Outdated HexMurder's Free CSGO ESP V1.0 External

  • CSGO recently moved logic from 'client_panorama.dll' to 'client.dll', you must update all code that uses 'client_panorama.dll' and replace it with 'client.dll' or the code will not work.
Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

HexMurder

Arcane Hacker
Dank Tier VIP
Dank Tier Donator
Jun 7, 2012
319
7,988
22
Well guys, it has come to my attention that there are very few public hacks being released here on GH. :eek:hnoes:
SO I figured I would take 45 minutes out of my day to throw something together for you guys. It is very basic, and is by no means pretty. BUT it is very functional and will still give you one hell of an advantage.
It is a very simple ESP. It only works on enemies (no team mates). No customization or anything like that. Just that bare bones basics. This is for someone who is really itching to cheat and has no means of making a hack themselves. It does use GDI so it is a little slow. So if you get really bad fps on csgo you probably can't use this.



Only requirements are you need to have the game in either windowed, or border-less windowed mode.
*You may also have to have the game running in English.. Not actually sure about this one. I use a method of obtaining the window location by the title of the game. And I coded this in English, so if it's not working that may be the problem.

If the boxes are misaligned for any reason you can adjust them by pressing "ctrl + up" or "ctrl + down" accordingly.
If you need to kill the hack, just press "ctrl + alt + q". This is the only way to turn it off so to speak. The process will be killed automatically when you turn off csgo as well.

Good luck, and happy hacking. This will only work until the games next update so enjoy it while it lasts. If people like it, i will of course update it when the game updates. Since i literally just wrote this it is (as of now) undetected. But be warned! You may be banned for using this eventually. So don't play on an account that has any items you aren't willing to lose!


**Although it is free, i wouldn't mind if you guys hit the thanks button down there in the bottom left of my post ;)

https://virusscan.jotti.org/en-US/filescanjob/ksl33scyai
https://www.virustotal.com/en/file/...e4aaf71e34d473083d356ca9/analysis/1490166644/
 

Attachments

Last edited:

Traxin

Escobar Tier VIP
Dank Tier Donator
Aug 3, 2015
1,041
25,378
154
Big dawg hex stay coming with the fire! Appreciate the share good man!
 

bimmerlegend

Newbie
Full Member
Mar 22, 2017
14
68
0
Guess a pattern scan would be too much to expect of 45min work but should be extremely easy to add here.
Good contribute I guess, this section is kinda dead.
 

HexMurder

Arcane Hacker
Dank Tier VIP
Dank Tier Donator
Jun 7, 2012
319
7,988
22
Guess a pattern scan would be too much to expect of 45min work but should be extremely easy to add here.
Good contribute I guess, this section is kinda dead.
If i had the patterns on hand i would have thrown it in there. My C# Memory class already has a pattern scanning function thanks to Traxin. Perhaps on the next update i'l implement that just to leave it up for a while.
 
  • Like
Reactions: lda123321

bimmerlegend

Newbie
Full Member
Mar 22, 2017
14
68
0
If i had the patterns on hand i would have thrown it in there. My C# Memory class already has a pattern scanning function thanks to Traxin. Perhaps on the next update i'l implement that just to leave it up for a while.
C#:
private static void FindEntityList()
        {
            byte[] pattern = new byte[]{ 
                0x05, 0x00, 0x00, 0x00, 0x00, //add eax, client.dll+xxxx
                0xC1, 0xe9, 0x00,                   //shr ecx, x
                0x39, 0x48, 0x04                    //cmp [eax+04], ecx
                };
            string mask = MaskFromPattern(pattern);
            int address, val1, val2;

            address = FindAddress(pattern, 1, mask, dllClientAddress, dllClientSize);
            val1 = ReadInt32(scanner.Process.Handle, address);
            address = FindAddress(pattern, 7, mask, dllClientAddress, dllClientSize);
            val2 = ReadByte(scanner.Process.Handle, address);
            val1 = val1 + val2 - dllClientAddress;

            PrintAddress("EntityList", val1);
        }
        private static void FindLocalPlayer()
        {
            byte[] pattern = new byte[]{ 
                0x8D, 0x34, 0x85, 0x00, 0x00, 0x00, 0x00,       //lea esi, [eax*4+client.dll+xxxx]
                0x89, 0x15, 0x00, 0x00, 0x00, 0x00,             //mov [client.dll+xxxx],edx
                0x8B, 0x41, 0x08,                               //mov eax,[ecx+08]
                0x8B, 0x48, 0x00                                //mov ecx,[eax+04]
                };
            string mask = MaskFromPattern(pattern);
            int address, val1, val2;

            address = FindAddress(pattern, 3, mask, dllClientAddress, dllClientSize);
            val1 = ReadInt32(scanner.Process.Handle, address);
            address = FindAddress(pattern, 18, mask, dllClientAddress, dllClientSize);
            val2 = ReadByte(scanner.Process.Handle, address);
            val1 += val2;
            val1 -= dllClientAddress;

            localPlayer = val1;
            PrintAddress("LocalPlayer", val1);
        }
       private static void FindEnginePointer()
        {
            byte[] pattern = new byte[]{
                0xC2, 0x00, 0x00,
                0xCC,
                0xCC,
                0x8B, 0x0D, 0x00, 0x00, 0x00, 0x00, //<<<<
                0x33, 0xC0,
                0x83, 0xB9
                };
            string mask = MaskFromPattern(pattern);
            int address, val1;

            address = FindAddress(pattern, 7, mask, dllEngineAddress, dllEngineSize);            //Find x1
            if (address != 0)
            {
                val1 = ReadInt32(scanner.Process.Handle, address);    //Read x1
                address = val1 - dllEngineAddress;
            }

            PrintAddress("EnginePointer", address);
        }
        private static void FindSetViewAngles()
        {
            byte[] pattern = new byte[]{ 
                0x8B, 0x15, 0x00, 0x00, 0x00, 0x00, 
                0x8B, 0x4D, 0x08,
                0x8B, 0x82, 0x00, 0x00, 0x00, 0x00, //<<<
                0x89, 0x01,
                0x8B, 0x82, 0x00, 0x00, 0x00, 0x00,
                0x89, 0x41, 0x04
                };
            string mask = MaskFromPattern(pattern);
            int address, val1;

            address = FindAddress(pattern, 11, mask, dllEngineAddress, dllEngineSize);
            val1 = ReadInt32(scanner.Process.Handle, address);

            PrintAddress("SetViewAngles", val1);
        }
Is all you need isn't it? Rest should be pretty static.
Oh and credits for these is Zat
 
  • Like
Reactions: lda123321

HexMurder

Arcane Hacker
Dank Tier VIP
Dank Tier Donator
Jun 7, 2012
319
7,988
22
C#:
private static void FindEntityList()
        {
            byte[] pattern = new byte[]{ 
                0x05, 0x00, 0x00, 0x00, 0x00, //add eax, client.dll+xxxx
                0xC1, 0xe9, 0x00,                   //shr ecx, x
                0x39, 0x48, 0x04                    //cmp [eax+04], ecx
                };
            string mask = MaskFromPattern(pattern);
            int address, val1, val2;

            address = FindAddress(pattern, 1, mask, dllClientAddress, dllClientSize);
            val1 = ReadInt32(scanner.Process.Handle, address);
            address = FindAddress(pattern, 7, mask, dllClientAddress, dllClientSize);
            val2 = ReadByte(scanner.Process.Handle, address);
            val1 = val1 + val2 - dllClientAddress;

            PrintAddress("EntityList", val1);
        }
        private static void FindLocalPlayer()
        {
            byte[] pattern = new byte[]{ 
                0x8D, 0x34, 0x85, 0x00, 0x00, 0x00, 0x00,       //lea esi, [eax*4+client.dll+xxxx]
                0x89, 0x15, 0x00, 0x00, 0x00, 0x00,             //mov [client.dll+xxxx],edx
                0x8B, 0x41, 0x08,                               //mov eax,[ecx+08]
                0x8B, 0x48, 0x00                                //mov ecx,[eax+04]
                };
            string mask = MaskFromPattern(pattern);
            int address, val1, val2;

            address = FindAddress(pattern, 3, mask, dllClientAddress, dllClientSize);
            val1 = ReadInt32(scanner.Process.Handle, address);
            address = FindAddress(pattern, 18, mask, dllClientAddress, dllClientSize);
            val2 = ReadByte(scanner.Process.Handle, address);
            val1 += val2;
            val1 -= dllClientAddress;

            localPlayer = val1;
            PrintAddress("LocalPlayer", val1);
        }
       private static void FindEnginePointer()
        {
            byte[] pattern = new byte[]{
                0xC2, 0x00, 0x00,
                0xCC,
                0xCC,
                0x8B, 0x0D, 0x00, 0x00, 0x00, 0x00, //<<<<
                0x33, 0xC0,
                0x83, 0xB9
                };
            string mask = MaskFromPattern(pattern);
            int address, val1;

            address = FindAddress(pattern, 7, mask, dllEngineAddress, dllEngineSize);            //Find x1
            if (address != 0)
            {
                val1 = ReadInt32(scanner.Process.Handle, address);    //Read x1
                address = val1 - dllEngineAddress;
            }

            PrintAddress("EnginePointer", address);
        }
        private static void FindSetViewAngles()
        {
            byte[] pattern = new byte[]{ 
                0x8B, 0x15, 0x00, 0x00, 0x00, 0x00, 
                0x8B, 0x4D, 0x08,
                0x8B, 0x82, 0x00, 0x00, 0x00, 0x00, //<<<
                0x89, 0x01,
                0x8B, 0x82, 0x00, 0x00, 0x00, 0x00,
                0x89, 0x41, 0x04
                };
            string mask = MaskFromPattern(pattern);
            int address, val1;

            address = FindAddress(pattern, 11, mask, dllEngineAddress, dllEngineSize);
            val1 = ReadInt32(scanner.Process.Handle, address);

            PrintAddress("SetViewAngles", val1);
        }
Is all you need isn't it? Rest should be pretty static.
Oh and credits for these is Zat
Oh nice man :) i would also need the viewmatrix pattern but that's it.
 
  • Like
Reactions: lda123321

mek

Newbie
Mar 27, 2017
1
12
0
nice job man just wondering if you may know why the boxes wont pop up for me everything should be working and the tags are on the top of my screen but i just dont get the outlines
 

Lukor

ded
Meme Tier VIP
Fleep Tier Donator
Dec 13, 2013
488
5,353
25
Well to be expected... csgo sees updates fairly often...
Maybe the OP is a good OP
 

HexMurder

Arcane Hacker
Dank Tier VIP
Dank Tier Donator
Jun 7, 2012
319
7,988
22
Updating soon with pattern scanning so it wont break anymore. As soon as i get free time.
 
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