A hotkey hacked explained

Posts 1–12 of 12 · Page 1 of 1
A hotkey hacked explained
Heres the grounds of this tutorial does this tutorial something not come clear to you
this tutorial is attended for people good at C++ and i mean theve made there own console game or D3D good otherwise your not ready and i will not spoonfeed your leechy self because you will never get anywhere with that!

ok so i guess let me right this up real quick
im using an outdated version of one of my hotkey bases
(omg you leech you stole bloods base! no just all hotkeys look a like lol)

[code]
#include <Windows.h>
#include <stdio.h>

void __cdecl PTC(char* Command )
{
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
if( dwCShell != NULL )
{
DWORD *LTClient = ( DWORD* )( (dwCShell + 0x28BCE0) );
void* C_ll = ( void* )*( DWORD* )( *LTClient + 0x1F8 );
_asm
{
push Command;
call C_ll;
add esp, 4;
}
}
}

BOOL WINAPI Main (LPVOID)
{
bool boxes = false;
bool nosky = false;
bool worldframe = false;
bool playerframe = false;
bool nogun = false;
bool noWall = false;
bool nofog = false;
bool skele = false;
bool smoke = false;
while(1)
{
if(GetAsyncKeyState(VK_NUMPAD3)&1)
{
boxes = !boxes;
}
if(GetAsyncKeyState(VK_NUMPAD1)&1)
{
nosky = !nosky;
}
if(GetAsyncKeyState(VK_NUMPAD4)&1)
{
worldframe = !worldframe;
}
if(GetAsyncKeyState(VK_NUMPAD2)&1)
{
playerframe = !playerframe;
}
if(GetAsyncKeyState(VK_NUMPAD5)&1)
{
nogun = !nogun;
}
if(GetAsyncKeyState(VK_NUMPAD6)&1)
{
noWall = !noWall;
}
if(GetAsyncKeyState(VK_NUMPAD7)&1)
{
skele = !skele;
}
if(GetAsyncKeyState(VK_NUMPAD8)&1)
{
nofog = !nofog;
}
if(GetAsyncKeyState(VK_NUMPAD9)&1)
{
smoke = !smoke;
}
if(GetAsyncKeyState(VK_F1)&1)
{
MessageBoxA(0,"INSTRUCTIONS\nNUMPAD 1: no sky\nNUMPAD 2: player wire\nNUMPAD 3: Boxes\nNUMPAD 4: world wire\n NUMPAD 5: no gun\nNUMPAD 6: DISABLED\nNUMPAD 7: Skeleton\nNUMPAD 8: DISABLED\nNUMPAD 9: no smoke\n","TUTORIAL", 0);
}
if (boxes)
PushToConsole("ModelDebug_DrawBoxes 1");
else
PushToConsole("ModelDebug_DrawBoxes 0");

if (nosky){
PushToConsole("DrawSky 0");


}
else{

PushToConsole("DrawSky 1");

}

if (worldframe){
PushToConsole("WireFrame 1");


}
else{
PushToConsole("WireFrame 0");
}
if (playerframe)
PushToConsole("WireFrameModels 1");
else
PushToConsole("WireFrameModels 0");

if (nogun)
PushToConsole("DrawGuns 0");

else
PushToConsole("DrawGuns 1");

if (skele)
PushToConsole("ModelDebug_DrawSkeletons 1");


else
PushToConsole("ModelDebug_DrawSkeletons 0");

if(smoke){
PushToConsole("DrawParticles 0");
}
else{
PushToConsole("DrawParticles 1");
}
Sleep(100);
}
}

bool Ready(void)
{
if( GetModuleHandleA("CShell.dll")!= NULL){
return true;
}
else {
return false;
}
}

DWORD WINAPI ThreadofLeet(LPVOID)
{
while (!Ready())//while not ready
Sleep(250);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Main, NULL, NULL, NULL);
return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
MessageBoxA(0, "TUT","TUT", 0);
CreateThread(NULL, NULL, ThreadofLeet, NULL, NULL, NULL);
}
return TRUE;
}

ok lets break this down

ok well first we got our includes wewt
Code:
#include <windows.h>
#include <stdio.h>
now we have the all famous no skill ptc hack
Code:
void __cdecl PTC(char* Command )
{
	DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
	if( dwCShell != NULL )
	{
		DWORD *LTClient = ( DWORD* )( (dwCShell + 0x28BCE0) );
		void* C_ll = ( void* )*( DWORD* )( *LTClient + 0x1F8 );
		_asm
		{
			push Command;
			call C_ll;
			add esp, 4;
		}
	}
}
ok well you see
Code:
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
now you guys of course should know what a Dword is and such but if you dont understand the module handle
pretty much the (DWORD) is converting in ways the Value of GetModuleHandle("CShell.dll") to a Double Word
and assigning that value to our Double word dw(double word)CShell
Code:
if( dwCShell != NULL )
here we check to make sure that the hack correctly got the module handle of CShell if it is null then it failed
Code:
		_asm
		{
			push Command;
			call C_ll;
			add esp, 4;
		}
	}
inline asm as im sure you all reconze here we just push the command and call the virtual function

Code:
bool Ready(void)
{
    if( GetModuleHandleA("CShell.dll")!= NULL){
        return true;
}
else {
    return false;
}
}
make sure that CShell has loaded and is loaded correctly
Code:
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
	DisableThreadLibraryCalls(hDll);
	if ( dwReason == DLL_PROCESS_ATTACH )
	{
		MessageBoxA(0, "TUT","TUT", 0);
		CreateThread(NULL, NULL, ThreadofLeet, NULL, NULL, NULL);
	}
	return TRUE;
}
the main DLL....
Code:
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Main, NULL, NULL, NULL);
create the Main thread
You keep on doing the same mistakes with the bools and you blame on "xTrap blocking hotkeys"
You only changed the LTC:
dwCShell + 0x28BCE0

The old one works fine btw....
Or was there an update?

No there was no update and here xp cshell:


uhhhh:



PTC and PushToConsole..... omg xD

I updated all and what do I get.. error error.... becouse the LTC is from an other game.
XD nice worm but i dont understand ...
i told you guys that 1 i havnt updated it for the latest patch because i dont have a cshell
magic what are you talking about ? works fine for me
1: Convert PTC in PushToConsole
2: Use 0x28BCE0
Quote Originally Posted by lauwy View Post
1: Convert PTC in PushToConsole
2: Use 0x28BCE0

/toshort msg
Quote Originally Posted by lauwy View Post
1: Convert PTC in PushToConsole
2: Use 0x28BCE0
or you could convert PushToConsole to PTC also once again i told you i didnt update addies
Hmm i trying to make hack but i got error ??/ why
Quote Originally Posted by mrkiller2010 View Post
hmm ask him updateeee
omg would you guys listen!
number one this is for you to learn
number two there are purpose errors because i wanted this to be for learning not using
number three ill update my hacks when i update my hacks until then get over it!
number four if someone once to give me an unpacked Cshell so i can view on my 64 until then youll have to wait until i decide to move cshell over to my vista to view it
I only can give you a xp 32bit cshell.

@mr
Fix it your self. It's so easy xD
Posts 1–12 of 12 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Talk with us