Skip to content

Commit df83e6a

Browse files
author
SpookySec
committed
same
1 parent f64935d commit df83e6a

8 files changed

Lines changed: 138 additions & 9 deletions

File tree

BSInternal/hdr/config.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
namespace Config
55
{
6-
76
inline bool spam = false; // Supposed to allow for chat spam, still in testing phase
87
inline bool full_auto = false; // Makes all guns shoot full auto
98
inline bool frog_mode = false; // Infinite jumps
109
inline bool no_damage = false; // Takes no damage
1110
inline bool aim_assist = false; // Gives you aim assist (NOT AIMBOT BUT AIM ASSIST)
1211
inline bool super_speed = false; // Makes you the Flash
12+
inline bool dictatorship = false; // So you a fan of putin?
1313
inline bool swear_bypass = false; // Bypasses the cursing check (aka I can freely say niggas in paris)
1414
inline bool space_bullets = false; // Removes the gravity from all bullets
1515
inline bool fast_firerate = false; // Makes the fire rate EXTRAAA FAST
@@ -19,12 +19,16 @@ namespace Config
1919
inline bool armor_piercing = false; // Increases bullet wall penetration (seemingly allowing you to shoot through walls)
2020
inline bool explosive_melees = false; // Supposed to spawn explosive bullets but currently not working
2121
inline bool explosive_bullets = false; // My personal favorite, makes all your bullets explosive lol
22+
inline bool* conf[] = {
23+
&spam, &full_auto, &frog_mode, &no_damage, &aim_assist, &super_speed, &swear_bypass,
24+
&space_bullets, &fast_firerate, &school_shooter, &disable_recoil, &instant_reload,
25+
&armor_piercing, &explosive_melees, &explosive_bullets, &dictatorship
26+
}; // PLEASE NEVER LISTEN TO VANY AGAIN (more emphasis on this btw)
2227

2328
namespace Values
2429
{
2530
inline float firerate = 10.f;
2631
inline float speedfactor = 1.f;
2732
inline float movespeed = 4500.f;
28-
2933
}
3034
}

BSInternal/hdr/globals.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
#include "il2cpp.h"
44
#include "gui.h"
55
#include <vector>
6+
#include <mutex>
67

