Hello there,

Decided to release a memory based ArmA 3 menu I don't use anymore.

Features:

  • Unlock Car
  • No Grass
  • Thermal Vision
  • Car God
  • No Fatigue
  • Night Vision
  • God Mode
  • Teleport
  • Speed Hack
  • Script Execution

Speed Hack is not working. Everything else needs offset update.
To execute your script you need to place your .sqf in ArmA3 directory and name it insanity.sqf. Hold left arrow, open your map and insert a marker.

Code:

// dllmain.cpp : Defines the entry point for the DLL application.
#include
#include "MD5.h"
#include
#include
#include
#include


using namespace std;
bool Thermale = false;
bool GodModee = false;
bool Care = false;
bool NVe = false;
bool fate = false;
bool Carge = false;
bool grasse = false;
DWORD INSANITYBASE = (DWORD)GetModuleHandle("arma3.exe");
DWORD World = INSANITYBASE + 0x15FD338;

bool comp(BYTE* data, PBYTE byte, PCHAR mask) {
for (; *mask; ++mask, ++data, ++byte)
if (*mask == 'x' && *data != *byte)
return false;
return (*mask) == NULL;
}

DWORD SCAN(PBYTE byte, PCHAR mask) {
MEMORY_BASIC_INFORMATION mbi;
PCHAR addr = 0;
while (sizeof(mbi) == VirtualQuery(addr, &mbi, sizeof(mbi))) {
addr += mbi.RegionSize;
if (mbi.RegionSize < strlen(mask)) continue;
if (mbi.State != MEM_COMMIT) continue;
if (mbi.Type != MEM_PRIVATE) continue;
if (mbi.AllocationProtect != PAGE_READWRITE) continue;
if (mbi.Protect & (PAGE_GUARD | PAGE_NOCACHE | PAGE_NOACCESS)) continue;
mbi.RegionSize -= strlen(mask);
for (DWORD i = (DWORD)mbi.BaseAddress; i < (DWORD)mbi.BaseAddress + mbi.RegionSize; i++) {
if (comp((BYTE*)(i), byte, mask)) {
return(i);
}
}
}
return 0;
}

DWORD INSANITYMain(){
DWORD ADRESS = SCAN((PBYTE)"\x5B\x22\x6F\x6E\x4C\x6F\x61\x64\x22\ x2C\x5F\x74\x68\x69\x73\x2C\x22\x52\x73\x63\x44\x6 9\x73\x70\x6C\x61\x79\x49\x6E\x73\x65\x72\x74\x4D\ x61\x72\x6B\x65\x72\x22\x2C\x27\x47\x55\x49\x27\x5 D\x20\x63\x61", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x");
DWORD ADRESS2 = SCAN((PBYTE)"\x5B\x22\x6F\x6E\x4C\x6F\x61\x64\x22\ x2C\x5F\x74\x68\x69\x73\x2C\x22\x52\x73\x63\x44\x6 9\x73\x70\x6C\x61\x79\x49\x6E\x73\x65\x72\x74\x4D\ x61\x72\x6B\x65\x72\x22\x2C\x27\x47\x55\x49\x27\x5 D\x20\x63\x61", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x");
char NEWL[] = "[\"onLoad\",_this,\"RscDisplayInsertMarker\",'GU I'] call compile preprocessfilelinenumbers \"insanity.sqf\"";
char OLDL[] = "[\"onLoad\",_this,\"RscDisplayInsertMarker\",'GU I'] call (uinamespace getvariable 'BIS_fnc_initDisplay')";
AllocConsole();
freopen("CONOUT$", "w", stdout);
std::cout