vmread
MisterY52 4 years ago
parent 409facb7e4
commit 199614a0c6

@ -2,5 +2,6 @@
Apex Legends QEMU/KVM hack
UnknownCheats thread: https://www.unknowncheats.me/forum/apex-legends/406426-kvm-vmread-apex-esp-aimbot.html
Bone IDs reference: https://www.unknowncheats.me/wiki/Apex_Legends_Bones_and_Hitboxes
Game version (Steam & Origin): v3.0.2.79
Game version (Steam & Origin): v3.0.3.105

@ -2,6 +2,7 @@
extern bool firing_range;
float smooth = 12.0f;
bool aim_no_recoil = true;
int bone = 2;
uint64_t Entity::Observing(WinProcess& mem, uint64_t entitylist)
{
@ -197,16 +198,6 @@ QAngle CalculateBestBoneAim(WinProcess& mem, Entity& from, uintptr_t t, float ma
return QAngle(0, 0, 0);
}
}
Vector EntityPosition = target.getPosition();
Vector LocalPlayerPosition = from.getPosition();
float dist = LocalPlayerPosition.DistTo(EntityPosition);
int bone = 2;
if (dist < 500)
{
bone = 5;
}
Vector LocalCamera = from.GetCamPos();
Vector TargetBonePosition = target.getBonePosition(mem, bone);