78
namespace Globals
89
{
910
namespace Hax
1011
{
1112
inline uintptr_t gameAssembly{ NULL };
1213
inline Multiplayer_Client_ClientPlayer_o* localPlayer{ NULL };
14+
inline std::mutex playerListMutex{};
1315
inline std::vector<Multiplayer_Client_ClientPlayer_o*> playerList{ NULL };
1416

1517
inline tCreateExplosiveBullet oCreateExplosiveBullet{ NULL };

BSInternal/hdr/hax.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,10 @@ void __stdcall hkClientPlayer_Update(Multiplayer_Client_ClientPlayer_o* __this,
4040
inline void(__fastcall* oClientPlayer_TakeDamage)(Multiplayer_Client_ClientPlayer_o*, int32_t, UnityEngine_Vector3_o, UnityEngine_Vector3_o, uint16_t, bool, MethodInfo*);
4141
void __stdcall hkClientPlayer_TakeDamage(Multiplayer_Client_ClientPlayer_o* __this, int32_t damage, UnityEngine_Vector3_o point, UnityEngine_Vector3_o normal, uint16_t fromClient, bool hitMarket, MethodInfo* method);
4242

43-
4443
inline void(__fastcall* oPlayerMovement_Update)(PlayerMovement_o*, MethodInfo*);
4544
void __stdcall hkPlayerMovement_Update(PlayerMovement_o* __this, MethodInfo* method);
4645

46+
inline void(__fastcall* oKickVote_Update)(KickVote_o*, MethodInfo*);
47+
void __stdcall hkKickVote_Update(KickVote_o* __this, MethodInfo* method);
4748

4849
MH_STATUS InitHooks();

BSInternal/hdr/il2cpp.h

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,6 +1150,68 @@ struct PlayerMovement_StaticFields {
11501150
struct PlayerMovement_o* Instance;
11511151
};
11521152

1153+
struct KickVote_Fields : UnityEngine_MonoBehaviour_Fields {
1154+
struct TMPro_TextMeshProUGUI_o* agreeCountText;
1155+
struct TMPro_TextMeshProUGUI_o* disAgreeCountText;
1156+
struct UnityEngine_Localization_Components_LocalizeStringEvent_o* kick;
1157+
struct UnityEngine_Localization_Components_LocalizeStringEvent_o* vote;
1158+
struct UnityEngine_Vector3_o desiredPos;
1159+
struct UnityEngine_Vector3_o showPos;
1160+
struct UnityEngine_Vector3_o defaultPos;
1161+
struct UnityEngine_RectTransform_o* kickMessage;
1162+
struct System_String_o* kickPlayerName;
1163+
struct System_String_o* votePlayerName;
1164+
struct UnityEngine_UI_Button_o* agreeBtn;
1165+
struct UnityEngine_UI_Button_o* disAgreeBtn;
1166+
};
1167+
struct KickVote_VTable {
1168+
VirtualInvokeData _0_Equals;
1169+
VirtualInvokeData _1_Finalize;
1170+
VirtualInvokeData _2_GetHashCode;
1171+
VirtualInvokeData _3_ToString;
1172+
};
1173+
struct KickVote_c {
1174+
Il2CppClass_1 _1;
1175+
struct KickVote_StaticFields* static_fields;
1176+
Il2CppRGCTXData* rgctx_data;
1177+
Il2CppClass_2 _2;
1178+
KickVote_VTable vtable;
1179+
};
1180+
struct KickVote_o {
1181+
KickVote_c* klass;
1182+
void* monitor;
1183+
KickVote_Fields fields;
1184+
};
1185+
struct KickVote_StaticFields {
1186+
struct KickVote_o* Instance;
1187+
struct VoteKicking_o* VoteKicking;
1188+
};
1189+
1190+
struct __declspec(align(8)) VoteKicking_Fields {
1191+
uint16_t PlayerId;
1192+
uint16_t FromClient;
1193+
uint16_t agreeCount;
1194+
uint16_t disAgreeCount;
1195+
struct System_Collections_Generic_Dictionary_ushort__bool__o* Players;
1196+
};
1197+
struct VoteKicking_VTable {
1198+
VirtualInvokeData _0_Equals;
1199+
VirtualInvokeData _1_Finalize;
1200+
VirtualInvokeData _2_GetHashCode;
1201+
VirtualInvokeData _3_ToString;
1202+
};
1203+
struct VoteKicking_c {
1204+
Il2CppClass_1 _1;
1205+
void* static_fields;
1206+
Il2CppRGCTXData* rgctx_data;
1207+
Il2CppClass_2 _2;
1208+
VoteKicking_VTable vtable;
1209+
};
1210+
struct VoteKicking_o {
1211+
VoteKicking_c* klass;
1212+
void* monitor;
1213+
VoteKicking_Fields fields;
1214+
};
11531215

11541216
namespace il2cpp {
11551217
inline std::string to_string(System_String_o* str)

BSInternal/hdr/offsets.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,9 @@ namespace Offsets {
3737
{
3838
inline uintptr_t Update = 0x3a2a20;
3939
}
40+
41+
namespace VoteKicking
42+
{
43+
inline uintptr_t Update = 0x36aed0;
44+
}
4045
}

BSInternal/src/dllmain.cpp

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
#include "../hdr/config.h"
1616
#include "../hdr/globals.h"
1717

18-
#pragma comment(lib, "d3d11.lib")
19-
2018
void HackThread(LPVOID hModule)
2119
{
2220
Globals::Hax::gameAssembly = (uintptr_t)GetModuleHandle("GameAssembly.dll");
@@ -25,7 +23,7 @@ void HackThread(LPVOID hModule)
2523
MH_STATUS hax_status;
2624
bool kiero_status = false;
2725

28-
fp = CreateConsole();
26+
//fp = CreateConsole();
2927

3028
printf("[+] DLL injected!\n");
3129

@@ -45,14 +43,22 @@ void HackThread(LPVOID hModule)
4543
catch (...) {
4644
printf("FAILED\n");
4745
}
46+
47+
4848
} while (!kiero_status);
4949

5050
printf("[+] Kiero hooks created successfully!\n");
5151
InitHooks();
5252
printf("[+] Cheat hooks created successfully!\n");
5353

54-
FreeConsole();
55-
fclose(fp);
54+
//FreeConsole();
55+
//fclose(fp);
56+
while (!GetAsyncKeyState(VK_END))
57+
Sleep(200);
58+
59+
kiero::shutdown();
60+
MH_DisableHook(MH_ALL_HOOKS);
61+
FreeLibraryAndExitThread(static_cast<HMODULE>(hModule), EXIT_SUCCESS);
5662
}
5763

5864
BOOL APIENTRY DllMain(HMODULE hModule,
@@ -63,7 +69,10 @@ BOOL APIENTRY DllMain(HMODULE hModule,
6369
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
6470
{
6571
DisableThreadLibraryCalls(hModule);
66-
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)HackThread, hModule, NULL, NULL);
72+
const HANDLE hThread = CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)HackThread, hModule, NULL, NULL);
73+
74+
if (hThread)
75+
CloseHandle(hThread); // so?
6776
}
6877

6978
return TRUE;

BSInternal/src/gui.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ void Menu(bool render)
9494
ImGui::Checkbox("Explosive bullets", &Config::explosive_bullets);
9595
ImGui::Checkbox("Swearing bypass", &Config::swear_bypass);
9696
ImGui::Checkbox("Space bullets", &Config::space_bullets);
97+
ImGui::Checkbox("Dictatorship", &Config::dictatorship);
9798
ImGui::Checkbox("Full auto (beta)", &Config::full_auto);
9899
ImGui::Checkbox("Explosive melees (beta)", &Config::explosive_melees);
99100
ImGui::Checkbox("School shooter (beta)", &Config::school_shooter);
@@ -120,5 +121,14 @@ void Menu(bool render)
120121
Config::Values::movespeed = 4500.f;
121122
}
122123

