This hack allows your mage to teleport as often as you want, the resource doesn´t get used
MageTeleportHack.exe - Speedy Share - upload your files here
If you are afraid of keyloggers/virus/etc. feel free to download any C++ IDE and compile the following sourcecode by yourself
Enjoy
Code:
#include <Windows.h>
#include <iostream>
#include <tlhelp32.h>
#include <tchar.h>
using namespace std;
HWND windowhandle=0;
DWORD modulebase=0;
HANDLE hopen=0;
HANDLE prozessauf();
DWORD GetModuleBase(LPSTR lpModuleName);
DWORD getadr(DWORD address, HANDLE hopen);
void setadr(DWORD address, int value, HANDLE hopen);
int main()
{
SetConsoleTitle("Neverwinter - Mageteleporthack - by Dragonef22");
cout<<"Updated for 21.05.2013";
while(true)
{
hopen=prozessauf();
modulebase=GetModuleBase("GameClient.exe");
DWORD adress=0;
DWORD teleportadress=0;
adress=adress+modulebase+0x024F50B0; // GameClient.exe+startoffset
adress=getadr(adress,hopen);
adress=adress+0x244; // Offset Nr. 0
adress=getadr(adress,hopen);
adress=adress+0x6f8; // Offset Nr. 1
adress=getadr(adress,hopen);
adress=adress+0x18; // Offset Nr. 2
adress=getadr(adress,hopen);
adress=adress+0x9c; // Offset Nr. 3
adress=getadr(adress,hopen);
teleportadress=adress+0x244; // Teleportresource
// Full Teleportresource = 1120403456 - set it
setadr(teleportadress,1120403456,hopen);
Sleep(1);
}
}
HANDLE prozessauf()
{
HWND hwar3=::FindWindow(NULL,"Neverwinter");
DWORD PID, TID;
TID = ::GetWindowThreadProcessId (hwar3, &PID);
HANDLE hopen=OpenProcess( PROCESS_ALL_ACCESS|PROCESS_TERMINATE |PROCESS_VM_READ|
PROCESS_VM_WRITE,FALSE,PID);
return hopen;
}
DWORD GetModuleBase(LPSTR lpModuleName)
{
DWORD dwProcessId,TID;
HWND hwar3=::FindWindow(NULL,"Neverwinter");
TID = ::GetWindowThreadProcessId (hwar3, &dwProcessId);
MODULEENTRY32 lpModuleEntry = {0};
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);
if(!hSnapShot)
return 0;
lpModuleEntry.dwSize = sizeof(lpModuleEntry);
BOOL bModule = Module32First( hSnapShot, &lpModuleEntry );
while(bModule)
{
if(!strcmp( lpModuleEntry.szModule, lpModuleName ) )
{
CloseHandle(hSnapShot);
return (DWORD)lpModuleEntry.modBaseAddr;
}
bModule = Module32Next( hSnapShot, &lpModuleEntry );
}
CloseHandle( hSnapShot );
return 0;
}
// Value eines Adresswerts auslesen
DWORD getadr(DWORD address, HANDLE hopen)
{
int value =0;
ReadProcessMemory(hopen,(void*)address,&value,sizeof(value),0);
return value;
}
void setadr(DWORD address, int value, HANDLE hopen)
{
WriteProcessMemory(hopen, (LPVOID*)(DWORD) (address), &value, sizeof(value), NULL);
return;
}