Source Code OpenGL Logger / String based model recognition

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

Liduen

Hacker
Dank Tier VIP
May 19, 2013
702
8,478
33
So I figured out how to do a perfect string based model recognition for UrbanTerror.
As far as I'm aware of there is no tutorial out there doing this my way (through glVertexPointer) so, yea that is a new way of doing things.
You can use this in combination with my UrbanTerror Texture Dump to do some interesting things.


What you can do with it
hVVl8f4.jpg
IPkTI83.jpg
eF93WKV.jpg


SourceCode
C++:
// contains the current texture being drawn
char* pcCurTex = new char[40]; // important texture paths are less than 40 chars long
DWORD dwEbxDump = NULL;

void WINAPI hooked_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
{
	__asm mov dwEbxDump, ebx; // dump ebx register
	pglVertexPointer(size, type, stride, pointer); // call original glVertexPointer
}

void WINAPI hooked_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices)
{
	// ensure valid ptr
	if ((char*)dwEbxDump != NULL)
	{
		memset(pcCurTex, 0, 40);
		memcpy(pcCurTex, (char*)dwEbxDump, 39);
		pcCurTex[39] = '\0';

		if (strstr(pcCurTex, "models") != NULL)
		{
			if (strstr(pcCurTex, "/players/") != NULL)
			{
				// currently drawing a swat player
				if (strstr(pcCurTex, "swat") != NULL)
				{
					// disable depth test? chams? xqz wallhack?
				}
				// currently drawing a terrorist player
				else if (strstr(pcCurTex, "tag") != NULL)
				{
					// disable depth test? chams? xqz wallhack?
				}
			}
		}
	}

	pglDrawElements(mode, count, type, indices); // call original glDrawElements
}
It doesn't seem like much (hardly 40 lines of code) but it takes its time to figure them out. Getting the texture pointer from glBindTexture instead will let you miss some interesting textures.
So it took me some time of learning C++ and reversing to get this point.

I think it was worth it.
Thanks for this awesome community!

:smile:
 
Last edited:

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,153
78,998
2,396
Very creative Liduen! Someday when I have time I will try to use this method on Assault Cube.
 
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.

Community Mods