Every time i compile this thing i got this
fatal error LNK1169: one or more multiply defined symbols found
is the problem is the header .h? or just me trying to re-code this code
fatal error LNK1169: one or more multiply defined symbols found
is the problem is the header .h? or just me trying to re-code this code
Code:
// Test v1.cpp : Defines the exported functions for the DLL application.
//
#include "stdafx.h"
//includes all nessecary files to this source
#include <windows.h>
//End of includes
//This is what you call globals.
int TestOn = 0;
//Define HackOn as a number, and that numebr is zero.
int TestMax = 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.
{
TestOn ++;
//Adds +1 to the variable, "HackOn"
if(TestOn == TestMax) TestOn = 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.
}