@ -34,6 +34,7 @@ extern bool aim_no_recoil;
int safe_level = 0;
bool aiming = false;
extern float smooth;
extern int bone;
bool actions_t = false;
bool esp_t = false;
@ -77,16 +78,21 @@ float lastvis_aim[100];
void ProcessPlayer(WinProcess& mem, Entity& LPlayer, Entity& target, uint64_t entitylist, int index)
{
int entity_team = target.getTeamId();
if (target.Observing(mem, entitylist) == LPlayer.ptr)
{
if (entity_team == team_player)
{
tmp_all_spec++;
}
else
uint64_t obs = target.Observing(mem, entitylist);
if (obs)
{
if(obs == LPlayer.ptr)
{
tmp_spec++;
if (entity_team == team_player)
{
tmp_all_spec++;
}
else
{
tmp_spec++;
}
}
return;
}
Vector EntityPosition = target.getPosition();
Vector LocalPlayerPosition = LPlayer.getPosition();
@ -138,7 +144,7 @@ void DoActions(WinProcess& mem)
std::this_thread::sleep_for(std::chrono::milliseconds(1));
while (g_Base!=0 && c_Base!=0)
{
std::this_thread::sleep_for(std::chrono::milliseconds(200));
std::this_thread::sleep_for(std::chrono::milliseconds(30));
uint64_t LocalPlayer = mem.Read<uint64_t>(g_Base + OFFSET_LOCAL_ENT);
if (LocalPlayer == 0) continue;
@ -563,6 +569,7 @@ static void set_vars(WinProcess& mem, uint64_t add_addr)
uint64_t aim_no_recoil_addr = mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*13);
uint64_t smooth_addr = mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*14);
uint64_t max_fov_addr = mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*15);
uint64_t bone_addr = mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*16);
if(mem.Read<int>(spec_addr)!=1)
{
@ -593,6 +600,7 @@ static void set_vars(WinProcess& mem, uint64_t add_addr)
aim_no_recoil = mem.Read<bool>(aim_no_recoil_addr);
smooth = mem.Read<float>(smooth_addr);
max_fov = mem.Read<float>(max_fov_addr);
bone = mem.Read<int>(bone_addr);
if(esp && next)
{
@ -696,7 +704,7 @@ static void init()
bool apex_found = false;
bool client_found = false;
//Client "add" offset
uint64_t add_off = 0x39870;
uint64_t add_off = 0x3e870;
while(active)
{

@ -6,7 +6,7 @@
#if VERSION == STEAM
#define OFFSET_ENTITYLIST 0x18c7af8
#define OFFSET_LOCAL_ENT 0x1c76fb8 //LocalPlayer
#define OFFSET_NAME_LIST 0x8151950
#define OFFSET_NAME_LIST 0x81518d0
#define OFFSET_TEAM 0x430 //m_iTeamNum
#define OFFSET_HEALTH 0x420 //m_iHealth
@ -29,7 +29,7 @@
#define OFFSET_OBSERVING_TARGET 0x32e0 //m_hObserverTarget
#define OFFSET_MATRIX 0x1b3bd0
#define OFFSET_RENDER 0x4077bd8
#define OFFSET_RENDER 0x4077b58
#define OFFSET_WEAPON 0x1a0c //m_latestPrimaryWeapons
#define OFFSET_BULLET_SPEED 0x1e1c
@ -42,10 +42,9 @@
#define OFFSET_GLOW_T2 0x2c4 //1193322764 = enabled, 0 = disabled
#define OFFSET_GLOW_ENABLE 0x350 //7 = enabled, 2 = disabled
#define OFFSET_GLOW_THROUGH_WALLS 0x360 //2 = enabled, 5 = disabled
#elif VERSION == ORIGIN
#define OFFSET_ENTITYLIST 0x18c7af8
#define OFFSET_LOCAL_ENT 0x1c76fb8 //LocalPlayer
#define OFFSET_NAME_LIST 0x8151950
#define OFFSET_NAME_LIST 0x81518d0
#define OFFSET_TEAM 0x430 //m_iTeamNum
#define OFFSET_HEALTH 0x420 //m_iHealth
@ -68,7 +67,7 @@
#define OFFSET_OBSERVING_TARGET 0x32e0 //m_hObserverTarget
#define OFFSET_MATRIX 0x1b3bd0
#define OFFSET_RENDER 0x4077bd8
#define OFFSET_RENDER 0x4077b58
#define OFFSET_WEAPON 0x1a0c //m_latestPrimaryWeapons
#define OFFSET_BULLET_SPEED 0x1e1c

@ -35,11 +35,12 @@ uint64_t g_Base = 0; //write
float max_dist = 200.0f*40.0f; //read
float smooth = 12.0f;
float max_fov = 15.0f;
int bone = 2;
bool valid = false; //write
bool next = false; //read write
uint64_t add[16];
uint64_t add[17];
bool k_f5 = 0;
bool k_f6 = 0;
@ -134,6 +135,7 @@ int main(int argc, char** argv)
add[13] = (uintptr_t)&aim_no_recoil;
add[14] = (uintptr_t)&smooth;
add[15] = (uintptr_t)&max_fov;
add[16] = (uintptr_t)&bone;
printf(XorStr("add offset: 0x%I64x\n"), (uint64_t)&add[0] - (uint64_t)GetModuleHandle(NULL));
Overlay ov1 = Overlay();
ov1.Start();

@ -13,6 +13,7 @@ extern int allied_spectators;
extern float max_dist;
extern float smooth;
extern float max_fov;
extern int bone;
int width;
int height;
bool k_leftclick = false;
@ -117,7 +118,7 @@ void Overlay::RenderMenu()
all_spec_disable = false;
}
ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2(490, 190));
ImGui::SetNextWindowSize(ImVec2(490, 215));
ImGui::Begin(XorStr("##title"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar);
if (ImGui::BeginTabBar(XorStr("Tab")))
{
@ -182,6 +183,9 @@ void Overlay::RenderMenu()
ImGui::Text(XorStr("Max FOV:"));
ImGui::SliderFloat(XorStr("##3"), &max_fov, 5.0f, 250.0f, "%.2f");
ImGui::Text(XorStr("Aim at (bone id):"));
ImGui::SliderInt(XorStr("##4"), &bone, 0, 175);
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem(XorStr("Visuals")))
@ -341,14 +345,7 @@ DWORD Overlay::CreateOverlay()
if (IsKeyDown(VK_INSERT) && !k_ins && ready)
{
show_menu = !show_menu;
if (show_menu)
{
ClickThrough(false);
}
else
{
ClickThrough(true);
}
ClickThrough(!show_menu);
k_ins = true;
}
else if (!IsKeyDown(VK_INSERT) && k_ins)

Loading…
Cancel
Save