124+
// EXCLUSIVE LOADING ANIMATIONS NEVER SEEN BEFORE!!!
125+
if (ImGui::Button("DISABLE ALL", ImVec2(ImGui::GetWindowContentRegionWidth()*.999, 20)))
126+
{
127+
for (bool* opt : Config::conf)
128+
{
129+
*opt = false;
130+
}
131+
}
132+
123133
ImGui::End();
124134
}

BSInternal/src/hax.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <MinHook.h>
22
#include <iostream>
3+
#include <mutex>
34
#include "../hdr/offsets.h"
45
#include "../hdr/hax.h"
56
#include "../hdr/config.h"
@@ -156,6 +157,26 @@ void __stdcall hkClientPlayer_Update(Multiplayer_Client_ClientPlayer_o* __this,
156157
#ifdef DEBUG
157158
printf("[+] ClientPlayer.Update() called!\n");
158159
#endif
160+
if (!__this || !__this->fields.m_CachedPtr)
161+
return oClientPlayer_Update(__this, method);
162+
163+
bool in_list = false;
164+
for (auto client : Globals::Hax::playerList)
165+
if (client == __this)
166+
in_list = true;
167+
168+
if (!in_list)
169+
{
170+
171+
if (__this->fields._IsLocal_k__BackingField)
172+
Globals::Hax::localPlayer = __this;
173+
else
174+
{
175+
Globals::Hax::playerListMutex.lock();
176+
Globals::Hax::playerList.push_back(__this);
177+
Globals::Hax::playerListMutex.unlock();
178+
}
179+
}
159180

160181
// Nothing here yet
161182
return oClientPlayer_Update(__this, method);
@@ -205,6 +226,18 @@ void __stdcall hkClientPlayer_TakeDamage(Multiplayer_Client_ClientPlayer_o* __th
205226
return oClientPlayer_TakeDamage(__this, damage, point, normal, fromClient, hitMarket, method);
206227
}
207228

229+
void __stdcall hkKickVote_Update(KickVote_o* __this, MethodInfo* method)
230+
{
231+
if (Config::dictatorship)
232+
{
233+
if (__this->klass->static_fields->VoteKicking)
234+
__this->klass->static_fields->VoteKicking->fields.disAgreeCount = 69;
235+
236+
237+
//__this->klass->static_fields->VoteKicking = NULL;
238+
}
239+
}
240+
208241
MH_STATUS InitHooks()
209242
{
210243
std::vector<MH_STATUS> hooks_status{};
@@ -251,6 +284,9 @@ MH_STATUS InitHooks()
251284
// TAKE DAMAGE
252285
hooks_status.push_back(MH_CreateHook(reinterpret_cast<LPVOID*>(Globals::Hax::gameAssembly + Offsets::ClientPlayer::TakeDamage), &hkClientPlayer_TakeDamage, (LPVOID*)&oClientPlayer_TakeDamage));
253286
hooks_status.push_back(MH_EnableHook(reinterpret_cast<LPVOID*>(Globals::Hax::gameAssembly + Offsets::ClientPlayer::TakeDamage)));
287+
288+
hooks_status.push_back(MH_CreateHook(reinterpret_cast<LPVOID*>(Globals::Hax::gameAssembly + Offsets::VoteKicking::Update), &hkKickVote_Update, (LPVOID*)&oKickVote_Update));
289+
hooks_status.push_back(MH_EnableHook(reinterpret_cast<LPVOID*>(Globals::Hax::gameAssembly + Offsets::VoteKicking::Update)));
254290

255291
for (auto status : hooks_status)
256292
{

0 commit comments

Comments
 (0)