Code:
/*
* DLL Skeleton Code Made By Marneus901/Circadian
* This is nothing more than a skeleton, nothing is useful
* Until you start coding some functions.
* Please dont take credit for this
***Shoutouts to
*Mrk/Mtk/Novocain - Great Help. Were are you nowadays!!?
*Fate - Gave me ModifyMemory
*Prometheus - Great Freind
*Josh/1337 - Great Freind
*Keith/Sychotix - Great Freind
***
*/
/*
Hotkey/Feature list:
Zoom Hack - Numpad Decimal (.)
Z Coord up - Numpad 7
Z Coord down - Numpad 9
Y Coord up - Numpad 8
Y Coord down - Numpad 2
X Coord up - Numpad 6
X Coord down - Numpad 4
Instant Rez - Numpad 1
No Fall Damage - Numpad 3 - Double check its on before taking a big plunge
Float - Numpad 5
Speedhack on - F1
Speedhack off - F2 - May need to press a few times to get it to recognize
Sprint Speedhack - F3
Teleport to Target - F5 - Pointers Changed. Wont work
Jumphack - F4
Instant Takeoff - Always On
Enable Debug Commands - Always On
*/
#include "StdAfx.h"
#define BRACK( ADDR ) (*(PDWORD)(ADDR)) //Credits go to L. Spiro
void Main();
//**************************************************************************************************
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
DWORD ThreadId;
if (fdwReason == DLL_PROCESS_ATTACH) {
DisableThreadLibraryCalls((HMODULE)hinstDLL);
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&Main, 0, 0, &ThreadId);
}
return true;
}
//***************************************************************************************************\\
//Thanks To Fate/////////////////////////////////////////////////////
//------------------------------
//Write To Memory
DWORD OldProtection;
void WriteToMemory(DWORD Offset, DWORD Pointer, DWORD Length){
VirtualProtect((void *)Offset, Length, PAGE_EXECUTE_READWRITE, &OldProtection);
RtlMoveMemory((void *)Offset, (const void*)Pointer, Length);
VirtualProtect((void *)Offset, Length, OldProtection, &OldProtection);
}
//------------------------------
//Modify Memory
void ModifyMemory( BYTE *Offset, BYTE *ByteArray, DWORD Length){
for(DWORD i = 0; i < Length; i++)
WriteToMemory((DWORD)Offset + i, (DWORD)ByteArray + i, 1);
}
//------------------------------
//Defined Addresses
#define maxcam 0xE8A1A2
#define floating 0x1218C32
#define notauth 0x989AB2
//------------------------------
//Edits
BYTE jmp[] = {0xEB, 0x05};
BYTE jne[] = {0x75, 0x03};
BYTE je[] = {0x74, 0x03};
BYTE jbe[] = {0x76, 0x05};
BYTE authjne[] = {0x75, 0x29};
BYTE authjmp[] = {0xEB, 0x29};
/////////////////////////////////////////////////////////////////////
//------------------------------
//Variables
int yuploop = 0;
int ydownloop = 0;
int speedon = 0;
int nofallon = 0;
float xdead;
float ydead;
float zdead;
int rezloop = 0;
int speedhackon;
int sleeptimer = 0;
int floaton = 0;
int camhack = 0;
int sspeed = 0;
int jhack = 0;
void Main(){
//Messagebox to help show a successful Injection.
MessageBox (0, "Created by Sychotix @ mmowned.com\nI am NOT responsible for what you do with this, nor if you get banned.\n\nBy using this dll, you are agreeing to these terms.", "AoCDebug v2.0", MB_ICONINFORMATION);
ModifyMemory((BYTE*)notauth, authjmp, 2);
for(;;){
//--------------------------------------------------
//Z Coord
//UP on Numpad 7
if(GetAsyncKeyState(VK_NUMPAD7) < 0)
{
PFLOAT zcoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x30);
(*zcoord) += 2.0f;
Sleep(100);
}
//Down on Numpad 9
if(GetAsyncKeyState(VK_NUMPAD9) < 0)
{
PFLOAT zcoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x30);
(*zcoord) -= 2.0f;
Sleep(100);
}
//--------------------------------------------------
//Y Coord
//UP on Numpad 8
if(GetAsyncKeyState(VK_NUMPAD8) < 0)
{
PFLOAT ycoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x34);
(*ycoord) += 2.0f;
Sleep(100);
}
//Down on Numpad 2
if(GetAsyncKeyState(VK_NUMPAD2) < 0)
{
PFLOAT ycoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x34);
(*ycoord) -= 2.0f;
Sleep(100);
}
//--------------------------------------------------
//X Coord
//UP on Numpad 6
if(GetAsyncKeyState(VK_NUMPAD6) < 0)
{
PFLOAT xcoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x2C);
(*xcoord) += 2.0f;
Sleep(200);
}
//Down on Numpad 4
if(GetAsyncKeyState(VK_NUMPAD4) < 0)
{
PFLOAT xcoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x2C);
(*xcoord) -= 2.0f;
Sleep(200);
}
//--------------------------------------------------
//Speedhack
if(GetAsyncKeyState(VK_F1) < 0)
{
speedhackon = 1;
while (speedhackon == 1) {
PFLOAT fspeed = (PFLOAT)(BRACK( 0x0189C478 ) + 0x18C);
PFLOAT bspeed = (PFLOAT)(BRACK( 0x0189C478 ) + 0x198);
(*fspeed) = 10.0f;
(*bspeed) = 10.0f;
while (sleeptimer != 16) {
Sleep(500);
sleeptimer++;
if(GetAsyncKeyState(VK_F2) < 0) {
sleeptimer = 16;
speedhackon = 0;}
}
(*fspeed) = 5.0f;
(*bspeed) = 3.0f;
Sleep(2500);
if(GetAsyncKeyState(VK_F2) < 0) {
speedhackon = 0;}
sleeptimer = 0;
}
Sleep(100);
}
////--------------------------------------------------
//Instant Rez
if(GetAsyncKeyState(VK_NUMPAD1) < 0)
{
PFLOAT ycoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x34);
PFLOAT xcoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x2C);
PFLOAT zcoord = (PFLOAT)(BRACK( 0x0189C478 ) + 0x30);
ydead = (*ycoord);
xdead = (*xcoord);
zdead = (*zcoord);
while ( rezloop !=50){
(*ycoord) = ydead;
(*xcoord) = xdead;
(*zcoord) = zdead;
rezloop++;
Sleep(100);
}
rezloop = 0;
}
/*Teleport to Target
if(GetAsyncKeyState(VK_F5) < 0)
{
PFLOAT ycoord = (PFLOAT)(BRACK( 0x015652C0 ) + 0x34);
PFLOAT xcoord = (PFLOAT)(BRACK( 0x015652C0 ) + 0x2C);
PFLOAT zcoord = (PFLOAT)(BRACK( 0x015652C0 ) + 0x30);
PFLOAT targety = (PFLOAT)(BRACK( 0x02125190 ) + 0x38);
PFLOAT targetx = (PFLOAT)(BRACK( 0x02125190 ) + 0x30);
PFLOAT targetz = (PFLOAT)(BRACK( 0x02125190 ) + 0x34);
(*ycoord) = ((*targety) - 1.0f);
(*xcoord) = ((*targetx) - 1.0f);
(*zcoord) = ((*targetz) - 3.0f);
}
*/
//Float
if(GetAsyncKeyState(VK_NUMPAD5) < 0) {
if (floaton == 0) {
ModifyMemory((BYTE*)floating, jne, 2);
floaton = 1;
}
else if (floaton == 1) {
ModifyMemory((BYTE*)floating, je, 2);
floaton = 0;
}
Sleep(100);
}
//Turn CameraHack on
if(GetAsyncKeyState(VK_DECIMAL) < 0)
{ if (camhack == 0) {
ModifyMemory((BYTE*)maxcam, jmp, 2);
camhack = 1;}
else if (camhack == 1) {
ModifyMemory((BYTE*)maxcam, jbe, 2);
camhack = 0;}
}
//Turn Sprint Speedhack on
if(GetAsyncKeyState(VK_F3) < 0)
{ if (sspeed == 0) {
PFLOAT sspeedhack = (PFLOAT)(BRACK( 0x0189C478 ) + 0x190);
(*sspeedhack) = 10.0f;
sspeed = 1;}
else if (sspeed == 1) {
PFLOAT sspeedhack = (PFLOAT)(BRACK( 0x0189C478 ) + 0x190);
(*sspeedhack) = 8.0f;
sspeed = 0;}
}
//Turn Nofall on
if(GetAsyncKeyState(VK_NUMPAD3) < 0)
{ if (nofallon == 0) {
nofallon = 1;}
else if (nofallon == 1) {
nofallon = 0;}
}
//Turn Jump Hack on
if(GetAsyncKeyState(VK_F4) < 0)
{ if (jhack == 0) {
jhack = 1;}
else if (jhack == 1) {
jhack = 0;}
}
//Edit Nofall
if(nofallon == 1){
PFLOAT nofall = (PFLOAT)(BRACK( 0x0189C478 ) + 0x184);
(*nofall) = 0.0f;
}
//Edit Jump Hack
if(jhack == 1){
PFLOAT jhack = (PFLOAT)(BRACK( 0x0189C478 ) + 0x1B8);
(*jhack) = 4.0f;
}
//Instant Takeoff
PFLOAT itakeoff = (PFLOAT)(BRACK( 0x0189C478 ) + 0x1A8);
(*itakeoff) = 0.0f;
Sleep(100);
} //End for loop
} //End Main function
//--------------------------------------------------