Hi, people!
I use Jeff's Undetected CrossFire Base and today it's got detected by X-Trap (abnormal memory access blah blah...)
This is the full code for NoReload, please look:
hacks.h:
Code:
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
class cWeaponMgr
{
public:
static const DWORD NRLD = 0x269C;
};
class cH4cks
{
public:
bool R34dyF0rH4cks();
DWORD GetAddressFromOffset(DWORD Base, DWORD Offset);
cWeaponMgr* WeaponMgr;
cH4cks();
~cH4cks();
private:
#define WeaponMgrOffset 0xA69120
DWORD dwWeaponMgr;
};extern class cH4cks* H4cks;
hacks.cpp:
Code:
#include "Hacks.h"
cH4cks* H4cks;
cH4cks::cH4cks()
{
DWORD CShell = (DWORD) GetModuleHandleA("CShell.dll");
if(!CShell) return;
dwWeaponMgr = *(DWORD*)GetAddressFromOffset(CShell, WeaponMgrOffset);
if ( dwWeaponMgr )
{
for ( int i = 0; i < 560; i++ )
{
DWORD Weapon = *(DWORD*)GetAddressFromOffset(dwWeaponMgr, (4*i));
if ( Weapon )
{
*(float*)GetAddressFromOffset(Weapon, WeaponMgr->NRLD) = 999;
}
}
}
else
return;
}
bool cH4cks::R34dyF0rH4cks()
{
if(GetModuleHandleA("CShell.dll") != NULL && GetModuleHandleA("ClientFX.fxd") != NULL && GetModuleHandleA("crossfire.exe") != NULL)
return true;
return false;
}
DWORD cH4cks::GetAddressFromOffset(DWORD Base, DWORD Offset)
{
if(Base)
return (Base + Offset);
else
return NULL;
}
main.cpp:
Code:
#include "Hacks.h"
BOOL WINAPI W4itF0rG4m3L1bs(LPVOID)
{
try
{
if(!H4cks->R34dyF0rH4cks()) throw 1;
}
catch (int error)
{
switch (error)
{
case 1:
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)W4itF0rG4m3L1bs, NULL, NULL, NULL);
return false;
default:
return false;
}
}
H4cks = new cH4cks();
return true;
}
BOOL WINAPI DllMain(HINSTANCE Instance, DWORD Reason, LPVOID Reserved)
{
if (Reason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(Instance);
MessageBox(0,0,0,0);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)W4itF0rG4m3L1bs, 0, 0, 0);
}
return true;
}
As you can see, I try to change some string, but it's not help. Help me guys pls, it's very important. What i need to change to make it work again?
Also, you can look at attachments. To compile dll i use MSVS 2010.