fffffffffffffffffff

This commit is contained in:
nullifiedcat 2016-11-15 15:45:41 +03:00
parent ee88238e4f
commit 8d34f148e5
27 changed files with 495 additions and 59 deletions

View File

@ -2,7 +2,7 @@
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1168214098">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" moduleId="org.eclipse.cdt.core.settings" name="TF2">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/UranHack"/>
@ -23,7 +23,7 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="so" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
<configuration artifactExtension="so" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="TF2" parent="cdt.managedbuild.config.gnu.exe.debug">
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1168214098." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.965909756" name="Linux GCC" nonInternalBuilderId="cdt.managedbuild.target.gnu.builder.exe.debug" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1799148153" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
@ -44,6 +44,9 @@
<listOptionValue builtIn="false" value="/home/nullifiedcat/open-steamworks/osw"/>
</option>
<option id="gnu.cpp.compiler.option.other.verbose.1509393088" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="gnu.cpp.compiler.option.preprocessor.def.116822749" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="TF2"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.236333340" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1506529605" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
@ -140,6 +143,96 @@
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305" moduleId="org.eclipse.cdt.core.settings" name="HL2DM">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/uran"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/uran/HL2DM"/>
<entry flags="RESOLVED" kind="libraryFile" name="uran" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="so" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305" name="HL2DM" parent="cdt.managedbuild.config.gnu.exe.debug">
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1687950157" name="Linux GCC" nonInternalBuilderId="cdt.managedbuild.target.gnu.builder.exe.debug" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1664851496" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
<builder buildPath="${workspace_loc:/uran}/Debug" id="cdt.managedbuild.target.gnu.builder.exe.debug.1805097636" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1282009968" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.377459983" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.444401835" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.994200847" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.default" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.dialect.std.1348318692" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.c++11" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.other.other.682426426" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" useByScannerDiscovery="false" value="-c -shared -Wall -Wno-unknown-pragmas -fmessage-length=0 -m32" valueType="string"/>
<option id="gnu.cpp.compiler.option.other.pic.854897285" name="Position Independent Code (-fPIC)" superClass="gnu.cpp.compiler.option.other.pic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="gnu.cpp.compiler.option.include.paths.1698459031" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/public"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/mathlib"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/common"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/public/tier1"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/public/tier0"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/open-steamworks/osw"/>
</option>
<option id="gnu.cpp.compiler.option.other.verbose.1101234728" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="gnu.cpp.compiler.option.preprocessor.def.1794184358" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
<listOptionValue builtIn="false" value="GAME_HL2"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1933705519" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1250453992" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1441526338" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
<option id="gnu.c.compiler.exe.debug.option.debugging.level.1646984605" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="gnu.c.compiler.option.dialect.std.851548317" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
<option id="gnu.c.compiler.option.misc.other.130979950" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fmessage-length=0 -shared -m32" valueType="string"/>
<option id="gnu.c.compiler.option.misc.pic.699772682" name="Position Independent Code (-fPIC)" superClass="gnu.c.compiler.option.misc.pic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.528018542" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.141517221" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug">
<option defaultValue="true" id="gnu.c.link.option.shared.858466780" name="Shared (-shared)" superClass="gnu.c.link.option.shared" valueType="boolean"/>
</tool>
<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.2004012769" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
<option id="gnu.cpp.link.option.libs.1784194570" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" useByScannerDiscovery="false" valueType="libs">
<listOptionValue builtIn="false" value="vstdlib"/>
<listOptionValue builtIn="false" value=":libc.so.6"/>
<listOptionValue builtIn="false" value=":libstdc++.so.6"/>
<listOptionValue builtIn="false" value="tier0"/>
</option>
<option defaultValue="true" id="gnu.cpp.link.option.shared.498201529" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" useByScannerDiscovery="false" valueType="boolean"/>
<option id="gnu.cpp.link.option.flags.451119206" name="Linker flags" superClass="gnu.cpp.link.option.flags" useByScannerDiscovery="false" value="-m32 -fno-gnu-unique -D_GLIBCXX_USE_CXX11_ABI=0" valueType="string"/>
<option id="gnu.cpp.link.option.paths.1006881276" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;/home/nullifiedcat/.steam/steam/steamapps/common/Team Fortress 2/bin&quot;"/>
</option>
<option id="gnu.cpp.link.option.nodeflibs.1073691054" name="Do not use default libraries (-nodefaultlibs)" superClass="gnu.cpp.link.option.nodeflibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="gnu.cpp.link.option.nostdlibs.493909650" name="No startup or default libs (-nostdlib)" superClass="gnu.cpp.link.option.nostdlibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.523877278" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.174257526" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
<option id="gnu.both.asm.option.include.paths.1471578127" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths"/>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1386541135" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="copypasted|mem|sdk|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="mem" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="UranHack.cdt.managedbuild.target.gnu.exe.1493648584" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>

