1. Open Microsoft Visual Studio, or Visual C++ Express:
2. Go to File > New > Project.
3. Select 'Win32 Project' as your project type.
4. In the next dialog, go to setting and check 'DLL', and 'Empty Project'.
5. Write your code.
6. Go to Build > Build Solution.
Code:
//includes all nessecary files to this source
#include <windows.h>
//End of includes
//This is what you call globals.
int HackOn = 0;
//Define HackOn as a number, and that numebr is zero.
int HackMax = 10;
//Define HackMax as a number, and that number is ten.
bool test = false;
//Define test as a true/false. "Boolean"
#define ADDR_SBULLLETS 0x374BBF16
//The definition of ADDR_SBULLETS
//End of Globals
void Main (void)
{
while(1)
//Makes an infinite loop. One that doesn't end.
{
if(GetAsyncKeyState(VK_NUMPAD1)&1)
//When Numpad1 Gets Pressed
{
test = (!test);
//if test = false, turn to true and vice versa
}
if(GetAsyncKeyState(VK_NUMPAD2)&1)
//When Numpad2 Gets Pressed.
{
HackOn ++;
//Adds +1 to the variable, "HackOn"
if(HackOn == HackMax) HackOn = 0;
//When Hackon Reaches the number HackMax, it resets HackOn to 0
}
if(test)
//if test is true
{
memcpy( (PBYTE)ADDR_SBULLLETS, (PBYTE)"\x33\xC0\x90", 3 );
//look in globals for the definition of ADDR_SBULLETS
//Basically, it edits the bytes of the memory to "\x33\xC0\x90".
//The number at the end, tells you how many bytes you are editing.
//The first part, ADDR_SBULLETS Shows the code which part of the memory we are editing.
}else{
//if test is not true
memcpy( (PBYTE)ADDR_SBULLLETS, (PBYTE)"\x0F\x94\xC0", 3 );
//look in globals for the definition of ADDR_SBULLETS
//Basically, it edits the bytes of the memory to "\x0F\x94\xC0".
//The number at the end, tells you how many bytes you are editing.
//The first part, ADDR_SBULLETS Shows the code which part of the memory we are editing.
}
}
}
DWORD WINAPI Lesson (LPVOID)
// This is just a dummy function that will be the code activate the main thread
{
Main();
//Call the thread called Main
return 1;
//Finish of the thread.
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
// DllMain is an optional function for you to declare.
// It serves as the entry point for any DLL
{
DisableThreadLibraryCalls(hDll);
// Make a call to DisableThreadLibraryCalls with the hModule variable
// as its argument; Doing this is an optimization trick to prevent
// needless thread attach/detach messages from triggering further calls
// to our DllMain function.
if ( dwReason == DLL_PROCESS_ATTACH )
{
//When this dll is injected into the process. this is what the dll is supposed to do.
// Null, in C Plus Plus, nothing. It is defined as 0
CreateThread(NULL, NULL, Lesson, NULL, NULL, NULL);
//It creates the thread called "Lesson" which is defined a few lines up. DWORD WINAPI Lesson (LPVOID)
}
return TRUE;
// Although the return value doesn't actually matter. You return the value TRUE or FALSE indicatinng success or failure.
This is not my TUT but a copy from the net, i could not be stuffed writing it all out ok. credits to elite...
This for your nubs out there that want to copy n paste code that works, and want to make your own dll for injecting ok. have fun and thanks.
it's code but used and detected so if you get a code for a complete hack like esp etc etc, copy n paste do the thing with c++ and bingo you have your own Dll file ready to deal death and destruction online...
lol you can't even use [CODE] brackets?
let the shitty c+p'ing begin i guess