Skip to content

Commit 998b198

Browse files
author
NyarchUser
committed
add compiling script, start work on bunnyhop
1 parent a329868 commit 998b198

16 files changed

+164
-30
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ FILE(GLOB_RECURSE SAVE_HEADER CONFIGURE_DEPENDS ${CMAKE_CURRENT_LIST_DIR}/Dainsl
3737
FILE(GLOB_RECURSE MAIN_SOURCE CONFIGURE_DEPENDS ${CMAKE_CURRENT_LIST_DIR}/Dainsleif/*.cpp)
3838
FILE(GLOB_RECURSE MAIN_HEADER CONFIGURE_DEPENDS ${CMAKE_CURRENT_LIST_DIR}/Dainsleif/*.h)
3939

40-
add_library(Dainsleif SHARED ${MAIN_SOURCE} ${MAIN_HEADER} ${HACKS_SOURCE} ${HACKS_HEADER} ${IMGUI_SOURCE} ${IMGUI_HEADER})
40+
add_library(Dainsleif SHARED ${MAIN_SOURCE} ${MAIN_HEADER} ${HACKS_SOURCE} ${HACKS_HEADER} ${IMGUI_SOURCE} ${IMGUI_HEADER} "Dainsleif/Hacks/Bunnyhop.cpp" "Dainsleif/Hacks/Bunnyhop.h")
4141

4242
if (MSVC)
4343
target_link_options(${PROJECT_NAME} PRIVATE "/SAFESEH:NO")

Dainsleif.sln

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 16
4+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CMakePredefinedTargets", "CMakePredefinedTargets", "{DBFB4220-06F7-3223-8515-BD18195950F9}"
5+
EndProject
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{B0296C3E-5DD2-35E6-B2D6-E8B0687B6C84}"
7+
ProjectSection(ProjectDependencies) = postProject
8+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8} = {7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}
9+
{5E5211FA-91E3-3936-859E-5403F2359FE8} = {5E5211FA-91E3-3936-859E-5403F2359FE8}
10+
EndProjectSection
11+
EndProject
12+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Dainsleif", "Dainsleif.vcxproj", "{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}"
13+
ProjectSection(ProjectDependencies) = postProject
14+
{5E5211FA-91E3-3936-859E-5403F2359FE8} = {5E5211FA-91E3-3936-859E-5403F2359FE8}
15+
EndProjectSection
16+
EndProject
17+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{5E5211FA-91E3-3936-859E-5403F2359FE8}"
18+
ProjectSection(ProjectDependencies) = postProject
19+
EndProjectSection
20+
EndProject
21+
Global
22+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
23+
Debug|Win32 = Debug|Win32
24+
Release|Win32 = Release|Win32
25+
MinSizeRel|Win32 = MinSizeRel|Win32
26+
RelWithDebInfo|Win32 = RelWithDebInfo|Win32
27+
EndGlobalSection
28+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
29+
{B0296C3E-5DD2-35E6-B2D6-E8B0687B6C84}.Debug|Win32.ActiveCfg = Debug|Win32
30+
{B0296C3E-5DD2-35E6-B2D6-E8B0687B6C84}.Release|Win32.ActiveCfg = Release|Win32
31+
{B0296C3E-5DD2-35E6-B2D6-E8B0687B6C84}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
32+
{B0296C3E-5DD2-35E6-B2D6-E8B0687B6C84}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
33+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.Debug|Win32.ActiveCfg = Debug|Win32
34+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.Debug|Win32.Build.0 = Debug|Win32
35+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.Release|Win32.ActiveCfg = Release|Win32
36+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.Release|Win32.Build.0 = Release|Win32
37+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
38+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
39+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
40+
{7FA8EFFF-9BA8-3F39-85EC-A55298D1E8C8}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
41+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.Debug|Win32.ActiveCfg = Debug|Win32
42+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.Debug|Win32.Build.0 = Debug|Win32
43+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.Release|Win32.ActiveCfg = Release|Win32
44+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.Release|Win32.Build.0 = Release|Win32
45+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
46+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
47+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
48+
{5E5211FA-91E3-3936-859E-5403F2359FE8}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
49+
EndGlobalSection
50+
GlobalSection(NestedProjects) = preSolution
51+
{B0296C3E-5DD2-35E6-B2D6-E8B0687B6C84} = {DBFB4220-06F7-3223-8515-BD18195950F9}
52+
{5E5211FA-91E3-3936-859E-5403F2359FE8} = {DBFB4220-06F7-3223-8515-BD18195950F9}
53+
EndGlobalSection
54+
GlobalSection(ExtensibilityGlobals) = postSolution
55+
SolutionGuid = {D5891E9B-6C62-347F-8B61-FDE68A8B42ED}
56+
EndGlobalSection
57+
GlobalSection(ExtensibilityAddIns) = postSolution
58+
EndGlobalSection
59+
EndGlobal

Dainsleif/DefaultSettings.h

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ namespace Default {
1919
//Trigger bot
2020
const bool bTriggerBot = false;
2121

22+
//Bunnyhop
23+
const bool bBunnyhop = false;
24+
2225
//FOV
2326
const int fov = 90;
2427

Dainsleif/Hacks/Bunnyhop.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#include "Bunnyhop.h"
2+
3+
void Bhop::ForceJump()
4+
{
5+
auto* forceJump = reinterpret_cast<int*>(Modules::client + dwForceJump);
6+
*forceJump = 6;
7+
}
8+
9+
void Bhop::Run()
10+
{
11+
Player* localPlayer = Player::GetLocalPlayer();
12+
uintptr_t flags = localPlayer->GetFlags();
13+
14+
if (flags & (1 << 0))
15+
{
16+
Bhop::ForceJump();
17+
}
18+
}

Dainsleif/Hacks/Bunnyhop.h

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#pragma once
2+
#include "../pch.h"
3+
#include "../Player.h"
4+
#include "../dllmain.h"
5+
6+
namespace Bhop
7+
{
8+
void Run();
9+
void ForceJump();
10+
}

Dainsleif/Hook/DrawGUI.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ void setToDefault(Hack_label label) {
7979
localGlowColor = Default::localGlowColor;
8080
HackFlags::bAntiRecoil = Default::bAntiRecoil;
8181
HackFlags::bTriggerBot = Default::bTriggerBot;
82+
HackFlags::bBunnyhop = Default::bBunnyhop;
8283
HackFlags::bAntiAFK = Default::bAntiAFK;
8384
HackFlags::bEsp = Default::bEsp;
8485
HackFlags::bLineOverlay = Default::bLineOverlay;
@@ -103,6 +104,9 @@ void setToDefault(Hack_label label) {
103104
case TRIGGERBOT:
104105
HackFlags::bTriggerBot = Default::bTriggerBot;
105106
break;
107+
case BUNNYHOP:
108+
HackFlags::bBunnyhop = Default::bBunnyhop;
109+
break;
106110
case FOV:
107111
fov = Default::fov;
108112
Player::GetLocalPlayer()->SetFOV(Default::fov);
@@ -149,6 +153,8 @@ void ShowMenuBar(std::map<std::string, bool>& visibleHacks)
149153
setToDefault(ANTIRECOIL);
150154
} else if (ImGui::MenuItem("Trigger bot")) {
151155
setToDefault(TRIGGERBOT);
156+
} else if (ImGui::MenuItem("Bunnyhop")) {
157+
setToDefault(BUNNYHOP);
152158
} else if (ImGui::MenuItem("Anti AFK")) {
153159
setToDefault(ANTIAFK);
154160
} else if (ImGui::MenuItem("FOV")) {
@@ -207,6 +213,11 @@ void ShowTabMenu(std::map<std::string, bool>& visibleHacks) {
207213
ImGui::Checkbox("Enable Trigger bot", &HackFlags::bTriggerBot);
208214
ImGui::EndTabItem();
209215
}
216+
if (ImGui::BeginTabItem("Bunnyhop", &visibleHacks.at("Bunnyhop")))
217+
{
218+
ImGui::Checkbox("Enable Bunnyhop", &HackFlags::bBunnyhop);
219+
ImGui::EndTabItem();
220+
}
210221
if (ImGui::BeginTabItem("Anti AFK", &visibleHacks.at("Anti AFK")))
211222
{
212223
ImGui::Checkbox("Enable AntiAFK", &HackFlags::bAntiAFK);

Dainsleif/Hook/DrawGUI.h

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ enum Hack_label {
99
GLOWHACK,
1010
ANTIRECOIL,
1111
TRIGGERBOT,
12+
BUNNYHOP,
1213
ANTIAFK,
1314
FOV,
1415
ESP,

Dainsleif/Offsets.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ uintptr_t dwViewMatrix;
1818

1919
uintptr_t m_vecOrigin;
2020
uintptr_t m_iHealth;
21+
uintptr_t m_fFlags;
2122
uintptr_t m_vecViewOffset;
2223
uintptr_t m_dwBoneMatrix;
2324
uintptr_t m_iTeamNum;

Dainsleif/Offsets.h

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ extern uintptr_t dwViewMatrix;
1414

1515
extern uintptr_t m_vecOrigin;
1616
extern uintptr_t m_iHealth;
17+
extern uintptr_t m_fFlags;
1718
extern uintptr_t m_vecViewOffset;
1819
extern uintptr_t m_dwBoneMatrix;
1920
extern uintptr_t m_iTeamNum;

Dainsleif/Player.cpp

+9-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ void FilterOutIrrelevant(std::vector<Player*>& playerList, Player* localPlayer)
3434
}
3535
}
3636
}
37-
// FilterOutIrrelevant basically filter out the dead enemies and allies from playerList.
37+
3838
std::vector<Player*> Player::GetLivingOpponents() {
3939
Player* localPlayer = GetLocalPlayer();
4040
std::vector<Player*> playerList = GetAll();
@@ -122,4 +122,11 @@ void Player::SetFOV(int fov)
122122
{
123123
if (this)
124124
WriteValue<int>(m_iFOV, fov);
125-
}
125+
}
126+
127+
uintptr_t Player::GetFlags()
128+
{
129+
uintptr_t flags = ReadValue<uintptr_t>(m_fFlags);
130+
return flags;
131+
}
132+

Dainsleif/Player.h

+2
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,6 @@ class Player : public Entity
4545
Weapon* GetActiveWeapon();
4646

4747
void SetFOV(int fov);
48+
49+
uintptr_t GetFlags();
4850
};

Dainsleif/Save/OffsetsToml.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ std::map<std::string, uintptr_t> OffsetsToml::Fetch(std::string& filename) {
2020
dwppDirect3DDevice9 = toml::find_or(saveData, "dwppDirect3DDevice9", dwppDirect3DDevice9);
2121
m_vecOrigin = toml::find_or(saveData, "m_vecOrigin", m_vecOrigin);
2222
m_iHealth = toml::find_or(saveData, "m_iHealth", m_iHealth);
23+
m_fFlags = toml::find_or(saveData, "m_fFlags", m_fFlags);
2324
m_vecViewOffset = toml::find_or(saveData, "m_vecViewOffset", m_vecViewOffset);
2425
m_dwBoneMatrix = toml::find_or(saveData, "m_dwBoneMatrix", m_dwBoneMatrix);
2526
m_iTeamNum = toml::find_or(saveData, "m_iTeamNum", m_iTeamNum);
@@ -86,6 +87,7 @@ void OffsetsToml::Update(std::string& filename)
8687
{"dwppDirect3DDevice9", 0xA7050},
8788
{"m_vecOrigin", 0x138},
8889
{"m_iHealth", 0x100},
90+
{"m_fFlags", 0x104},
8991
{"m_vecViewOffset", 0x108},
9092
{"m_dwBoneMatrix", 0x26A8},
9193
{"m_iTeamNum", 0xF4},
@@ -128,6 +130,7 @@ void OffsetsToml::Initialize(std::string& filename)
128130
{"dwppDirect3DDevice9", 0xA7050},
129131
{"m_vecOrigin", 0x138},
130132
{"m_iHealth", 0x100},
133+
{"m_fFlags", 0x104},
131134
{"m_vecViewOffset", 0x108},
132135
{"m_dwBoneMatrix", 0x26A8},
133136
{"m_iTeamNum", 0xF4},

Dainsleif/dllmain.cpp

+8-22
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,14 @@
33
#include "Hook/ControlCursor.h"
44
#include "Interfaces/CInterfaceList.h"
55

6-
//#define DEBUG
7-
8-
#ifdef DEBUG
9-
#define LOGHEX(name, val) std::cout << name << ": " << std::hex << val << std::endl;
10-
#define ALLOCCONSOLE()\
11-
{\
12-
AllocConsole();\
13-
freopen_s(reinterpret_cast<FILE**>(stdout), "CONOUT$", "w", stdout);\
14-
}
15-
#define FREECONSOLE()\
16-
{\
17-
fclose(stdout);\
18-
FreeConsole();\
19-
}
20-
#else
21-
#define LOGHEX(name, val)
22-
#define ALLOCCONSOLE()
23-
#define FREECONSOLE()
24-
#endif
25-
266
namespace HackFlags
277
{
28-
bool bQuit, bAimbot, bGlowHack, bAntiRecoil, bTriggerBot, bAntiAFK, bMinimapHack;
8+
bool bQuit, bAimbot, bGlowHack, bAntiRecoil, bTriggerBot, bBunnyhop, bAntiAFK, bMinimapHack;
299
}
3010

3111
namespace TabFlags
3212
{
33-
bool t_aimBot = true, t_glowHack = true, t_antiRecoil = true, t_triggerBot = true, t_antiAFK, t_fov, t_esp, t_minimapHack;
13+
bool t_aimBot = true, t_glowHack = true, t_antiRecoil = true, t_triggerBot = true, t_bunnyHop = true, t_antiAFK, t_fov, t_esp, t_minimapHack;
3414
}
3515

3616
int fov;
@@ -109,6 +89,7 @@ DWORD WINAPI fMain ( LPVOID lpParameter )
10989
{ "Glow Hack", TabFlags::t_glowHack },
11090
{ "Anti Recoil", TabFlags::t_antiRecoil },
11191
{ "Trigger Bot", TabFlags::t_triggerBot },
92+
{ "Bunnyhop", TabFlags::t_bunnyHop },
11293
{ "Anti AFK", TabFlags::t_antiAFK },
11394
{ "Fov", TabFlags::t_fov },
11495
{ "Esp", TabFlags::t_esp },
@@ -172,6 +153,11 @@ DWORD WINAPI fMain ( LPVOID lpParameter )
172153
inGame = true;
173154
}
174155

156+
if ((GetAsyncKeyState(VK_SPACE) & 1) && HackFlags::bBunnyhop)
157+
{
158+
Bhop::Run();
159+
}
160+
175161
if (HackFlags::bTriggerBot || HackFlags::bGlowHack || HackFlags::bAntiRecoil)
176162
{
177163
playerList = Player::GetAll();

Dainsleif/dllmain.h

+25-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,38 @@
88
#include "Hacks/Triggerbot.h"
99
#include "Hacks/AntiAFK.h"
1010
#include "Hacks/MinimapHack.h"
11+
#include "Hacks/Bunnyhop.h"
1112
#include "Save/TabStateToml.h"
1213
#include <thread>
1314

15+
#define DEBUG
16+
17+
#ifdef DEBUG
18+
#define LOGHEX(name, val) std::cout << name << ": " << std::hex << val << std::endl;
19+
#define LOGFLAGS(flags) std::cout << std::bitset<sizeof(uintptr_t)>(flags) << std::endl;
20+
#define ALLOCCONSOLE()\
21+
{\
22+
AllocConsole();\
23+
freopen_s(reinterpret_cast<FILE**>(stdout), "CONOUT$", "w", stdout);\
24+
}
25+
#define FREECONSOLE()\
26+
{\
27+
fclose(stdout);\
28+
FreeConsole();\
29+
}
30+
#else
31+
#define LOGHEX(name, val)
32+
#define LOGFLAGS(flags)
33+
#define ALLOCCONSOLE()
34+
#define FREECONSOLE()
35+
#endif
36+
1437
namespace HackFlags {
15-
extern bool bQuit, bAimbot, bGlowHack, bAntiRecoil, bTriggerBot, bAntiAFK, bMinimapHack;
38+
extern bool bQuit, bAimbot, bGlowHack, bAntiRecoil, bTriggerBot, bBunnyhop, bAntiAFK, bMinimapHack;
1639
}
1740

1841
namespace TabFlags {
19-
extern bool t_aimBot, t_glowHack, t_antiRecoil, t_triggerBot, t_antiAFK, t_fov, t_esp, t_minimapHack;
42+
extern bool t_aimBot, t_glowHack, t_antiRecoil, t_triggerBot, t_bunnyHop, t_antiAFK, t_fov, t_esp, t_minimapHack;
2043
}
2144

2245
extern bool g_ShowMenu;

README.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,12 @@ Launch it and go to any directory you wanna clone Dainsleif in, and run followin
6464
```Shell
6565
$ git clone https://github.com/s3pt3mb3r/Dainsleif.git
6666
$ cd Dainsleif
67-
$ mkdir build && cd build
68-
$ cmake .. -A Win32
69-
$ cmake --build .
67+
```
68+
69+
For compiling the cheat, there is a convenient batch script that automates the process. All you need to do is run it:
70+
71+
```Shell
72+
$ .\compile.bat
7073
```
7174

7275
After finished compiling, `Dainsleif.dll` will be in debug folder.

compile.bat

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
mkdir build
2+
cd build
3+
cmake .. -A Win32
4+
cmake --build .
5+
dir debug
6+
cd ..

0 commit comments

Comments
 (0)