3
uran/.gitignore vendored
View File

@ -4,4 +4,5 @@
/Debug/objects.mk
/Debug/sources.mk
/Debug/
/src_/
/src_/
/TF2/

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="Debug">
<configuration id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="TF2">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
@ -22,4 +22,15 @@
</provider>
</extension>
</configuration>
<configuration id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305" name="HL2DM">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-583682204379314874" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
</project>

View File

@ -1,6 +1,4 @@
killsay
ESP: Box, bones
ESP: bones
TRIGGER: Amby charge
TRIGGER: Ignore vaccinator
@ -8,7 +6,6 @@ Priority FIX
OPTIMIZE
Buildings aimbot
priority system
proper player struct
optimize
buildings aim
@ -19,13 +16,17 @@ priority system
Target system respect mannpower powerups
Aimbot charge detection respect powerups
Entity::AddEntityString
huntsman aim fix
minigun aim fix
ignore SB
no flinch
Sapped buildings ESP
AimBest
optimize
Glow Objects
remove magic numbers
actual ammo box esp
no trigger/aim vacc uber
LINES (trace crshr->enemy)
"legit" esp mode
disg spy aim
SPY ALERT

View File

@ -79,7 +79,7 @@ ESPStringCompound::ESPStringCompound() {
void draw::Initialize() {
draw::font_handle = interfaces::surface->CreateFont();
draw::font_handle_large = interfaces::surface->CreateFont();
interfaces::surface->SetFontGlyphSet(draw::font_handle, "Ubuntu Mono Bold", 17, 500, 0, 0, 0x200);
interfaces::surface->SetFontGlyphSet(draw::font_handle, "Tahoma", 16, 400, 0, 0, 0x200); // Ubuntu Mono Bold
interfaces::surface->SetFontGlyphSet(draw::font_handle_large, "TF2 BUILD", 32, 500, 0, 0, 0x200);
}
@ -105,7 +105,7 @@ void draw::DrawString(int x, int y, Color color, bool center, const char* text,
x -= (l / 2);
}
draw::GetStringLength((char*)text, l, h);
draw::DrawRect(x, y + 1, l, h - 5, colors::black);
draw::DrawRect(x - 1, y + 1, l + 1, h - 5, colors::black);
draw::DrawString(draw::font_handle, x, y, color, string);
}

View File

@ -32,6 +32,15 @@ void EntityVariables::Init() {
this->iHitboxSet = gNetvars.get_offset("DT_BaseAnimating", "m_nHitboxSet");
this->vVelocity = gNetvars.get_offset("DT_BasePlayer", "localdata", "m_vecVelocity[0]");
this->bGlowEnabled = gNetvars.get_offset("DT_TFPlayer", "m_bGlowEnabled");
this->iReloadMode = gNetvars.get_offset("DT_TFWeaponBase", "m_iReloadMode");
this->iMaxHealth = gNetvars.get_offset("DT_TFPlayerResource", "m_iMaxHealth");
this->flNextAttack = gNetvars.get_offset("DT_BaseCombatCharacter", "bcc_localdata", "m_flNextAttack");
this->iNextMeleeCrit = gNetvars.get_offset("DT_TFPlayer", "m_Shared", "m_iNextMeleeCrit");
this->flNextPrimaryAttack = gNetvars.get_offset("DT_BaseCombatWeapon", "LocalActiveWeaponData", "m_flNextPrimaryAttack");
this->iNextThinkTick = gNetvars.get_offset("DT_BaseCombatWeapon", "LocalActiveWeaponData", "m_nNextThinkTick");
this->flReloadPriorNextFire = gNetvars.get_offset("DT_TFWeaponBase", "LocalActiveTFWeaponData", "m_flReloadPriorNextFire");
this->flObservedCritChance = gNetvars.get_offset("DT_TFWeaponBase", "LocalActiveTFWeaponData", "m_flObservedCritChance");
this->nTickBase = gNetvars.get_offset("DT_BasePlayer", "localdata", "m_nTickBase");
}
void InitEntityOffsets() {

View File

@ -53,6 +53,15 @@ public:
offset_t vVelocity;
offset_t bGlowEnabled;
offset_t iGlowIndex;
offset_t iReloadMode;
offset_t iMaxHealth;
offset_t flNextAttack;
offset_t iNextMeleeCrit;
offset_t flNextPrimaryAttack;
offset_t iNextThinkTick;
offset_t flReloadPriorNextFire;
offset_t flObservedCritChance;
offset_t nTickBase;
};
// TODO globals

View File

@ -12,6 +12,7 @@
#include "enums.h"
#include "entity.h"
#include "localplayer.h"
#include "playerresource.h"
#include "helpers.h"
#include "fixsdk.h"
@ -62,6 +63,8 @@ void CachedEntity::Update(int idx) {
m_iTeam = Var<int>(eoffsets.iTeamNum); // TODO
m_bEnemy = (m_iTeam != g_pLocalPlayer->team);
m_bIsVisible = (IsEntityVisible(m_pEntity, 0) || IsEntityVisible(m_pEntity, 4));
m_iHealth = Var<int>(eoffsets.iHealth);
m_iMaxHealth = g_pPlayerResource->GetMaxHealth(m_pEntity);
if (m_bIsVisible) m_lLastSeen = 0;
else m_lLastSeen++;
}

View File

@ -38,6 +38,8 @@ public:
int m_iTeam;
bool m_bAlivePlayer;
bool m_bEnemy;
int m_iMaxHealth;
int m_iHealth;
bool m_bIsVisible;
unsigned long m_lLastSeen;

View File

@ -31,11 +31,13 @@
#include "hacks/HPyroBot.h"
#include "hacks/HAimbot.h"
#include "hacks/AntiAim.h"
#include "hacks/Quickscope.h"
#include "hacks/Misc.h"
#include "usercmd.h"
#include "drawing.h"
#include "entity.h"
#include "localplayer.h"
#include "playerresource.h"
#include <csignal>
@ -117,6 +119,9 @@ bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
return true;
}
if (!cmd) return ret;
g_pPlayerResource->Update();
g_pLocalPlayer->Update();
g_pLocalPlayer->v_OrigViewangles = cmd->viewangles;
gEntityCache.Update();
@ -179,6 +184,33 @@ void hack::Initialize() {
logging::Info("Creating interfaces...");
interfaces::CreateInterfaces();
logging::Info("Interfaces created!");
logging::Info("APPID: %i", interfaces::engineClient->GetAppID());
logging::Info("Dumping NetVars...");
CDumper dumper;
dumper.SaveDump();
logging::Info("Initializing surface...");
draw::Initialize();
logging::Info("Adding hacks...");
SetCVarInterface(interfaces::cvar);
hack::AddHack(new AntiAim());
logging::Info("Quickscoping");
hack::AddHack(new Quickscope());
hack::AddHack(new HBunnyhop());
hack::AddHack(new Misc());
hack::AddHack(new HEsp());
hack::AddHack(new HAimbot());
hack::AddHack(new HTrigger());
//hack::AddHack(new HGlow());
hack::AddHack(new HPyroBot());
ConVar_Register();
logging::Info("Initializing NetVar tree...");
gNetvars.init();
logging::Info("Initializing entity offsets...");
InitEntityOffsets();
g_pLocalPlayer = new LocalPlayer();
g_pPlayerResource = new TFPlayerResource();
logging::Info("Hooking PaintTraverse...");
hooks::hkPaintTraverse = new hooks::VMTHook();
hooks::hkPaintTraverse->Init(interfaces::panel, 0);
@ -190,28 +222,11 @@ void hack::Initialize() {
while(!(clientMode = **(uintptr_t***)((uintptr_t)((*(void***)interfaces::baseClient)[10]) + 1))) {
sleep(1);
}
g_pLocalPlayer = new LocalPlayer();
hooks::hkCreateMove->Init((void*)clientMode, 0);
hooks::hkCreateMove->HookMethod((void*)&hack::Hk_CreateMove, hooks::offCreateMove);
hooks::hkCreateMove->Apply();
logging::Info("Hooked!");
logging::Info("Initializing surface...");
draw::Initialize();
logging::Info("Adding hacks...");
SetCVarInterface(interfaces::cvar);
hack::AddHack(new AntiAim());
hack::AddHack(new HBunnyhop());
hack::AddHack(new HTrigger());
hack::AddHack(new HEsp());
hack::AddHack(new HAimbot());
//hack::AddHack(new HGlow());
hack::AddHack(new HPyroBot());
hack::AddHack(new Misc());
ConVar_Register();
logging::Info("Initializing NetVar tree...");
gNetvars.init();
logging::Info("Initializing entity offsets...");
InitEntityOffsets();
logging::Info("Init done!");
}

View File

@ -55,9 +55,15 @@ void HAimbot::Create() {
}
bool HAimbot::CreateMove(void*, float, CUserCmd* cmd) {
if (!this->v_bEnabled->GetBool()) return true;
if (this->v_bEnabledAttacking->GetBool() && !(cmd->buttons & IN_ATTACK)) {
return true;
}
if (g_pLocalPlayer->bIsReloading) {
return true;
}
if (this->v_bStrictAttack->GetBool() ) {
cmd->buttons = cmd->buttons &~ IN_ATTACK;
}
@ -71,7 +77,7 @@ bool HAimbot::CreateMove(void*, float, CUserCmd* cmd) {
if (g_pLocalPlayer->weapon) {
if (g_pLocalPlayer->weapon->GetClientClass()->m_ClassID == 210) return true;
} /* Grappling hook */
if (!this->v_bEnabled->GetBool()) return true;
//logging::Info("Creating move.. aimbot");
m_bProjectileMode = (GetProjectileData(g_pLocalPlayer->weapon, m_flProjSpeed, m_bProjArc));
if (!this->v_bPriority->GetBool()) {
@ -130,6 +136,7 @@ bool HAimbot::ShouldTarget(IClientEntity* entity) {
char life_state = GetEntityValue<char>(entity, eoffsets.iLifeState);
if (life_state) return false; // TODO magic number: life state
if (!player) return false;
if (v_bRespectCloak->GetBool() && (GetEntityValue<int>(entity, eoffsets.iCond) & cond::cloaked)) return false;
int health = GetEntityValue<int>(entity, eoffsets.iHealth);
if (this->v_bCharge->GetBool() && (GetEntityValue<int>(player, eoffsets.iClass) == 2)) {
int rifleHandle = GetEntityValue<int>(player, eoffsets.hActiveWeapon);
@ -147,6 +154,7 @@ bool HAimbot::ShouldTarget(IClientEntity* entity) {
}
int econd = GetEntityValue<int>(entity, eoffsets.iCond1);
if ((econd & cond_ex::vacc_bullet)) return false;
if (GetRelation(entity) == relation::FRIEND) return false;
if (!m_bProjectileMode) {
Vector hbv;
if (GetHitboxPosition(entity, v_iHitbox->GetInt(), hbv)) return false;

View File

@ -128,7 +128,7 @@ void HEsp::ProcessEntityPT(CachedEntity* ent) {
color = colors::yellow;
break;
}
DrawBox(ent, color, 3.0f, -15.0f, true, ent->Var<int>(eoffsets.iHealth), ClassMaxHealth(ent->Var<int>(eoffsets.iClass)));
DrawBox(ent, color, 3.0f, -15.0f, true, ent->Var<int>(eoffsets.iHealth), ent->m_iMaxHealth);
break;
}
case ClassID::CObjectSentrygun:
@ -238,7 +238,7 @@ void HEsp::ProcessEntity(CachedEntity* ent) {
}
if (pclass > 0 && pclass < 10)
ent->AddESPString(color, "%s", classes[pclass - 1]);
//ent->AddESPString(color, "%i", health);
ent->AddESPString(color, "%i / %i HP", ent->m_iHealth, ent->m_iMaxHealth);
if (pcond & cond::cloaked) {
ent->AddESPString(color, "CLOAKED");
}
@ -262,7 +262,7 @@ void HEsp::ProcessEntity(CachedEntity* ent) {
const char* name = (ent->m_iClassID == 89 ? "Teleporter" : (ent->m_iClassID == 88 ? "Sentry Gun" : "Dispenser"));
color = TEAM_COLORS[ent->Var<int>(eoffsets.iTeamNum)];
ent->AddESPString(color, "LV %i %s", level, name);
//ent->AddESPString(color, "%i HP", health);
ent->AddESPString(color, "%i / %i HP", ent->Var<int>(eoffsets.iBuildingHealth), ent->Var<int>(eoffsets.iBuildingMaxHealth));
if (this->v_bShowDistance) {
ent->AddESPString(color, "%im", (int)(ent->m_flDistance / 64 * 1.22f));
}

View File

@ -98,6 +98,7 @@ bool HTrigger::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
cmd->buttons |= IN_ATTACK;
return true;
}
if (GetRelation(entity) == relation::FRIEND) return true;
if (IsPlayerInvulnerable(entity)) return true;
if (!this->v_bIgnoreCloak->GetBool() &&
((GetEntityValue<int>(entity, eoffsets.iCond)) & cond::cloaked)) return true;

View File

@ -9,6 +9,7 @@
#define IHACK_H_
class CUserCmd;
class ConVar;
#define DECL_HACK \
void Create(); \

View File

@ -11,7 +11,11 @@
#include "../helpers.h"
#include "../drawing.h"
#include "../localplayer.h"
#include "../logging.h"
#include "../interfaces.h"
#include "../entity.h"
#include "../usercmd.h"
#include "../sdk/in_buttons.h"
#include "../fixsdk.h"
#include <icliententity.h>
@ -32,14 +36,43 @@ void CC_Shutdown(const CCommand& args) {
hack::Shutdown();
}
void Misc::Create() {
v_bDbWeaponInfo = CreateConVar("u_misc_debug_weapon", "0", "Debug info: Weapon");
c_SayLine = CreateConCommand("u_say_lines", CC_SayLines, "Uses ^ as a newline character");
c_Shutdown = CreateConCommand("u_shutdown", CC_Shutdown, "Stops the hack");
void CC_AddFriend(const CCommand& args) {
if (args.ArgC() < 1) return;
if (!atoi(args[1])) return;
logging::Info("Adding friend %s", args.Arg(1));
friends[n_friends++] = atoi(args[1]);
}
void CC_AddRage(const CCommand& args) {
if (args.ArgC() < 1) return;
if (!atoi(args[1])) return;
logging::Info("Adding rage %s", args.Arg(1));
rage[n_rage++] = atoi(args[1]);
}
void Misc::Create() {
v_bDbWeaponInfo = CreateConVar("u_misc_debug_weapon", "0", "Debug info: Weapon");
v_bSemiAuto = CreateConVar("u_misc_semiauto", "0", "Force semi-auto");
c_SayLine = CreateConCommand("u_say_lines", CC_SayLines, "Uses ^ as a newline character");
c_Shutdown = CreateConCommand("u_shutdown", CC_Shutdown, "Stops the hack");
c_AddFriend = CreateConCommand("u_addfriend", CC_AddFriend, "Adds a friend");
c_AddRage = CreateConCommand("u_addrage", CC_AddRage, "Adds player to rage list");
}
int sa_switch = 0;
bool Misc::CreateMove(void*, float, CUserCmd* cmd) {
if (v_bSemiAuto->GetBool()) {
if (cmd->buttons & IN_ATTACK) {
if (sa_switch > 5) {
cmd->buttons = cmd->buttons &~ IN_ATTACK;
}
sa_switch++;
} else {
sa_switch = 0;
}
}
return true;
}
@ -54,6 +87,10 @@ void Misc::PaintTraverse(void*, unsigned int, bool, bool) {
IClientEntity* weapon = g_pLocalPlayer->weapon;
draw::DrawString(10, y, draw::white, false, "Weapon: %s [%i]", weapon->GetClientClass()->GetName(), weapon->GetClientClass()->m_ClassID);
y += 14;
draw::DrawString(10, y, draw::white, false, "flNextAttack: %f", GetEntityValue<float>(g_pLocalPlayer->entity, eoffsets.flNextAttack));
y += 14;
draw::DrawString(10, y, draw::white, false, "nTickBase: %i", GetEntityValue<int>(g_pLocalPlayer->entity, eoffsets.nTickBase));
y += 14;
}
}
}

View File

@ -20,8 +20,11 @@ public:
void Destroy();
void PaintTraverse(void*, unsigned int, bool, bool);
ConVar* v_bDbWeaponInfo;
ConVar* v_bSemiAuto;
ConCommand* c_SayLine;
ConCommand* c_Shutdown;
ConCommand* c_AddFriend;
ConCommand* c_AddRage;
};
#endif /* HACKS_MISC_H_ */

View File

@ -0,0 +1,43 @@
/*
* Quickscope.cpp
*
* Created on: Nov 12, 2016
* Author: nullifiedcat
*/
#include "Quickscope.h"
#include "../localplayer.h"
#include "../helpers.h"
#include "../entity.h"
#include "../usercmd.h"
#include "../sdk/in_buttons.h"
#include "../fixsdk.h"
#include <icliententity.h>
#include <client_class.h>
void Quickscope::Create() {
v_bEnabled = CreateConVar("u_quickscope", "1", "Quickscope mode");
}
bool Quickscope::CreateMove(void*, float, CUserCmd* cmd) {
if (!v_bEnabled->GetBool()) return true;
if (g_pLocalPlayer->clazz == tf_class::tf_sniper) {
if (!g_pLocalPlayer->weapon) return false;
switch (g_pLocalPlayer->weapon->GetClientClass()->m_ClassID) {
case ClassID::CTFSniperRifle:
break;
default:
return true;
}
float bdmg = GetEntityValue<float>(g_pLocalPlayer->weapon, eoffsets.flChargedDamage);
if (bdmg <= 15.0f && (g_pLocalPlayer->cond_0 & cond::zoomed)) {
cmd->buttons = cmd->buttons &~ IN_ATTACK;
}
}
return true;
}
void Quickscope::Destroy() {}
void Quickscope::PaintTraverse(void*, unsigned int, bool, bool) { }

View File

@ -0,0 +1,19 @@
/*
* Quickscope.h
*
* Created on: Nov 12, 2016
* Author: nullifiedcat
*/
#ifndef HACKS_QUICKSCOPE_H_
#define HACKS_QUICKSCOPE_H_
#include "IHack.h"
class Quickscope : public IHack {
public:
DECL_HACK
ConVar* v_bEnabled;
};
#endif /* HACKS_QUICKSCOPE_H_ */

View File

@ -30,9 +30,13 @@
bool IsPlayerInvulnerable(IClientEntity* player) {
int cond1 = GetEntityValue<int>(player, eoffsets.iCond);
int cond2 = GetEntityValue<int>(player, eoffsets.iCond1);
int uber_mask_1 = (cond::uber | cond::uber_expiration | cond::bonk);
int uber_mask_1 = (cond::uber | cond::bonk);
int uber_mask_2 = (cond_ex::hidden_uber | cond_ex::canteen_uber | cond_ex::misc_uber | cond_ex::phlog_uber);
if ((cond1 & uber_mask_1) || (cond2 & uber_mask_2)) return true;
if ((cond1 & uber_mask_1) || (cond2 & uber_mask_2)) {
//logging::Info("COND1: %i MASK1: %i", cond1, uber_mask_1);
//logging::Info("COND2: %i MASK2: %i", cond2, uber_mask_2);
return true;
}
return false;
}
@ -148,6 +152,7 @@ pack_type GetHealthPackType(IClientEntity* ent) {
pack_type GetAmmoPackType(IClientEntity* ent) {
if (!ent) return pack_type::not_pack;
const char* name = GetModelPath(ent);
if (strlen(name) < 30) return pack_type::not_pack;
return pack_type::not_pack;
}
@ -159,7 +164,6 @@ powerup_type GetPowerupType(IClientEntity* ent) {
const char* name = GetModelPath(ent);
if (strlen(name) < 35) return powerup_type::not_powerup;
if (name[27] != 'u' || name[22] != 'p') return powerup_type::not_powerup;
if (name[30] == 's' && name[31] == 't') return powerup_type::strength;
if (name[30] == 'd' && name[32] == 'f') return powerup_type::resistance;
if (name[30] == 'v') return powerup_type::vampire;
@ -204,7 +208,8 @@ void VectorTransform (const float *in1, const matrix3x4_t& in2, float *out)
out[2] = (in1[0] * in2[2][0] + in1[1] * in2[2][1] + in1[2] * in2[2][2]) + in2[2][3];
}
int ClassMaxHealth(int clazz) {
// TODO deprecated
/*int ClassMaxHealth(int clazz) {
switch(clazz) {
case tf_scout:
case tf_spy:
@ -222,7 +227,7 @@ int ClassMaxHealth(int clazz) {
return 175;
}
return 0;
}
}*/
int GetHitboxPosition(IClientEntity* entity, int hb, Vector& out) {
if (!entity) return 1;
@ -458,10 +463,10 @@ relation GetRelation(IClientEntity* ent) {
if (ent->IsDormant()) return relation::NEUTRAL;
player_info_t info;
if (!interfaces::engineClient->GetPlayerInfo(ent->entindex(), &info)) return relation::NEUTRAL;
for (int i = 0; i < 1; i++) {
for (int i = 0; i < n_friends; i++) {
if (friends[i] == info.friendsID) return relation::FRIEND;
}
for (int i = 0; i < 1; i++) {
for (int i = 0; i < n_rage; i++) {
if (rage[i] == info.friendsID) return relation::RAGE;
}
return relation::NEUTRAL;
@ -508,6 +513,12 @@ float GetFov(Vector angle, Vector src, Vector dst)
return RAD2DEG(acos(u_dot_v / (pow(mag, 2))));
}
bool CanShoot(IClientEntity* weapon) {
if (!weapon) return false;
return false;
}
const char* powerups[] = {
"STRENGTH",
"RESISTANCE",
@ -524,13 +535,12 @@ const char* powerups[] = {
"CRITS"
};
uint32 friends[] = {
39133950
};
uint32 friends[256];
uint32 rage[] = {
36315583
};
uint32 rage[256];
int n_friends = 0;
int n_rage = 0;
const char* packs[] = {
"+",

View File

@ -13,6 +13,7 @@ class IClientEntity;
class ConVar;
class ConCommand;
class CUserCmd;
class CCommand;
class Vector;
#define PI 3.14159265358979323846f
@ -24,6 +25,8 @@ class Vector;
#include "fixsdk.h"
#include <tier1/convar.h>
//typedef void ( *FnCommandCallback_t )( const CCommand &command );
bool IsPlayerCritBoosted(IClientEntity* player);
bool IsPlayerInvulnerable(IClientEntity* player);
bool IsPlayerInvisible(IClientEntity* player);
@ -48,8 +51,11 @@ bool GetProjectileData(IClientEntity* weapon, float& speed, bool& arc);
bool IsVectorVisible(Vector a, Vector b);
bool PredictProjectileAim(Vector origin, IClientEntity* target, hitbox hb, float speed, bool arc, Vector& result);
relation GetRelation(IClientEntity* ent);
int ClassMaxHealth(int clazz);
// TODO deprecated
//int ClassMaxHealth(int clazz);
bool CheckCE(CachedEntity* entity);
bool CanShoot(IClientEntity* entity);
// F1 c&p
Vector CalcAngle(Vector src, Vector dst);
void MakeVector(Vector ang, Vector& out);
@ -57,7 +63,9 @@ float GetFov(Vector ang, Vector src, Vector dst);
extern const char* powerups[POWERUP_COUNT];
extern const char* packs[PACK_COUNT];
extern uint32 friends[1];
extern uint32 rage[1];
extern uint32 friends[256];
extern int n_friends;
extern int n_rage;
extern uint32 rage[256];
#endif /* HELPERS_H_ */

View File

@ -25,10 +25,17 @@ void LocalPlayer::Update() {
v_Eye = v_Origin + v_ViewOffset;
cond_0 = GetEntityValue<int>(entity, eoffsets.iCond);
clazz = GetEntityValue<int>(entity, eoffsets.iClass);
int hWeapon = GetEntityValue<int>(entity, eoffsets.hActiveWeapon);
if (hWeapon)
if (hWeapon) {
weapon = interfaces::entityList->GetClientEntity(hWeapon & 0xFFF);
else weapon = 0;
bIsReloading = (GetEntityValue<int>(weapon, eoffsets.iReloadMode) == 1);
} else {
weapon = 0;
bIsReloading = false;
}
}
LocalPlayer* g_pLocalPlayer = 0;

View File

@ -25,6 +25,9 @@ public:
int cond_1;
int cond_2;
int cond_3;
bool bIsReloading;
Vector v_ViewOffset;
Vector v_Origin;
Vector v_Eye;

View File

@ -0,0 +1,36 @@
/*
* playerresource.cpp
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#include "playerresource.h"
#include "interfaces.h"
#include "enums.h"
#include "entity.h"
#include "fixsdk.h"
#include <icliententity.h>
#include <icliententitylist.h>
#include <client_class.h>
void TFPlayerResource::Update() {
m_pEntity = 0;
for (int i = 0; i < interfaces::entityList->GetHighestEntityIndex(); i++) {
IClientEntity* ent = interfaces::entityList->GetClientEntity(i);
if (ent && ent->GetClientClass()->m_ClassID == ClassID::CTFPlayerResource) {
m_pEntity = ent;
}
}
}
int TFPlayerResource::GetMaxHealth(IClientEntity* player) {
if (!player) return 0;
if (!m_pEntity) return 0;
int idx = player->entindex();
if (idx >= 64 || idx < 0) return 0;
return *(int*)((unsigned int)m_pEntity + eoffsets.iMaxHealth + 4 * idx);
}
TFPlayerResource* g_pPlayerResource = 0;

23
uran/src/playerresource.h Normal file
View File

@ -0,0 +1,23 @@
/*
* playerresource.h
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#ifndef PLAYERRESOURCE_H_
#define PLAYERRESOURCE_H_
class IClientEntity;
class TFPlayerResource {
public:
void Update();
int GetMaxHealth(IClientEntity* player);
IClientEntity* m_pEntity;
};
extern TFPlayerResource* g_pPlayerResource;
#endif /* PLAYERRESOURCE_H_ */

51
uran/src/relations.cpp Normal file
View File

@ -0,0 +1,51 @@
/*
* relations.cpp
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#include "relations.h"
#include "logging.h"
void CRelations::Add(uint32 id, relation rel) {
logging::Info("Adding");
}
void CRelations::Remove(uint32 id) {
for (int i = 0; i < m_nFriends; i++) {
if (m_Friends[i] == id) {
m_nFriends--;
ShiftArray(m_Friends, i, m_nFriends);
}
}
for (int i = 0; i < m_nFriendlies; i++) {
if (m_Friendlies[i] == id) {
m_nFriendlies--;
ShiftArray(m_Friendlies, i, m_nFriendlies);
}
}
for (int i = 0; i < m_nRage; i++) {
if (m_Rage[i] == id) {
m_nRage--;
ShiftArray(m_Rage, i, m_nRage);
}
}
}
void CRelations::WriteConfig() {
FILE* cfg = fopen("", "w");
fclose(cfg);
}
void CRelations::ShiftArray(uint32* array, int idx, int max) {
for (int i = idx; i < max; i++) {
array[idx] = array[idx + 1];
}
}
char* RelStr[] = { "NONE", "FRIEND", "FRIENDLY", "RAGE" };
CRelations* g_pRelations = 0;

41
uran/src/relations.h Normal file
View File

@ -0,0 +1,41 @@
/*
* relations.h
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#ifndef RELATIONS_H_
#define RELATIONS_H_
typedef unsigned long uint32;
enum relation {
NONE = 0,
FRIEND, // PURPLE color
FRIENDLY, // Ignored by aimbot, GREEN color
RAGE // Max target priority, YELLOW color
};
#define MAX_FRIENDS 256
class CRelations {
public:
void Add(uint32 id, relation rel);
void Remove(uint32 id);
void WriteConfig();
void ShiftArray(uint32* array, int idx, int max);
uint32 m_Friends[MAX_FRIENDS];
uint32 m_Friendlies[MAX_FRIENDS];
uint32 m_Rage[MAX_FRIENDS];
int m_nFriends;
int m_nFriendlies;
int m_nRage;
};
extern char* RelStr[4];
extern CRelations* g_pRelations;
#endif /* RELATIONS_H_ */

View File

@ -74,5 +74,6 @@ int GetScoreForEntity(IClientEntity* entity) {
}
}
if (total > 99) total = 99;
if (GetRelation(entity) == relation::RAGE) total = 999;
return total;
}