├── .gitignore ├── sources ├── csgoCheat │ ├── radar.h │ ├── bhop.h │ ├── antiflash.h │ ├── wallhack.h │ ├── triggerbot.h │ ├── skinchanger.h │ ├── aimbot.h │ ├── weapon.h │ ├── patternscan.h │ ├── csgoCheat.vcxproj.user │ ├── bhop.cpp │ ├── antiflash.cpp │ ├── structures.h │ ├── radar.cpp │ ├── config.txt │ ├── config.h │ ├── offsets.cpp │ ├── offsets.h │ ├── wallhack.cpp │ ├── memory.h │ ├── structures.cpp │ ├── memory.cpp │ ├── triggerbot.cpp │ ├── patternscan.cpp │ ├── skinchanger.cpp │ ├── csgoCheat.vcxproj.filters │ ├── aimbot.cpp │ ├── weapon.cpp │ ├── main.cpp │ ├── config.cpp │ └── csgoCheat.vcxproj ├── GUI │ ├── changehotkeys.cpp │ ├── main.cpp │ ├── changehotkeys.h │ ├── skinlayout.txt │ ├── csgocheat_gui.pro │ ├── .gitignore │ ├── changeskinlayout.h │ ├── mainwindow.h │ ├── mainwindow.cpp │ ├── changeskinlayout.cpp │ ├── changeHotKeys.ui │ ├── mainwindow.ui │ └── changeSkinLayout.ui └── csgoCheat.sln ├── images └── themoerper_ext_preview.png └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | .vs 3 | Debug 4 | Debug/ 5 | Release/ 6 | x64 7 | .*.swp 8 | .*~ 9 | *~ -------------------------------------------------------------------------------- /sources/csgoCheat/radar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "memory.h" 3 | 4 | 5 | void Radar(); -------------------------------------------------------------------------------- /sources/csgoCheat/bhop.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "memory.h" 4 | 5 | 6 | void Bhop(); 7 | -------------------------------------------------------------------------------- /sources/csgoCheat/antiflash.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "memory.h" 4 | 5 | 6 | void antiflash(); 7 | -------------------------------------------------------------------------------- /sources/csgoCheat/wallhack.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "iostream" 3 | #include "memory.h" 4 | 5 | 6 | void Wallhack(); 7 | -------------------------------------------------------------------------------- /images/themoerper_ext_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheMoerp/external_csgo_cheat/HEAD/images/themoerper_ext_preview.png -------------------------------------------------------------------------------- /sources/csgoCheat/triggerbot.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "memory.h" 4 | #include "structures.h" 5 | #include "weapon.h" 6 | 7 | 8 | void Triggerbot(); -------------------------------------------------------------------------------- /sources/csgoCheat/skinchanger.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "memory.h" 4 | #include "weapon.h" 5 | #include "structures.h" 6 | 7 | 8 | void Skinchanger(); 9 | -------------------------------------------------------------------------------- /sources/csgoCheat/aimbot.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define _USE_MATH_DEFINES 3 | #include 4 | #include 5 | 6 | #include "memory.h" 7 | #include "structures.h" 8 | 9 | 10 | void Aimbot(); 11 | -------------------------------------------------------------------------------- /sources/GUI/changehotkeys.cpp: -------------------------------------------------------------------------------- 1 | #include "changehotkeys.h" 2 | 3 | ChangeHotkeys::ChangeHotkeys(QWidget *parent) 4 | : QDialog(parent) 5 | { 6 | ui.setupUi(this); 7 | setWindowTitle("Hotkeys"); 8 | 9 | 10 | } 11 | -------------------------------------------------------------------------------- /sources/csgoCheat/weapon.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "memory.h" 4 | #include "structures.h" 5 | #include "config.h" 6 | 7 | 8 | Item GetItemByID(int itemID); 9 | 10 | int GetKnifeItemDefinitionID(int knifeID); 11 | 12 | void LoadSkinConfig(); -------------------------------------------------------------------------------- /sources/csgoCheat/patternscan.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | #include "memory.h" 6 | 7 | DWORD FindAddress(HANDLE hProcess, const wchar_t* moduleName, const char* pattern, const char* mask); 8 | 9 | DWORD FindPattern(char* base, size_t size, const char* pattern, const char* mask); -------------------------------------------------------------------------------- /sources/GUI/main.cpp: -------------------------------------------------------------------------------- 1 | #include "mainwindow.h" 2 | 3 | #include 4 | #include 5 | 6 | int main(int argc, char *argv[]) 7 | { 8 | QApplication a(argc, argv); 9 | a.setStyle(QStyleFactory::create("fusion")); 10 | MainWindow w; 11 | w.show(); 12 | return a.exec(); 13 | } 14 | -------------------------------------------------------------------------------- /sources/csgoCheat/csgoCheat.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WindowsLocalDebugger 5 | 6 | -------------------------------------------------------------------------------- /sources/GUI/changehotkeys.h: -------------------------------------------------------------------------------- 1 | #ifndef CHANGEHOTKEYS_H 2 | #define CHANGEHOTKEYS_H 3 | 4 | #include 5 | #include "ui_changeHotkeys.h" 6 | 7 | class ChangeHotkeys : public QDialog { 8 | Q_OBJECT 9 | 10 | public: 11 | ChangeHotkeys(QWidget *parent = nullptr); 12 | 13 | private: 14 | Ui::ChangeHotkeys ui; 15 | }; 16 | 17 | #endif // CHANGEHOTKEYS_H 18 | -------------------------------------------------------------------------------- /sources/csgoCheat/bhop.cpp: -------------------------------------------------------------------------------- 1 | #include "bhop.h" 2 | 3 | using namespace std; 4 | 5 | 6 | void Bhop() { 7 | // Get flag 8 | DWORD localPlayer = mem.ReadMemory(offsets.clientBase + offsets.dwLocalPlayer); 9 | int flags = mem.ReadMemory(localPlayer + offsets.m_fFlags); 10 | 11 | // Checks if player touches the ground and presses Space 12 | if ((flags & (1 << 0)) && (GetAsyncKeyState(VK_SPACE) < 0)) { 13 | // Jumps 14 | mem.WriteMemory(offsets.clientBase + offsets.dwForceJump, 6); 15 | } 16 | } -------------------------------------------------------------------------------- /sources/GUI/skinlayout.txt: -------------------------------------------------------------------------------- 1 | desertEagle=37 2 | dualBerettas=625 3 | fiveSeven=979 4 | glock18=957 5 | p2000=389 6 | p250=678 7 | tec9=179 8 | ak47=44 9 | aug=690 10 | awp=736 11 | famas=919 12 | g3sg1=712 13 | galilAr=1038 14 | m4a4=309 15 | scar20=597 16 | ssg08=1048 17 | mac10=433 18 | mp7=696 19 | mp9=1037 20 | ppBizon=676 21 | p90=359 22 | ump45=556 23 | mag7=961 24 | nova=537 25 | sawedOff=638 26 | xm1014=850 27 | m249=902 28 | negev=763 29 | usps=1040 30 | m4a1s=587 31 | cz75=270 32 | mp5sd=915 33 | revolver=522 34 | knife_skin=419 35 | -------------------------------------------------------------------------------- /sources/csgoCheat/antiflash.cpp: -------------------------------------------------------------------------------- 1 | #include "antiflash.h" 2 | 3 | 4 | int flashDur = 0; 5 | void antiflash() { 6 | DWORD localPlayer = mem.ReadMemory(offsets.clientBase + offsets.dwLocalPlayer); 7 | 8 | // Current flash duration. Usually 0 9 | flashDur = mem.ReadMemory(localPlayer + offsets.m_flFlashDuration); 10 | 11 | // Checks if the player is flashed 12 | if (flashDur > 0) { 13 | 14 | // Removes flash effect 15 | mem.WriteMemory(localPlayer + offsets.m_flFlashDuration, 0); 16 | } 17 | 18 | // Sleeping time because this feature doesn't need to be fast 19 | Sleep(10); 20 | } 21 | -------------------------------------------------------------------------------- /sources/csgoCheat/structures.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define _USE_MATH_DEFINES 3 | #include 4 | 5 | 6 | // 2D Vector 7 | class Vec2 { 8 | public: 9 | float x, y; 10 | 11 | Vec2 operator+(Vec2 d); 12 | Vec2 operator-(Vec2 d); 13 | Vec2 operator*(float d); 14 | 15 | void Normalize(); 16 | }; 17 | 18 | // 3DVector 19 | class Vec3 { 20 | public: 21 | float x, y, z; 22 | 23 | Vec3 operator+(Vec3 d); 24 | Vec3 operator-(Vec3 d); 25 | Vec3 operator*(float d); 26 | 27 | void Normalize(); 28 | Vec2 CalculateAngles(); 29 | }; 30 | 31 | 32 | // Item class (for weapons) 33 | class Item { 34 | public: 35 | int skinID; 36 | int seed; // Currently not in use 37 | 38 | // Recovery Time 39 | int rstTime; 40 | }; -------------------------------------------------------------------------------- /sources/csgoCheat/radar.cpp: -------------------------------------------------------------------------------- 1 | #include "radar.h" 2 | 3 | void Radar() { 4 | // Iterates to every player entity in the current game 5 | for (int i = 0; i < 32; i++) { 6 | DWORD entity = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + i * 0x10); 7 | 8 | if (entity != 0) { 9 | bool entityIsDormant = mem.ReadMemory(entity + offsets.m_bDormant); 10 | 11 | // Checks if the current entity is updated 12 | if (!entityIsDormant) { 13 | 14 | DWORD entityTeam = mem.ReadMemory(entity + offsets.m_iTeamNum); 15 | 16 | // Checks if the entity is an ct or t 17 | if (entityTeam == 2 || entityTeam == 3) { 18 | 19 | // Sets them as spotted 20 | mem.WriteMemory(entity + offsets.m_bSpotted, 1); 21 | } 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /sources/GUI/csgocheat_gui.pro: -------------------------------------------------------------------------------- 1 | QT += core gui 2 | 3 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 4 | 5 | CONFIG += c++11 6 | 7 | # You can make your code fail to compile if it uses deprecated APIs. 8 | # In order to do so, uncomment the following line. 9 | #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 10 | 11 | SOURCES += \ 12 | changehotkeys.cpp \ 13 | changeskinlayout.cpp \ 14 | main.cpp \ 15 | mainwindow.cpp 16 | 17 | HEADERS += \ 18 | changehotkeys.h \ 19 | changeskinlayout.h \ 20 | mainwindow.h 21 | 22 | FORMS += \ 23 | changeHotKeys.ui \ 24 | changeSkinLayout.ui \ 25 | mainwindow.ui 26 | 27 | # Default rules for deployment. 28 | qnx: target.path = /tmp/$${TARGET}/bin 29 | else: unix:!android: target.path = /opt/$${TARGET}/bin 30 | !isEmpty(target.path): INSTALLS += target 31 | 32 | DISTFILES += \ 33 | skinlayout.txt 34 | -------------------------------------------------------------------------------- /sources/GUI/.gitignore: -------------------------------------------------------------------------------- 1 | # This file is used to ignore files which are generated 2 | # ---------------------------------------------------------------------------- 3 | 4 | *~ 5 | *.autosave 6 | *.a 7 | *.core 8 | *.moc 9 | *.o 10 | *.obj 11 | *.orig 12 | *.rej 13 | *.so 14 | *.so.* 15 | *_pch.h.cpp 16 | *_resource.rc 17 | *.qm 18 | .#* 19 | *.*# 20 | core 21 | !core/ 22 | tags 23 | .DS_Store 24 | .directory 25 | *.debug 26 | Makefile* 27 | *.prl 28 | *.app 29 | moc_*.cpp 30 | ui_*.h 31 | qrc_*.cpp 32 | Thumbs.db 33 | *.res 34 | *.rc 35 | /.qmake.cache 36 | /.qmake.stash 37 | 38 | # qtcreator generated files 39 | *.pro.user* 40 | 41 | # xemacs temporary files 42 | *.flc 43 | 44 | # Vim temporary files 45 | .*.swp 46 | 47 | # Visual Studio generated files 48 | *.ib_pdb_index 49 | *.idb 50 | *.ilk 51 | *.pdb 52 | *.sln 53 | *.suo 54 | *.vcproj 55 | *vcproj.*.*.user 56 | *.ncb 57 | *.sdf 58 | *.opensdf 59 | *.vcxproj 60 | *vcxproj.* 61 | 62 | # MinGW generated files 63 | *.Debug 64 | *.Release 65 | 66 | # Python byte code 67 | *.pyc 68 | 69 | # Binaries 70 | # -------- 71 | *.dll 72 | *.exe 73 | 74 | -------------------------------------------------------------------------------- /sources/csgoCheat/config.txt: -------------------------------------------------------------------------------- 1 | // keybinds 2 | triggerKey = 0x62 3 | aimbotKey = 0x61 4 | wallhackKey = 0x60 5 | bhopKey = 0x63 6 | radarKey = 0x64 7 | antiflashKey = 0x65 8 | 9 | // autoaim FOV 10 | aimbot_fov = 5 11 | 12 | // knife ID (bayonet = 0, flip = 2, karambit = 4, m9bayonet = 5, huntsman = 6, falchion = 7, navaja = 14, stiletto = 16) 13 | knife_id = 5 14 | 15 | // skin layout 16 | desertEagle = 37 17 | dualBerettas = 625 18 | fiveSeven = 979 19 | glock18 = 957 20 | p2000 = 389 21 | p250 = 678 22 | tec9 = 179 23 | ak47 = 44 24 | aug = 690 25 | awp = 736 26 | famas = 919 27 | g3sg1 = 712 28 | galilAr = 1038 29 | m4a4 = 309 30 | scar20 = 597 31 | ssg08 = 1048 32 | mac10 = 433 33 | mp7 = 696 34 | mp9 = 1037 35 | ppBizon = 676 36 | p90 = 359 37 | ump45 = 556 38 | mag7 = 961 39 | nova = 537 40 | sawedOff = 638 41 | xm1014 = 850 42 | m249 = 902 43 | negev = 763 44 | usps = 1040 45 | m4a1s = 587 46 | cz75 = 270 47 | mp5sd = 915 48 | revolver = 522 49 | m9Bayonet = 577 50 | bayonet = 417 51 | flip = 572 52 | karambit = 38 53 | huntsman = 572 54 | falchion = 572 55 | navaja = 572 56 | stiletto = 572 57 | -------------------------------------------------------------------------------- /sources/csgoCheat/config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include "memory.h" 9 | 10 | 11 | class Config { 12 | private: 13 | void ReadConfigs(); 14 | void SetConfig(std::string name, std::string value); 15 | void CreateConfig(); 16 | public: 17 | int aFOV; 18 | int triggerKey; 19 | int aimbotKey; 20 | int wallhackKey; 21 | int antiflashKey; 22 | int radarKey; 23 | int bhopKey; 24 | 25 | int cz75; 26 | int desertEagle; 27 | int dualBerettas; 28 | int fiveSeven; 29 | int glock18; 30 | int p2000; 31 | int p250; 32 | int tec9; 33 | int ak47; 34 | int aug; 35 | int awp; 36 | int famas; 37 | int g3sg1; 38 | int galilAr; 39 | int m4a4; 40 | int scar20; 41 | int sg553; 42 | int ssg08; 43 | int mac10; 44 | int mp5sd; 45 | int mp7; 46 | int mp9; 47 | int ppBizon; 48 | int p90; 49 | int ump45; 50 | int mag7; 51 | int nova; 52 | int sawedOff; 53 | int xm1014; 54 | int m249; 55 | int negev; 56 | int usps; 57 | int m4a1s; 58 | int revolver; 59 | 60 | int knifeID; 61 | int bayonet; 62 | int flip; 63 | int karambit; 64 | int m9Bayonet; 65 | int huntsman; 66 | int falchion; 67 | int navaja; 68 | int stiletto; 69 | 70 | void LoadConfigs(); 71 | }; 72 | 73 | extern Config config; -------------------------------------------------------------------------------- /sources/GUI/changeskinlayout.h: -------------------------------------------------------------------------------- 1 | #ifndef CHANGESKINLAYOUT_H 2 | #define CHANGESKINLAYOUT_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include "ui_changeskinlayout.h" 14 | 15 | class QLineEdit; 16 | class QComboBox; 17 | class QDialogButtonBox; 18 | 19 | class ChangeSkinLayout : public QDialog { 20 | Q_OBJECT 21 | 22 | public: 23 | ChangeSkinLayout(QWidget *parent = nullptr); 24 | 25 | QLineEdit *lineAK47, *lineAUG, *lineAWP, *lineCZ75, *lineDesartEagle, *lineDualBerettas, *lineFAMAS, *lineFiveSeven, 26 | *lineG35G1, *lineGalilAR, *lineGlock18, *lineKnifeSkin, *lineM249, *lineM4A1S, *lineM4A4, *lineMAC10, *lineMAG7, 27 | *lineMP5SD, *lineMP7, *lineMP9, *lineNegev, *lineNova, *lineP2000, *lineP250, *lineP90, *linePPBizon, *lineRevolver, 28 | *lineSCAR20, *lineSG553, *lineSSG08, *lineSawedOff, *lineTec9, *lineUMP45, *lineUSPS, *lineXM1014, *lineKnife; 29 | QComboBox *comboKnife; 30 | QDialogButtonBox *pushConfirm; 31 | 32 | void LoadSkinConfig(); 33 | 34 | private: 35 | Ui::ChangeSkinLayout ui; 36 | 37 | void SaveSkinLayout(); 38 | }; 39 | 40 | #endif // CHANGESKINLAYOUT_H 41 | -------------------------------------------------------------------------------- /sources/csgoCheat/offsets.cpp: -------------------------------------------------------------------------------- 1 | #include "offsets.h" 2 | #include "patternscan.h" 3 | 4 | 5 | Offsets offsets; 6 | 7 | using namespace std; 8 | 9 | 10 | void Offsets::OffsetUpdate() { 11 | DWORD tmp1 = 0, tmp2 = 0; 12 | 13 | // dwEntityList 14 | tmp1 = FindAddress(hProcess, L"client.dll", "\xBB\x00\x00\x00\x00\x83\xFF\x01\x0F\x8C\x00\x00\x00\x00\x3B\xF8", "x????xxxxx????xx"); 15 | tmp2 = mem.ReadInt(tmp1 + 1); 16 | offsets.dwEntityList = tmp2 - offsets.clientBase; 17 | 18 | // dwForceJump 19 | tmp1 = FindAddress(hProcess, L"client.dll", "\x8B\x0D\x00\x00\x00\x00\x8B\xD6\x8B\xC1\x83\xCA\x02", "xx????xxxxxxx"); 20 | tmp2 = mem.ReadInt(tmp1 + 2); 21 | offsets.dwForceJump = tmp2 - offsets.clientBase; 22 | 23 | // dwGlowObjectManager 24 | tmp1 = FindAddress(hProcess, L"client.dll", "\xA1\x00\x00\x00\x00\xA8\x01\x75\x4B", "x????xxxx"); 25 | tmp2 = mem.ReadInt(tmp1 + 1); 26 | offsets.dwGlowObjectManager = tmp2 - offsets.clientBase + 4; 27 | 28 | // dwLocalPlayer 29 | tmp1 = FindAddress(hProcess, L"client.dll", "\x8D\x34\x85\x00\x00\x00\x00\x89\x15\x00\x00\x00\x00\x8B\x41\x08\x8B\x48\x04\x83\xF9\xFF", "xxx????xx????xxxxxxxxx"); 30 | tmp2 = mem.ReadInt(tmp1 + 3); 31 | offsets.dwLocalPlayer = tmp2 - offsets.clientBase + 4; 32 | 33 | // dwClientState 34 | tmp1 = FindAddress(hProcess, L"engine.dll", "\xA1\x00\x00\x00\x00\x33\xD2\x6A\x00\x6A\x00\x33\xC9\x89\xB0", "x????xxxxxxxxxx"); 35 | tmp2 = mem.ReadInt(tmp1 + 1); 36 | offsets.dwClientState = tmp2 - offsets.engineBase; 37 | } -------------------------------------------------------------------------------- /sources/csgoCheat.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30621.155 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "csgoCheat", "csgoCheat\csgoCheat.vcxproj", "{67223E84-1478-41A5-891A-958280A0063B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {67223E84-1478-41A5-891A-958280A0063B}.Debug|x64.ActiveCfg = Debug|x64 17 | {67223E84-1478-41A5-891A-958280A0063B}.Debug|x64.Build.0 = Debug|x64 18 | {67223E84-1478-41A5-891A-958280A0063B}.Debug|x86.ActiveCfg = Debug|Win32 19 | {67223E84-1478-41A5-891A-958280A0063B}.Debug|x86.Build.0 = Debug|Win32 20 | {67223E84-1478-41A5-891A-958280A0063B}.Release|x64.ActiveCfg = Release|x64 21 | {67223E84-1478-41A5-891A-958280A0063B}.Release|x64.Build.0 = Release|x64 22 | {67223E84-1478-41A5-891A-958280A0063B}.Release|x86.ActiveCfg = Release|Win32 23 | {67223E84-1478-41A5-891A-958280A0063B}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {8954AC55-EB3D-433F-8AF7-4297D3F08553} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /sources/csgoCheat/offsets.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | 5 | class Offsets 6 | { 7 | 8 | public: 9 | DWORD m_bSpotted = 0x93D; 10 | DWORD m_clrRender = 0x70; 11 | DWORD m_fFlags = 0x104; 12 | DWORD m_flFlashDuration = 0x10470; 13 | DWORD m_iCrosshairId = 0x11838; 14 | DWORD m_iGlowIndex = 0x10488; 15 | DWORD m_iTeamNum = 0xF4; 16 | DWORD m_iHealth = 0x100; 17 | DWORD m_hMyWeapons = 0x2E08; 18 | DWORD m_iItemDefinitionIndex = 0x2FBA; 19 | DWORD m_OriginalOwnerXuidLow = 0x31D0; 20 | DWORD m_nFallbackPaintKit = 0x31D8; 21 | DWORD m_nFallbackSeed = 0x31DC; 22 | DWORD m_flFallbackWear = 0x31E0; 23 | DWORD m_iAccountID = 0x2FD8; 24 | DWORD m_iEntityQuality = 0x2FBC; 25 | DWORD m_iItemIDHigh = 0x2FD0; 26 | DWORD m_szCustomName = 0x304C; 27 | DWORD m_hActiveWeapon = 0x2F08; 28 | DWORD m_bDormant = 0xED; 29 | DWORD m_hViewModel = 0x3308; 30 | DWORD m_iViewModelIndex = 0x3250; 31 | DWORD m_nModelIndex = 0x258; 32 | DWORD m_vecOrigin = 0x138; 33 | DWORD m_vecViewOffset = 0x108; 34 | DWORD m_dwBoneMatrix = 0x26A8; 35 | DWORD m_aimPunchAngle = 0x303C; 36 | DWORD m_iShotsFired = 0x103E0; 37 | DWORD model_ambient_min = 0x590054; 38 | 39 | DWORD dwClientState_ViewAngles = 0x4D90; 40 | DWORD dwClientState = 0; // patternscan 41 | DWORD dwLocalPlayer = 0; // patternscan 42 | DWORD dwEntityList = 0; // patternscan 43 | DWORD dwForceJump = 0; // patternscan 44 | DWORD dwGlowObjectManager = 0; // patternscan 45 | 46 | 47 | DWORD processID = 0; 48 | HANDLE hProcess = 0; 49 | DWORD clientBase = 0; 50 | DWORD engineBase = 0; 51 | 52 | void OffsetUpdate(); 53 | }; 54 | 55 | extern Offsets offsets; 56 | -------------------------------------------------------------------------------- /sources/csgoCheat/wallhack.cpp: -------------------------------------------------------------------------------- 1 | #include "wallhack.h" 2 | 3 | using namespace std; 4 | 5 | 6 | void Wallhack() { 7 | DWORD localPlayer = mem.ReadMemory(offsets.clientBase + offsets.dwLocalPlayer); 8 | DWORD glowObj = mem.ReadMemory(offsets.clientBase + offsets.dwGlowObjectManager); 9 | DWORD localTeam = mem.ReadMemory(localPlayer + offsets.m_iTeamNum); 10 | 11 | // Iterates to every player entity in the current game 12 | for (int i = 0; i < 32; i++) { 13 | DWORD entity = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + i * 0x10); 14 | 15 | if (entity == 0) { 16 | continue; 17 | } 18 | 19 | // Checks if the current entity is updated 20 | bool entityIsDormant = mem.ReadMemory(entity + offsets.m_bDormant); 21 | if (entityIsDormant) { 22 | continue; 23 | } 24 | 25 | DWORD teamID = mem.ReadMemory(entity + offsets.m_iTeamNum); 26 | 27 | // Checks if the entity is a ct or t 28 | if (teamID != 2 && teamID != 3) { 29 | continue; 30 | } 31 | 32 | DWORD currentGlowIndex = mem.ReadMemory(entity + offsets.m_iGlowIndex); 33 | // Checks if the entity is an enemy 34 | if (teamID != localTeam) { 35 | 36 | // Sets the glowing color A 37 | mem.WriteMemory(glowObj + currentGlowIndex * 0x38 + 0x8, 2.0f); 38 | mem.WriteMemory(glowObj + currentGlowIndex * 0x38 + 0xC, 0.0f); 39 | mem.WriteMemory(glowObj + currentGlowIndex * 0x38 + 0x10, 0.0f); 40 | mem.WriteMemory(glowObj + currentGlowIndex * 0x38 + 0x14, 1.0f); 41 | mem.WriteMemory(glowObj + currentGlowIndex * 0x38 + 0x28, true); 42 | mem.WriteMemory(glowObj + currentGlowIndex * 0x38 + 0x29, false); 43 | 44 | 45 | 46 | 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sources/csgoCheat/memory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include "config.h" 8 | #include "offsets.h" 9 | 10 | 11 | class Memory { 12 | private: 13 | struct StringChar_t { 14 | char buffer[256]; 15 | }; 16 | 17 | public: 18 | HWND hWnd; 19 | DWORD pID; 20 | HANDLE hSS; 21 | MODULEENTRY32 mEntry; 22 | 23 | DWORD GetProcessID(const wchar_t* windowName); 24 | MODULEENTRY32 GetModule(DWORD pID, const wchar_t* moduleName); 25 | void Setup(); 26 | void GetModules(); 27 | 28 | int ReadInt(int address); 29 | 30 | // Read value from memory 31 | template 32 | T ReadMemory(DWORD address) { 33 | T buffer; 34 | ReadProcessMemory(offsets.hProcess, (LPVOID)address, &buffer, sizeof(buffer), NULL); 35 | return buffer; 36 | } 37 | 38 | 39 | // Write value from memory 40 | template 41 | void WriteMemory(DWORD address, T val) { 42 | WriteProcessMemory(offsets.hProcess, (LPVOID)address, &val, sizeof(val), NULL); 43 | } 44 | 45 | int BytesToInt32(unsigned char input[], int startOffset) 46 | { 47 | return (input[startOffset]) | (input[startOffset + 1] << 8) | 48 | (input[startOffset + 2] << 16) | (input[startOffset + 3] << 24); 49 | } 50 | 51 | template 52 | IntegerType BytesToInt32(IntegerType& result, unsigned char bytes[], bool isLittleEndian = true) 53 | { 54 | result = 0; 55 | 56 | if (isLittleEndian) 57 | for (int n = sizeof(result); n >= 0; n--) 58 | result = (result << 8) + bytes[n]; 59 | else 60 | for (unsigned n = 0; n < sizeof(result); n++) 61 | result = (result << 8) + bytes[n]; 62 | 63 | return result; 64 | } 65 | }; 66 | 67 | 68 | extern Memory mem; -------------------------------------------------------------------------------- /sources/csgoCheat/structures.cpp: -------------------------------------------------------------------------------- 1 | #include "structures.h" 2 | 3 | // Vec2 class 4 | Vec2 Vec2::operator+(Vec2 d) { 5 | float tmpX = x + d.x; 6 | float tmpY = y + d.y; 7 | return { tmpX , tmpY }; 8 | } 9 | 10 | Vec2 Vec2::operator-(Vec2 d) { 11 | float tmpX = x - d.x; 12 | float tmpY = y - d.y; 13 | return { tmpX , tmpY }; 14 | } 15 | 16 | Vec2 Vec2::operator*(float d) { 17 | float tmpX = x * d; 18 | float tmpY = y * d; 19 | return { tmpX , tmpY }; 20 | } 21 | 22 | void Vec2::Normalize() { 23 | if (x > 89.0) { 24 | x -= 360.0; 25 | } 26 | if (x < -89.0) { 27 | x += 360.0; 28 | } 29 | if (y > 180.0) { 30 | y -= 360.0; 31 | } 32 | if (y < -180.0) { 33 | y += 360.0; 34 | } 35 | } 36 | 37 | 38 | // Vec3 class 39 | Vec3 Vec3::operator+(Vec3 d) { 40 | Vec3 rslt; 41 | float tmpX = x + d.x; 42 | float tmpY = y + d.y; 43 | float tmpZ = z + d.z; 44 | return { tmpX , tmpY , tmpZ }; 45 | } 46 | 47 | Vec3 Vec3::operator-(Vec3 d) { 48 | float tmpX = x - d.x; 49 | float tmpY = y - d.y; 50 | float tmpZ = z - d.z; 51 | return { tmpX , tmpY , tmpZ }; 52 | } 53 | 54 | Vec3 Vec3::operator*(float d) { 55 | float tmpX = x * d; 56 | float tmpY = y * d; 57 | float tmpZ = z * d; 58 | return { tmpX , tmpY , tmpZ }; 59 | } 60 | 61 | void Vec3::Normalize() { 62 | while (y > 180) { 63 | y -= 360; 64 | } 65 | while (y < -180) { 66 | y += 360; 67 | } 68 | if (x > 89) { 69 | x = 89; 70 | } 71 | if (x < -89) { 72 | x = -89; 73 | } 74 | } 75 | 76 | Vec2 Vec3::CalculateAngles() { 77 | float pitch, yaw; 78 | float hypotenuse = sqrt(x * x + y * y + z * z); 79 | pitch = ((double)atan(z / hypotenuse) * 180.0) / M_PI; 80 | yaw = ((double)atan(y / x) * 180.0) / M_PI; 81 | if (x >= 0.0) { 82 | yaw += 180.0; 83 | } 84 | 85 | return { pitch, yaw }; 86 | } -------------------------------------------------------------------------------- /sources/csgoCheat/memory.cpp: -------------------------------------------------------------------------------- 1 | #include "memory.h" 2 | 3 | Memory mem; 4 | using namespace std; 5 | 6 | 7 | // Get a process by windowname 8 | DWORD Memory::GetProcessID(const wchar_t* windowName) { 9 | do { 10 | hWnd = FindWindow(0, windowName); 11 | Sleep(50); 12 | } while (!hWnd); 13 | 14 | GetWindowThreadProcessId(hWnd, &pID); 15 | 16 | cout << "CS:GO ProcessID found: " << pID << endl; 17 | cout << "" << endl; 18 | return pID; 19 | } 20 | 21 | 22 | // Get a module by name 23 | MODULEENTRY32 Memory::GetModule(DWORD pID, const wchar_t* moduleName) { 24 | hSS= CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, pID); 25 | mEntry.dwSize = sizeof(MODULEENTRY32); 26 | 27 | if (hSS!= INVALID_HANDLE_VALUE) { 28 | if (Module32First(hSS, &mEntry)) { 29 | do { 30 | if (!wcscmp((const wchar_t*)mEntry.szModule, moduleName)) { 31 | break; 32 | } 33 | } while (Module32Next(hSS, &mEntry)); 34 | } 35 | CloseHandle(hSS); 36 | } 37 | 38 | return mEntry; 39 | } 40 | 41 | 42 | void Memory::Setup() { 43 | offsets.processID = GetProcessID(L"Counter-Strike: Global Offensive - Direct3D 9"); 44 | offsets.hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, offsets.processID); 45 | } 46 | 47 | 48 | // Get client.dll and engine.dll 49 | void Memory::GetModules() { 50 | do { 51 | offsets.clientBase = (DWORD)GetModule(offsets.processID, L"client.dll").modBaseAddr; 52 | Sleep(50); 53 | } while (!offsets.clientBase); 54 | 55 | do { 56 | offsets.engineBase = (DWORD)GetModule(offsets.processID, L"engine.dll").modBaseAddr; 57 | Sleep(50); 58 | } while (!offsets.engineBase); 59 | } 60 | 61 | int Memory::ReadInt(int address) { 62 | unsigned char buffer[4] = { 0,0,0,0 }; 63 | int int32 = 0; 64 | SIZE_T bytesRead = 0; 65 | 66 | ReadProcessMemory(offsets.hProcess, (LPVOID)address, &buffer, sizeof(buffer), &bytesRead); 67 | 68 | int32 = BytesToInt32(buffer, 0); 69 | 70 | return int32; 71 | } -------------------------------------------------------------------------------- /sources/csgoCheat/triggerbot.cpp: -------------------------------------------------------------------------------- 1 | #include "triggerbot.h" 2 | 3 | using namespace std; 4 | 5 | 6 | void Triggerbot() { 7 | // Mouse settings 8 | INPUT down; 9 | down.mi.dx = 0; 10 | down.mi.dy = 0; 11 | down.type = INPUT_MOUSE; 12 | down.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; 13 | down.mi.time = 0; 14 | down.mi.dwExtraInfo = 0; 15 | 16 | INPUT up; 17 | up.mi.dx = 0; 18 | up.mi.dy = 0; 19 | up.type = INPUT_MOUSE; 20 | up.mi.dwFlags = MOUSEEVENTF_LEFTUP; 21 | up.mi.time = 0; 22 | up.mi.dwExtraInfo = 0; 23 | 24 | 25 | DWORD localPlayer = mem.ReadMemory(offsets.clientBase + offsets.dwLocalPlayer); 26 | DWORD crosshair = mem.ReadMemory(localPlayer + offsets.m_iCrosshairId); 27 | 28 | // Entity in crosshair 29 | DWORD crosshairEntity = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + (crosshair - 1) * 0x10); 30 | 31 | DWORD weaponEntity = mem.ReadMemory(localPlayer + offsets.m_hActiveWeapon) & 0xFFF; 32 | DWORD weaponBase = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + (weaponEntity - 1) * 0x10); 33 | // Current weapon ID 34 | int weaponID = mem.ReadMemory(weaponBase + offsets.m_iItemDefinitionIndex); 35 | 36 | Item curWeapon = GetItemByID(weaponID); 37 | 38 | // Sets triggerinterval to the recoverytime of the current weapon 39 | int triggerInterval = curWeapon.rstTime; 40 | 41 | // Checks if there is an entity in the crosshair 42 | if (crosshairEntity != 0) { 43 | int localPlayerTeam = mem.ReadMemory(localPlayer + offsets.m_iTeamNum); 44 | int crosshairEntityTeam = mem.ReadMemory(crosshairEntity + offsets.m_iTeamNum); 45 | 46 | // Checks if the entity is an enemey 47 | if ((crosshairEntityTeam == 2 || crosshairEntityTeam == 3) && localPlayerTeam != crosshairEntityTeam) { 48 | // You also could do this with ForceAttack 49 | SendInput(1, &down, sizeof(down)); 50 | Sleep(25); 51 | SendInput(1, &up, sizeof(up)); 52 | 53 | Sleep(triggerInterval); 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /sources/csgoCheat/patternscan.cpp: -------------------------------------------------------------------------------- 1 | #include "patternscan.h" 2 | 3 | 4 | DWORD FindAddress(HANDLE hProcess, const wchar_t* moduleName, const char* pattern, const char* mask) { 5 | MODULEENTRY32 moduleEntry = mem.GetModule(offsets.processID, moduleName); 6 | 7 | // No Module Entry found 8 | if (!moduleEntry.th32ModuleID) { 9 | return NULL; 10 | } 11 | 12 | // Module base address = scan starting point 13 | uintptr_t base = (uintptr_t)moduleEntry.modBaseAddr; 14 | // Size of Module = scan end point 15 | uintptr_t size = base + moduleEntry.modBaseSize; 16 | 17 | uintptr_t curChunk = base; 18 | SIZE_T bytesRead; 19 | 20 | while (curChunk < size) { 21 | // Area to scan 22 | char buffer[4096]; 23 | 24 | // Change read protection, raed memory and change read protection back to the original 25 | DWORD oProtect; 26 | VirtualProtectEx(hProcess, (LPVOID)curChunk, sizeof(buffer), PAGE_EXECUTE_READWRITE, &oProtect); 27 | ReadProcessMemory(hProcess, (LPVOID)curChunk, &buffer, sizeof(buffer), &bytesRead); 28 | VirtualProtectEx(hProcess, (LPVOID)curChunk, sizeof(buffer), oProtect, &oProtect); 29 | 30 | // No bytes read 31 | if (bytesRead == 0) { 32 | return NULL; 33 | } 34 | 35 | DWORD internalAddr = FindPattern((char*)&buffer, bytesRead, pattern, mask); 36 | 37 | if (internalAddr != NULL) { 38 | // Calculate real address 39 | uintptr_t offsetFromBuffer = (uintptr_t)internalAddr - (uintptr_t)&buffer; 40 | 41 | return (DWORD)(curChunk + offsetFromBuffer); 42 | } 43 | else { 44 | // Next chunk 45 | curChunk += bytesRead; 46 | } 47 | } 48 | return NULL; 49 | } 50 | 51 | 52 | // Find matching pattern 53 | DWORD FindPattern(char* base, size_t size, const char* pattern, const char* mask) { 54 | size_t patternLen = strlen(mask); 55 | 56 | for (DWORD i = 0; i < size - patternLen; i++) { 57 | bool found = true; 58 | 59 | for (DWORD j = 0; j < patternLen; j++) { 60 | 61 | if (mask[j] != '?' && pattern[j] != *(base + i + j)) { 62 | found = false; 63 | break; 64 | } 65 | } 66 | 67 | if (found) { 68 | return (DWORD)(base + i); 69 | } 70 | } 71 | 72 | return NULL; 73 | } -------------------------------------------------------------------------------- /sources/GUI/mainwindow.h: -------------------------------------------------------------------------------- 1 | #ifndef MAINWINDOW_H 2 | #define MAINWINDOW_H 3 | 4 | #include 5 | #include 6 | #include "changeskinlayout.h" 7 | #include "changehotkeys.h" 8 | #include 9 | 10 | 11 | class QPushButton; 12 | class QCheckBox; 13 | class QRadioButton; 14 | class ChangeHotkeys; 15 | 16 | QT_BEGIN_NAMESPACE 17 | namespace Ui { class MainWindow; } 18 | QT_END_NAMESPACE 19 | 20 | class MainWindow : public QMainWindow 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | MainWindow(QWidget *parent = nullptr); 26 | ~MainWindow(); 27 | 28 | // Main settings 29 | bool wallhackToggle, radarToggle, aimbotToggle, triggerToggle, skinchangerToggle, knifechangerToggle, bhopToggle, noflashToggle; 30 | float whRed = 0.0, whGreen = 0.0, whBlue = 0.0; 31 | 32 | // Skinchanger settings 33 | int skinDesartEagle, skinDualBerettas, skinFiveSeven, skinGlock18, skinTec9, skinP2000, skinP250, skinUSPS, skinCZ75, skinRevolver, 34 | skinAK47, skinAUG, skinAWP, skinFAMAS, skinG35G1, skinGalilAR, skinM4A4, skinSCAR20, skinSG553, skinSSG08, skinM4A1S, 35 | skinMAC10, skinP90, skinMP5SD, skinUMP45, skinPPBizon, skinMP7, skinMP9, 36 | skinMAG7, skinSawedOff, skinNova, skinXM1014, skinNegev, skinM249, skinKnife; 37 | int modelKnife; 38 | 39 | // Hotkey settings 40 | int wallhackKey, radarKey, aimbotKey, triggerKey, skinchangerKey, knifechangerKey, bhopKey, noflashKey; 41 | 42 | private slots: 43 | void CheckboxChanged(); 44 | void CheckboxStatus(); 45 | void ChangeHotkeys(); 46 | void Resetproccess(); 47 | void Quit(); 48 | void ChangeSkinlayout(); 49 | 50 | void SkinlayoutChanged(); 51 | 52 | private: 53 | Ui::MainWindow *ui; 54 | 55 | ChangeSkinLayout *changeSkinLayout; 56 | class ChangeHotkeys *changeHotkeys; 57 | 58 | QCheckBox *checkWallhack, *checkRadar, *checkAimbot, *checkTrigger, 59 | *checkSkinchanger, *checkKnifechanger, *checkBhop, *checkNoflash; 60 | QRadioButton *radioRed, *radioGreen, *radioBlue; 61 | QPushButton *pushChangeSkin, *pushChangeKeys, *pushReset, *pushQuit; 62 | }; 63 | #endif // MAINWINDOW_H 64 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TheMoerper external 2 | 3 | 4 | 5 | *TheMoerper external* is a lightweight external multicheat. It's just an experimental project and it's not intended for cheating in competitive matchmaking. Nobody likes tryhard cheater! 6 | 7 | ![Preview](https://github.com/TheMoerp/external_csgo_cheat/blob/master/images/themoerper_ext_preview.png) 8 | 9 | ### Features 10 | - Wallhack 11 | - Radar 12 | - Autoaim/Aimbot 13 | - Triggerbot 14 | - Bhop script 15 | - Antiflash 16 | - Skinchanger 17 | 18 | ## Usage 19 | 20 | Compile with the *x86* option. If everything is compiled and ready, you need to start cs:go and then run the *TheMoerper_external.exe*. 21 | The cheat will grab the running process and you're ready to go. 22 | Since this is an external cheat some features can be glitchy at times. 23 | 24 | I have implemented a patternscan for the offsets: *dwEntityList*, *dwForceJump*, *dwGlowObjectManager*, *dwLocalPlayer*and *dwClientState*. These are the offsets which change often. If any other offsets changes you need to manually update it. You can reverse them by hand or look them up at [frk1/hazedumper](https://github.com/frk1/hazedumper/blob/master/csgo.cs) since most of the used offsets are included in this list. 25 | 26 | ##### Wallhack 27 | Toggle the wallhack with the key **NUM_0**. Enemys will glow red. 28 | 29 | ##### Radar 30 | Toggle the radar with the key **NUM_5**. Enemys will be marked as spotted on the radar. 31 | 32 | ##### Autoaim/Aimbot 33 | Toggle the autoaim with the key **NUM_1**. When the crosshair is near the enemy's head and you leftclick, it will automatically shoot the enemy's head. It's most efficient when triggerbot and autoaim aren't on at the same time. 34 | 35 | ##### Triggerbot 36 | Toggle the triggerbot with the key **NUM_2**. It will shoot if you hover over an enemy hitbox. The shooting interval equals the recovery time of the current weapon. 37 | 38 | ##### Bhop script 39 | Toggle the bhop script with the key **NUM_3**. Just keep pressing **Space** and start bhopping. 40 | 41 | ##### Antiflash 42 | Toggle the antiflash with the key **NUM_4**. No more looking away for you :). 43 | 44 | ##### Skinchanger 45 | Since the knifechanger can be pretty glitchy I recommend to create a autoconfig file for csgo. Just create a file named *autoexec.txt* in `Programm Files (x86)/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/csfg` and write the following lines: 46 | 47 | 48 | bind f4 "record 1;stop;" 49 | host_writeconfig 50 | 51 | 52 | Then save it and rename the file to *autoexec.cvg*. 53 | 54 | Now everytime the knifemodel or the skins won't load just press **F4** to force update. 55 | 56 | You can set custom hotkeys and change the skinlayout in the file *config.txt*. 57 | You can look up skin IDs at [csgostash.com](https://csgostash.com/) and Virtual-Key Codes at [docs.microsoft.com](https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes). 58 | 59 | 60 | #### USE AT YOUR OWN RISK!!! 61 | -------------------------------------------------------------------------------- /sources/csgoCheat/skinchanger.cpp: -------------------------------------------------------------------------------- 1 | #include "skinchanger.h" 2 | 3 | // Constant precache IDs of the first knife in the precache list 4 | #define precache_bayonet_ct 90 5 | #define precache_bayonet_t 65 6 | 7 | using namespace std; 8 | 9 | 10 | int modelIndex = 0; 11 | 12 | void Skinchanger() { 13 | int knifeID = config.knifeID; 14 | 15 | // The offsets of knifemodels differs after the tenth knife 16 | int knifeIDOffset = knifeID < 10 ? 0 : 1; 17 | int knifeItemID = GetKnifeItemDefinitionID(knifeID); 18 | 19 | DWORD localPlayer = mem.ReadMemory(offsets.clientBase + offsets.dwLocalPlayer); 20 | if (localPlayer) { 21 | 22 | // Iterates to every weapon slot (primary, secondary, knife). If the player holds a bomb for example it's set into an weapon slot 23 | for (int i = 0; i < 8; i++) { 24 | DWORD curWeapon = mem.ReadMemory(localPlayer + offsets.m_hMyWeapons + i * 0x4) & 0xFFF; 25 | DWORD curWeaponBase = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + (curWeapon - 1) * 0x10); 26 | 27 | if (curWeaponBase != 0) { 28 | short curWeaponID = mem.ReadMemory(curWeaponBase + offsets.m_iItemDefinitionIndex); 29 | 30 | // Sets everything but skin, modelindex, knifeItemID, seed 31 | mem.WriteMemory(curWeaponBase + offsets.m_iItemIDHigh, -1); 32 | mem.WriteMemory(curWeaponBase + offsets.m_flFallbackWear, 0.00001f); 33 | 34 | if (curWeaponID == 42 || curWeaponID == 59 || curWeaponID == knifeItemID) { 35 | // curWeapon is knife 36 | if (modelIndex > 0) { 37 | Item curItem = GetItemByID(knifeItemID); 38 | int paintKit = curItem.skinID; 39 | 40 | mem.WriteMemory(curWeaponBase + offsets.m_iItemDefinitionIndex, knifeItemID); 41 | mem.WriteMemory(curWeaponBase + offsets.m_nFallbackSeed, 661); 42 | mem.WriteMemory(curWeaponBase + offsets.m_nFallbackPaintKit, paintKit); 43 | mem.WriteMemory(curWeaponBase + offsets.m_nModelIndex, modelIndex); 44 | } 45 | } 46 | else { 47 | // curWeapon is weapon 48 | Item curItem = GetItemByID(curWeaponID); 49 | if (curItem.skinID != 0) { 50 | int paintKit = curItem.skinID; 51 | 52 | mem.WriteMemory(curWeaponBase + offsets.m_nFallbackSeed, 661); 53 | mem.WriteMemory(curWeaponBase + offsets.m_nFallbackPaintKit, paintKit); 54 | } 55 | } 56 | } 57 | } 58 | 59 | // Calculates and sets the modelindex of the knife 60 | DWORD activeWeapon = mem.ReadMemory(localPlayer + offsets.m_hActiveWeapon) & 0xFFF; 61 | DWORD activeWeaponBase = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + (activeWeapon - 1) * 0x10); 62 | if (activeWeaponBase != 0) { 63 | short activeWeaponID = mem.ReadMemory(activeWeaponBase + offsets.m_iItemDefinitionIndex); 64 | int weaponViewModelID = mem.ReadMemory(activeWeaponBase + offsets.m_iViewModelIndex); 65 | 66 | if (activeWeaponID == 42) { 67 | // ct team 68 | modelIndex = weaponViewModelID + precache_bayonet_ct + knifeID * 3 + knifeIDOffset; 69 | } 70 | else if (activeWeaponID == 59) { 71 | // t team 72 | modelIndex = weaponViewModelID + precache_bayonet_t + knifeID * 3 + knifeIDOffset; 73 | } 74 | else if (activeWeaponID != knifeItemID) { 75 | // no knife 76 | return; 77 | } 78 | 79 | DWORD knifeViewModel = mem.ReadMemory(localPlayer + offsets.m_hViewModel) & 0xFFF; 80 | knifeViewModel = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + (knifeViewModel - 1) * 0x10); 81 | 82 | if (knifeViewModel != 0) { 83 | // Write modelindex 84 | mem.WriteMemory(knifeViewModel + offsets.m_nModelIndex, modelIndex); 85 | } 86 | } 87 | } 88 | else { 89 | modelIndex = 0; 90 | } 91 | } -------------------------------------------------------------------------------- /sources/csgoCheat/csgoCheat.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Quelldateien 20 | 21 | 22 | Quelldateien 23 | 24 | 25 | Quelldateien 26 | 27 | 28 | Quelldateien 29 | 30 | 31 | Quelldateien 32 | 33 | 34 | Quelldateien 35 | 36 | 37 | Quelldateien 38 | 39 | 40 | Quelldateien 41 | 42 | 43 | Quelldateien 44 | 45 | 46 | Quelldateien 47 | 48 | 49 | Quelldateien 50 | 51 | 52 | Quelldateien 53 | 54 | 55 | Quelldateien 56 | 57 | 58 | Quelldateien 59 | 60 | 61 | 62 | 63 | Headerdateien 64 | 65 | 66 | Headerdateien 67 | 68 | 69 | Headerdateien 70 | 71 | 72 | Headerdateien 73 | 74 | 75 | Headerdateien 76 | 77 | 78 | Headerdateien 79 | 80 | 81 | Headerdateien 82 | 83 | 84 | Headerdateien 85 | 86 | 87 | Headerdateien 88 | 89 | 90 | Headerdateien 91 | 92 | 93 | Headerdateien 94 | 95 | 96 | Headerdateien 97 | 98 | 99 | Headerdateien 100 | 101 | 102 | -------------------------------------------------------------------------------- /sources/csgoCheat/aimbot.cpp: -------------------------------------------------------------------------------- 1 | #include "aimbot.h" 2 | 3 | using namespace std; 4 | 5 | // 8 = head 6 | const int TARGET_BONE = 8; 7 | 8 | void Aimbot() { 9 | // Get localplayer data 10 | DWORD localPlayer = mem.ReadMemory(offsets.clientBase + offsets.dwLocalPlayer); 11 | if (localPlayer) { 12 | int localPlayerTeam = mem.ReadMemory(localPlayer + offsets.m_iTeamNum); 13 | // Get enginepointer 14 | DWORD enginePointer = mem.ReadMemory(offsets.engineBase + offsets.dwClientState); 15 | 16 | float oldDistX = 11111111.0; 17 | float oldDistY = 11111111.0; 18 | 19 | // Iterate through all entitys 20 | for (int i = 1; i < 32; i++) { 21 | DWORD entity = mem.ReadMemory(offsets.clientBase + offsets.dwEntityList + i * 0x10); 22 | 23 | // Get entity data 24 | if (entity == 0) { 25 | continue; 26 | } 27 | 28 | int entityTeam = mem.ReadMemory(entity + offsets.m_iTeamNum); 29 | int entityHealth = mem.ReadMemory(entity + offsets.m_iHealth); 30 | bool entityDormant = mem.ReadMemory(entity + offsets.m_bDormant); 31 | 32 | // Reset target data 33 | int target = 0; 34 | int targetHealth = 0; 35 | bool targetDormant = true; 36 | Vec3 targetPos, localPos; 37 | 38 | // Checks if the entity is an enemy 39 | if ((localPlayerTeam != entityTeam) && (entityHealth > 0)) { 40 | 41 | // Get localangles 42 | Vec3 localAngle, entityPos; 43 | localAngle.x = mem.ReadMemory(enginePointer + offsets.dwClientState_ViewAngles + 0x0); 44 | localAngle.y = mem.ReadMemory(enginePointer + offsets.dwClientState_ViewAngles + 0x4); 45 | localAngle.z = mem.ReadMemory(localPlayer + offsets.m_vecViewOffset + 0x8); 46 | 47 | // Get localposition 48 | localPos.x = mem.ReadMemory(localPlayer + offsets.m_vecOrigin + 0x0); 49 | localPos.y = mem.ReadMemory(localPlayer + offsets.m_vecOrigin + 0x4); 50 | localPos.z = mem.ReadMemory(localPlayer + offsets.m_vecOrigin + 0x8) + localAngle.z; 51 | 52 | DWORD entityBones = mem.ReadMemory(entity + offsets.m_dwBoneMatrix); 53 | 54 | // Get position of the enemy's head 55 | entityPos.x = mem.ReadMemory(entityBones + 0x30 * TARGET_BONE + 0x0C); 56 | entityPos.y = mem.ReadMemory(entityBones + 0x30 * TARGET_BONE + 0x1C); 57 | entityPos.z = mem.ReadMemory(entityBones + 0x30 * TARGET_BONE + 0x2C); 58 | 59 | 60 | // Calculate angles 61 | Vec3 tmp = localPos - entityPos; 62 | Vec2 angleVec = tmp.CalculateAngles(); 63 | 64 | // Calculate distance 65 | float distX = angleVec.x - localAngle.x; 66 | if (distX < -89.0) { 67 | distX += 360.0; 68 | } 69 | else if (distX > 89.0) { 70 | distX -= 360.0; 71 | } 72 | if (distX < 0.0) { 73 | distX = -distX; 74 | } 75 | float distY = angleVec.y - localAngle.y; 76 | if (distY < -180.0) { 77 | distY += 360.0; 78 | } 79 | else if (distY > 180.0) { 80 | distY -= 360.0; 81 | } 82 | if (distY < 0.0) { 83 | distY = -distY; 84 | } 85 | 86 | // Checks if the enemys head is in FOV range 87 | if (distX < (oldDistX - 0.25) && distY < (oldDistY - 0.25) && distX <= config.aFOV && distY <= config.aFOV && distX) { 88 | 89 | // If the bot is ready to target an enemy let the enemy glow 90 | DWORD curGlowIndex = mem.ReadMemory(entity + offsets.m_iGlowIndex); 91 | DWORD glowObj = mem.ReadMemory(offsets.clientBase + offsets.dwGlowObjectManager); 92 | mem.WriteMemory(glowObj + curGlowIndex * 0x38 + 0x8, 0.0); 93 | mem.WriteMemory(glowObj + curGlowIndex * 0x38 + 0xC, 2.0); 94 | mem.WriteMemory(glowObj + curGlowIndex * 0x38 + 0x10, 0.0); 95 | 96 | // target = entity 97 | oldDistX = distX; 98 | oldDistY = distY; 99 | target = entity; 100 | targetHealth = entityHealth; 101 | targetDormant = entityDormant; 102 | targetPos = entityPos; 103 | } 104 | } 105 | 106 | // Checks if mouse is clicked 107 | if (GetAsyncKeyState(VK_LBUTTON) < 0 && localPlayer != 0) { 108 | 109 | // Checks if there is a target set 110 | if (target != 0 && targetHealth > 0 && targetDormant == false) { 111 | 112 | // Calculate angles 113 | Vec3 tmp = localPos - targetPos; 114 | Vec2 angleVec = tmp.CalculateAngles(); 115 | 116 | // Normalize angles 117 | angleVec.Normalize(); 118 | 119 | // Aim 120 | mem.WriteMemory(enginePointer + offsets.dwClientState_ViewAngles, angleVec.x); 121 | mem.WriteMemory(enginePointer + offsets.dwClientState_ViewAngles + 0x4, angleVec.y); 122 | 123 | Sleep(1); 124 | } 125 | } 126 | } 127 | } 128 | } 129 | -------------------------------------------------------------------------------- /sources/csgoCheat/weapon.cpp: -------------------------------------------------------------------------------- 1 | #include "weapon.h" 2 | 3 | 4 | using namespace std; 5 | 6 | 7 | Item cz75, desertEagle, dualBerettas, fiveSeven, glock18, p250, tec9, usps, revolver, p2000; 8 | Item ak47, aug, awp, famas, g3sg1, galilAr, m4a4, sg553, scar20, ssg08, m4a1s; 9 | Item mac10, mp5sd, mp7, mp9, ppBizon, p90, ump45; 10 | Item mag7, nova, sawedOff, xm1014, m249, negev; 11 | Item bayonet, flip, karambit, m9Bayonet, huntsman, falchion, navaja, stiletto; 12 | 13 | 14 | // Returns an Item object matching to the paramter id 15 | Item GetItemByID(int itemID) { 16 | Item unknownItem; 17 | unknownItem.skinID = 0; 18 | switch (itemID) { 19 | case 1: 20 | return desertEagle; 21 | case 2: 22 | return dualBerettas; 23 | case 3: 24 | return fiveSeven; 25 | case 4: 26 | return glock18; 27 | case 7: 28 | return ak47; 29 | case 8: 30 | return aug; 31 | case 9: 32 | return awp; 33 | case 10: 34 | return famas; 35 | case 11: 36 | return g3sg1; 37 | case 13: 38 | return galilAr; 39 | case 14: 40 | return m249; 41 | case 16: 42 | return m4a4; 43 | case 17: 44 | return mac10; 45 | case 19: 46 | return p90; 47 | case 262167: 48 | return mp5sd; 49 | case 24: 50 | return ump45; 51 | case 25: 52 | return xm1014; 53 | case 26: 54 | return ppBizon; 55 | case 27: 56 | return mag7; 57 | case 28: 58 | return negev; 59 | case 29: 60 | return sawedOff; 61 | case 30: 62 | return tec9; 63 | case 32: 64 | return p2000; 65 | case 33: 66 | return mp7; 67 | case 34: 68 | return mp9; 69 | case 35: 70 | return nova; 71 | case 36: 72 | return p250; 73 | case 38: 74 | return scar20; 75 | case 39: 76 | return sg553; 77 | case 40: 78 | return ssg08; 79 | case 262207: 80 | return cz75; 81 | case 262205: 82 | return usps; 83 | case 262204: 84 | return m4a1s; 85 | case 262208: 86 | return revolver; 87 | case 500: 88 | return bayonet; 89 | case 505: 90 | return flip; 91 | case 512: 92 | return falchion; 93 | case 522: 94 | return stiletto; 95 | case 508: 96 | return m9Bayonet; 97 | case 520: 98 | return navaja; 99 | case 509: 100 | return huntsman; 101 | default: 102 | return unknownItem; 103 | } 104 | } 105 | 106 | 107 | // Returns the DefinitionID of a knife 108 | int GetKnifeItemDefinitionID(int knifeID) { 109 | switch (knifeID) { 110 | case 0: 111 | return 500; 112 | case 2: 113 | return 505; 114 | case 4: 115 | return 507; 116 | case 5: 117 | return 508; 118 | case 6: 119 | return 509; 120 | case 7: 121 | return 512; 122 | case 14: 123 | return 520; 124 | case 16: 125 | return 522; 126 | default: 127 | break; 128 | } 129 | } 130 | 131 | 132 | // Loads skin config 133 | void LoadSkinConfig() { 134 | cz75.rstTime = 243; 135 | desertEagle.rstTime = 812; 136 | dualBerettas.rstTime = 525; 137 | fiveSeven.rstTime = 201; 138 | glock18.rstTime = 201; 139 | p2000.rstTime = 350; 140 | p250.rstTime = 346; 141 | usps.rstTime = 392; 142 | ak47.rstTime = 350; 143 | aug.rstTime = 369; 144 | awp.rstTime = 430; 145 | famas.rstTime = 350; 146 | g3sg1.rstTime = 251; 147 | galilAr.rstTime = 545; 148 | m4a4.rstTime = 301; 149 | m4a1s.rstTime = 339; 150 | scar20.rstTime = 545; 151 | sg553.rstTime = 453; 152 | ssg08.rstTime = 143; 153 | mac10.rstTime = 400; 154 | mp5sd.rstTime = 438; 155 | mp7.rstTime = 438; 156 | mp9.rstTime = 258; 157 | ppBizon.rstTime = 332; 158 | p90.rstTime = 350; 159 | ump45.rstTime = 400; 160 | mag7.rstTime = 461; 161 | nova.rstTime = 461; 162 | sawedOff.rstTime = 506; 163 | m249.rstTime = 829; 164 | negev.rstTime = 301; 165 | 166 | cz75.skinID = config.cz75; 167 | desertEagle.skinID = config.desertEagle; 168 | dualBerettas.skinID = config.dualBerettas; 169 | fiveSeven.skinID = config.fiveSeven; 170 | glock18.skinID = config.glock18; 171 | p2000.skinID = config.p2000; 172 | p250.skinID = config.p250; 173 | tec9.skinID = config.tec9; 174 | ak47.skinID = config.ak47; 175 | aug.skinID = config.aug; 176 | awp.skinID = config.awp; 177 | famas.skinID = config.famas; 178 | g3sg1.skinID = config.g3sg1; 179 | galilAr.skinID = config.galilAr; 180 | m4a4.skinID = config.m4a4; 181 | scar20.skinID = config.scar20; 182 | sg553.skinID = config.sg553; 183 | ssg08.skinID = config.ssg08; 184 | mac10.skinID = config.mac10; 185 | mp5sd.skinID = config.mp5sd; 186 | mp7.skinID = config.mp7; 187 | mp9.skinID = config.mp9; 188 | ppBizon.skinID = config.ppBizon; 189 | p90.skinID = config.p90; 190 | ump45.skinID = config.ump45; 191 | mag7.skinID = config.mag7; 192 | nova.skinID = config.nova; 193 | sawedOff.skinID = config.sawedOff; 194 | xm1014.skinID = config.xm1014; 195 | m249.skinID = config.m249; 196 | negev.skinID = config.negev; 197 | usps.skinID = config.usps; 198 | m4a1s.skinID = config.m4a1s; 199 | revolver.skinID = config.revolver; 200 | bayonet.skinID = config.bayonet; 201 | flip.skinID = config.flip; 202 | karambit.skinID = config.karambit; 203 | m9Bayonet.skinID = config.m9Bayonet; 204 | huntsman.skinID = config.huntsman; 205 | falchion.skinID = config.falchion; 206 | navaja.skinID = config.navaja; 207 | stiletto.skinID = config.stiletto; 208 | } -------------------------------------------------------------------------------- /sources/csgoCheat/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "memory.h" 6 | #include "bhop.h" 7 | #include "triggerbot.h" 8 | #include "wallhack.h" 9 | #include "skinchanger.h" 10 | #include "weapon.h" 11 | #include "aimbot.h" 12 | #include "config.h" 13 | #include "antiflash.h" 14 | #include "radar.h" 15 | 16 | 17 | using namespace std; 18 | 19 | bool triggerToggle = false; 20 | bool whToggle = false; 21 | bool bhobToggle = false; 22 | bool aimbotToggle = false; 23 | bool antiflashToggle = false; 24 | bool radarToggle = false; 25 | 26 | 27 | // Initiates the memory process 28 | void Init() { 29 | cout << "Initiating engine..." << endl; 30 | mem.Setup(); 31 | mem.GetModules(); 32 | offsets.OffsetUpdate(); 33 | config.LoadConfigs(); 34 | } 35 | 36 | 37 | // Toggle features 38 | void toggleFeatures() { 39 | if (GetKeyState(config.triggerKey) < 0 && triggerToggle == false) { 40 | triggerToggle = true; 41 | cout << "Triggerbot on" << endl; 42 | Sleep(100); 43 | } 44 | else if (GetKeyState(config.triggerKey) < 0 && triggerToggle == true) { 45 | triggerToggle = false; 46 | cout << "Triggerbot off" << endl; 47 | Sleep(100); 48 | } 49 | else if (GetKeyState(config.wallhackKey) < 0 && whToggle == false) { 50 | whToggle = true; 51 | cout << "Wallhack on" << endl; 52 | Sleep(100); 53 | } 54 | else if (GetKeyState(config.wallhackKey) < 0 && whToggle == true) { 55 | whToggle = false; 56 | cout << "Wallhack off" << endl; 57 | Sleep(100); 58 | } 59 | else if (GetKeyState(config.bhopKey) < 0 && bhobToggle == false) { 60 | bhobToggle = true; 61 | cout << "Bhop on" << endl; 62 | Sleep(100); 63 | } 64 | else if (GetKeyState(config.bhopKey) < 0 && bhobToggle == true) { 65 | bhobToggle = false; 66 | cout << "Bhop off" << endl; 67 | Sleep(100); 68 | } 69 | else if (GetKeyState(config.aimbotKey) < 0 && aimbotToggle == false) { 70 | aimbotToggle = true; 71 | cout << "Aimbot on" << endl; 72 | Sleep(100); 73 | } 74 | else if (GetKeyState(config.aimbotKey) < 0 && aimbotToggle == true) { 75 | aimbotToggle = false; 76 | cout << "Aimbot off" << endl; 77 | Sleep(100); 78 | } 79 | else if (GetKeyState(config.antiflashKey) < 0 && antiflashToggle == false) { 80 | antiflashToggle = true; 81 | cout << "Antiflash on" << endl; 82 | Sleep(100); 83 | } 84 | else if (GetKeyState(config.antiflashKey) < 0 && antiflashToggle == true) { 85 | antiflashToggle = false; 86 | cout << "Antiflash off" << endl; 87 | Sleep(100); 88 | } 89 | else if (GetKeyState(config.radarKey) < 0 && radarToggle == false) { 90 | radarToggle = true; 91 | cout << "Radar on" << endl; 92 | Sleep(100); 93 | } 94 | else if (GetKeyState(config.radarKey) < 0 && radarToggle == true) { 95 | radarToggle = false; 96 | cout << "Radar off" << endl; 97 | Sleep(100); 98 | } 99 | } 100 | 101 | 102 | // Fast features 103 | void NoDelayFeatures() { 104 | cout << "--> Triggerbot ready (Toggle it with NUM_2)" << endl; 105 | cout << "--> Autoaim ready (Toggle it with NUM_1)" << endl; 106 | cout << "--> Bhop ready (Toggle it with NUM_3)" << endl; 107 | 108 | while (true) { 109 | if (triggerToggle) { 110 | Triggerbot(); 111 | } 112 | if (bhobToggle) { 113 | Bhop(); 114 | } 115 | if (aimbotToggle) { 116 | Aimbot(); 117 | } 118 | 119 | } 120 | } 121 | 122 | 123 | // Not so fast features 124 | void DelayFeatures() { 125 | Sleep(10); 126 | cout << "--> Wallhack ready (Toggle it with NUM_0)" << endl; 127 | cout << "--> Radar ready (Toggle it with NUM_5)" << endl; 128 | cout << "--> Antiflash ready (Toggle it with NUM_4)" << endl; 129 | 130 | while (true) { 131 | if (whToggle) { 132 | Wallhack(); 133 | } 134 | if (radarToggle) { 135 | Radar(); 136 | } 137 | if (antiflashToggle) { 138 | antiflash(); 139 | } 140 | Sleep(1); 141 | } 142 | } 143 | 144 | // The skinchanger has to be very fast in order to work properly 145 | void SkinChangerThread() { 146 | Sleep(30); 147 | cout << "--> Skinchanger activated" << endl; 148 | cout << "" << endl; 149 | cout << "----------------------------------------------------------" << endl; 150 | cout << "\n\n\n Toggle Log" << endl; 151 | cout << "----------------------------------------------------------\n" << endl; 152 | cout << "Triggerbot off\nAntiflash off\nWallhack off\nAutoaim off\nRadar off\nBhop off" << endl; 153 | 154 | LoadSkinConfig(); 155 | while (true) { 156 | Skinchanger(); 157 | } 158 | } 159 | 160 | 161 | int main() 162 | { 163 | SetConsoleTitle(L"TheMoerper - external"); 164 | 165 | // Sets window size 166 | HWND console = GetConsoleWindow(); 167 | RECT r; 168 | GetWindowRect(console, &r); 169 | MoveWindow(console, r.left, r.top, 500, 700, TRUE); 170 | 171 | cout << "\n The Moerper - external" << endl; 172 | cout << "----------------------------------------------------------" << endl; 173 | cout << "waiting for CS:GO..." << endl; 174 | 175 | Init(); 176 | 177 | cout << "" << endl; 178 | cout << "Starting Features..." << endl; 179 | 180 | // Starts threads 181 | thread NoDelayThread(NoDelayFeatures); 182 | thread DelayThread(DelayFeatures); 183 | thread SkinChangerThread(SkinChangerThread); 184 | 185 | Sleep(20); 186 | while (true) { 187 | toggleFeatures(); 188 | Sleep(50); 189 | } 190 | } -------------------------------------------------------------------------------- /sources/csgoCheat/config.cpp: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | 3 | Config config; 4 | 5 | using namespace std; 6 | 7 | void Config::LoadConfigs() { 8 | ifstream configFile("config.txt"); 9 | 10 | if (configFile.good()) 11 | { 12 | ReadConfigs(); 13 | } 14 | else 15 | { 16 | CreateConfig(); 17 | ReadConfigs(); 18 | } 19 | } 20 | 21 | void Config::ReadConfigs() { 22 | ifstream configFile("config.txt"); 23 | 24 | if (configFile.is_open()) 25 | { 26 | std::string line; 27 | while (std::getline(configFile, line)) 28 | { 29 | line.erase(std::remove_if(line.begin(), line.end(), isspace), line.end()); 30 | 31 | if ((line[0] == '/' && line[1] == '/') || line.empty()) 32 | continue; 33 | 34 | auto delimiterPos = line.find("="); 35 | string name = line.substr(0, delimiterPos); 36 | string value = line.substr(delimiterPos + 1); 37 | 38 | SetConfig(name, value); 39 | } 40 | } 41 | } 42 | 43 | void Config::SetConfig(std::string name, std::string value) { 44 | stringstream val(value); 45 | if (name == "aimbot_fov") { 46 | val >> aFOV; 47 | } 48 | else if (name == "desertEagle") { 49 | val >> desertEagle; 50 | } 51 | else if (name == "dualBerettas") { 52 | val >> dualBerettas; 53 | } 54 | else if (name == "fiveSeven") { 55 | val >> fiveSeven; 56 | } 57 | else if (name == "glock18") { 58 | val >> glock18; 59 | } 60 | else if (name == "p2000") { 61 | val >> p2000; 62 | } 63 | else if (name == "p250") { 64 | val >> p250; 65 | } 66 | else if (name == "tec9") { 67 | val >> tec9; 68 | } 69 | else if (name == "ak47") { 70 | val >> ak47; 71 | } 72 | else if (name == "aug") { 73 | val >> aug; 74 | } 75 | else if (name == "awp") { 76 | val >> awp; 77 | } 78 | else if (name == "famas") { 79 | val >> famas; 80 | } 81 | else if (name == "g3sg1") { 82 | val >> g3sg1; 83 | } 84 | else if (name == "galilAr") { 85 | val >> galilAr; 86 | } 87 | else if (name == "m4a4") { 88 | val >> m4a4; 89 | } 90 | else if (name == "scar20") { 91 | val >> scar20; 92 | } 93 | else if (name == "ssg08") { 94 | val >> ssg08; 95 | } 96 | else if (name == "mac10") { 97 | val >> mac10; 98 | } 99 | else if (name == "mp7") { 100 | val >> mp7; 101 | } 102 | else if (name == "mp9") { 103 | val >> mp9; 104 | } 105 | else if (name == "ppBizon") { 106 | val >> ppBizon; 107 | } 108 | else if (name == "p90") { 109 | val >> p90; 110 | } 111 | else if (name == "ump45") { 112 | val >> ump45; 113 | } 114 | else if (name == "mag7") { 115 | val >> mag7; 116 | } 117 | else if (name == "nova") { 118 | val >> nova; 119 | } 120 | else if (name == "sawedOff") { 121 | val >> sawedOff; 122 | } 123 | else if (name == "xm1014") { 124 | val >> xm1014; 125 | } 126 | else if (name == "m249") { 127 | val >> m249; 128 | } 129 | else if (name == "negev") { 130 | val >> negev; 131 | } 132 | else if (name == "usps") { 133 | val >> usps; 134 | } 135 | else if (name == "m4a1s") { 136 | val >> m4a1s; 137 | } 138 | else if (name == "cz75") { 139 | val >> cz75; 140 | } 141 | else if (name == "mp5sd") { 142 | val >> mp5sd; 143 | } 144 | else if (name == "revolver") { 145 | val >> revolver; 146 | } 147 | else if (name == "knife_id") { 148 | val >> knifeID; 149 | } 150 | else if (name == "m9Bayonet") { 151 | val >> m9Bayonet; 152 | } 153 | else if (name == "bayonet") { 154 | val >> bayonet; 155 | } 156 | else if (name == "flip") { 157 | val >> flip; 158 | } 159 | else if (name == "karambit") { 160 | val >> karambit; 161 | } 162 | else if (name == "huntsman") { 163 | val >> huntsman; 164 | } 165 | else if (name == "falchion") { 166 | val >> falchion; 167 | } 168 | else if (name == "navaja") { 169 | val >> navaja; 170 | } 171 | else if (name == "stiletto") { 172 | val >> stiletto; 173 | } 174 | else if (name == "triggerKey") { 175 | val << std::hex; 176 | val >> triggerKey; 177 | } 178 | else if (name == "aimbotKey") { 179 | val << std::hex; 180 | val >> aimbotKey; 181 | } 182 | else if (name == "wallhackKey") { 183 | val << std::hex; 184 | val >> wallhackKey; 185 | } 186 | else if (name == "antiflashKey") { 187 | val << std::hex; 188 | val >> antiflashKey; 189 | } 190 | else if (name == "radarKey") { 191 | val << std::hex; 192 | val >> radarKey; 193 | } 194 | else if (name == "bhopKey") { 195 | val << std::hex; 196 | val >> bhopKey; 197 | } 198 | } 199 | 200 | 201 | 202 | void Config::CreateConfig() { 203 | std::ofstream cfgFile("config.txt"); 204 | 205 | string cfgText = 206 | "// keybinds\n" 207 | "triggerKey = 0x62\n" 208 | "aimbotKey = 0x61\n" 209 | "wallhackKey = 0x60\n" 210 | "bhopKey = 0x63\n" 211 | "radarKey = 0x64\n" 212 | "antiflashKey = 0x65\n" 213 | "\n" 214 | "// autoaim FOV\n" 215 | "aimbot_fov = 5\n" 216 | "\n" 217 | "// knife ID (bayonet = 0, flip = 2, karambit = 4, m9bayonet = 5, huntsman = 6, falchion = 7, navaja = 14, stiletto = 16)\n" 218 | "knife_id = 5\n" 219 | "\n" 220 | "// skin layout\n" 221 | "desertEagle = 37\n" 222 | "dualBerettas = 625\n" 223 | "fiveSeven = 979\n" 224 | "glock18 = 957\n" 225 | "p2000 = 389\n" 226 | "p250 = 678\n" 227 | "tec9 = 179\n" 228 | "ak47 = 44\n" 229 | "aug = 690\n" 230 | "awp = 736\n" 231 | "famas = 919\n" 232 | "g3sg1 = 712\n" 233 | "galilAr = 1038\n" 234 | "m4a4 = 309\n" 235 | "scar20 = 597\n" 236 | "ssg08 = 1048\n" 237 | "mac10 = 433\n" 238 | "mp7 = 696\n" 239 | "mp9 = 1037\n" 240 | "ppBizon = 676\n" 241 | "p90 = 359\n" 242 | "ump45 = 556\n" 243 | "mag7 = 961\n" 244 | "nova = 537\n" 245 | "sawedOff = 638\n" 246 | "xm1014 = 850\n" 247 | "m249 = 902\n" 248 | "negev = 763\n" 249 | "usps = 1040\n" 250 | "m4a1s = 587\n" 251 | "cz75 = 270\n" 252 | "mp5sd = 915\n" 253 | "revolver = 522\n" 254 | "m9Bayonet = 577\n" 255 | "bayonet = 417\n" 256 | "flip = 572\n" 257 | "karambit = 38\n" 258 | "huntsman = 572\n" 259 | "falchion = 572\n" 260 | "navaja = 572\n" 261 | "stiletto = 572\n" 262 | ; 263 | 264 | cfgFile << cfgText; 265 | } -------------------------------------------------------------------------------- /sources/GUI/mainwindow.cpp: -------------------------------------------------------------------------------- 1 | #include "mainwindow.h" 2 | #include "ui_mainwindow.h" 3 | #include "changeskinlayout.h" 4 | #include "changehotkeys.h" 5 | 6 | MainWindow::MainWindow(QWidget *parent) 7 | : QMainWindow(parent) 8 | , ui(new Ui::MainWindow) 9 | { 10 | ui->setupUi(this); 11 | setWindowTitle("The Moerper external"); 12 | 13 | changeSkinLayout = new ChangeSkinLayout(this); 14 | changeHotkeys = new class ChangeHotkeys(this); 15 | 16 | changeSkinLayout->LoadSkinConfig(); 17 | 18 | // Get Objects 19 | checkWallhack = ui->checkWallhack; 20 | checkRadar = ui->checkRadar; 21 | checkAimbot = ui->checkAimbot; 22 | checkTrigger = ui->checkTrigger; 23 | checkSkinchanger = ui->checkSkinchanger; 24 | checkKnifechanger = ui->checkKnifechnager; 25 | checkBhop = ui->checkBhop; 26 | checkNoflash = ui->checkNoflash; 27 | 28 | radioRed = ui->radioRed; 29 | radioGreen = ui->radioGreen; 30 | radioBlue = ui->radioBlue; 31 | 32 | pushChangeSkin = ui->pushChangeSkin; 33 | pushChangeKeys = ui->pushChangeKeys; 34 | pushReset = ui->pushReset; 35 | pushQuit = ui->pushQuit; 36 | 37 | connect(checkWallhack, SIGNAL(stateChanged(int)), this, SLOT(CheckboxChanged())); 38 | connect(checkRadar, SIGNAL(stateChanged(int)), this, SLOT(CheckboxChanged())); 39 | connect(checkAimbot, SIGNAL(stateChanged(int)), this, SLOT(CheckboxChanged())); 40 | connect(pushChangeKeys, SIGNAL(clicked()), this, SLOT(ChangeHotkeys())); 41 | connect(pushReset, SIGNAL(clicked()), this, SLOT(Resetproccess())); 42 | connect(pushQuit, SIGNAL(clicked()), this, SLOT(Quit())); 43 | connect(pushChangeSkin, SIGNAL(clicked()), this, SLOT(ChangeSkinlayout())); 44 | 45 | connect(changeSkinLayout->pushConfirm, SIGNAL(accepted()), this, SLOT(SkinlayoutChanged())); 46 | } 47 | 48 | MainWindow::~MainWindow() 49 | { 50 | delete ui; 51 | } 52 | 53 | 54 | void MainWindow::CheckboxChanged() { 55 | wallhackToggle = checkWallhack->isChecked(); 56 | radarToggle = checkWallhack->isChecked(); 57 | aimbotToggle = checkWallhack->isChecked(); 58 | triggerToggle = checkWallhack->isChecked(); 59 | skinchangerToggle = checkWallhack->isChecked(); 60 | knifechangerToggle = checkWallhack->isChecked(); 61 | bhopToggle = checkWallhack->isChecked(); 62 | noflashToggle = checkWallhack->isChecked(); 63 | 64 | bool whRedToggle = radioRed->isChecked(); 65 | bool whGreenToggle = radioGreen->isChecked(); 66 | bool whBlueToggle = radioBlue->isChecked(); 67 | 68 | if (whRedToggle) { 69 | whRed = 2.0; 70 | whGreen = 0.0; 71 | whBlue = 0.0; 72 | } 73 | else if (whGreenToggle) { 74 | whRed = 0.0; 75 | whGreen = 2.0; 76 | whBlue = 0.0; 77 | } 78 | else if (whBlueToggle) { 79 | whRed = 0.0; 80 | whGreen = 0.0; 81 | whBlue = 2.0; 82 | } 83 | } 84 | 85 | 86 | void MainWindow::CheckboxStatus() { 87 | 88 | } 89 | 90 | 91 | void MainWindow::ChangeSkinlayout() { 92 | changeSkinLayout->show(); 93 | changeSkinLayout->activateWindow(); 94 | } 95 | 96 | void MainWindow::ChangeHotkeys() { 97 | changeHotkeys->show(); 98 | changeHotkeys->activateWindow(); 99 | } 100 | 101 | void MainWindow::Resetproccess() { 102 | 103 | } 104 | 105 | void MainWindow::Quit() { 106 | 107 | } 108 | 109 | 110 | void MainWindow::SkinlayoutChanged() { 111 | 112 | skinDesartEagle = changeSkinLayout->lineDesartEagle->text().toInt(); 113 | skinDualBerettas = changeSkinLayout->lineDualBerettas->text().toInt(); 114 | skinFiveSeven = changeSkinLayout->lineFiveSeven->text().toInt(); 115 | skinGlock18 = changeSkinLayout->lineGlock18->text().toInt(); 116 | skinTec9 = changeSkinLayout->lineTec9->text().toInt(); 117 | skinP2000 = changeSkinLayout->lineP2000->text().toInt(); 118 | skinP250 = changeSkinLayout->lineP250->text().toInt(); 119 | skinUSPS = changeSkinLayout->lineUSPS->text().toInt(); 120 | skinCZ75 = changeSkinLayout->lineCZ75->text().toInt(); 121 | skinRevolver = changeSkinLayout->lineRevolver->text().toInt(); 122 | skinAK47 = changeSkinLayout->lineAK47->text().toInt(); 123 | skinAUG = changeSkinLayout->lineAUG->text().toInt(); 124 | skinAWP = changeSkinLayout->lineAWP->text().toInt(); 125 | skinFAMAS = changeSkinLayout->lineFAMAS->text().toInt(); 126 | skinG35G1 = changeSkinLayout->lineG35G1->text().toInt(); 127 | skinGalilAR = changeSkinLayout->lineGalilAR->text().toInt(); 128 | skinM4A4 = changeSkinLayout->lineM4A4->text().toInt(); 129 | skinSCAR20 = changeSkinLayout->lineSCAR20->text().toInt(); 130 | skinSG553 = changeSkinLayout->lineSG553->text().toInt(); 131 | skinSSG08 = changeSkinLayout->lineSSG08->text().toInt(); 132 | skinM4A1S = changeSkinLayout->lineM4A1S->text().toInt(); 133 | skinMAC10 = changeSkinLayout->lineMAC10->text().toInt(); 134 | skinP90 = changeSkinLayout->lineP90->text().toInt(); 135 | skinMP5SD = changeSkinLayout->lineMP5SD->text().toInt(); 136 | skinUMP45 = changeSkinLayout->lineUMP45->text().toInt(); 137 | skinPPBizon = changeSkinLayout->linePPBizon->text().toInt(); 138 | skinMP7 = changeSkinLayout->lineMP7->text().toInt(); 139 | skinMP9 = changeSkinLayout->lineMP9->text().toInt(); 140 | skinMAG7 = changeSkinLayout->lineMAG7->text().toInt(); 141 | skinSawedOff = changeSkinLayout->lineSawedOff->text().toInt(); 142 | skinNova = changeSkinLayout->lineNova->text().toInt(); 143 | skinXM1014 = changeSkinLayout->lineXM1014->text().toInt(); 144 | skinNegev = changeSkinLayout->lineNegev->text().toInt(); 145 | skinM249 = changeSkinLayout->lineM249->text().toInt(); 146 | skinKnife = changeSkinLayout->lineKnife->text().toInt(); 147 | 148 | QString knifeModel = changeSkinLayout->comboKnife->currentText(); 149 | if (knifeModel == "Bayonet") { 150 | modelKnife = 0; 151 | } 152 | else if (knifeModel == "M9 Bayonet") { 153 | modelKnife = 5; 154 | } 155 | else if (knifeModel == "Karambit") { 156 | modelKnife = 4; 157 | } 158 | else if (knifeModel == "Flip knife") { 159 | modelKnife = 2; 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /sources/GUI/changeskinlayout.cpp: -------------------------------------------------------------------------------- 1 | #include "changeskinlayout.h" 2 | 3 | using namespace std; 4 | 5 | ChangeSkinLayout::ChangeSkinLayout(QWidget *parent) 6 | : QDialog(parent) 7 | { 8 | ui.setupUi(this); 9 | setWindowTitle("Skinlayout"); 10 | 11 | lineAK47 = ui.lineAK47; 12 | lineAUG = ui.lineAUG; 13 | lineAWP = ui.lineAWP; 14 | lineCZ75 = ui.lineCZ75; 15 | lineDesartEagle = ui.lineDesartEagle; 16 | lineDualBerettas = ui.lineDualBerettas; 17 | lineFAMAS = ui.lineFAMAS; 18 | lineFiveSeven = ui.lineFiveSeven; 19 | lineG35G1 = ui.lineG35G1; 20 | lineGalilAR = ui.lineGalilAR; 21 | lineGlock18 = ui.lineGlock18; 22 | lineKnifeSkin = ui.lineKnifeSkin; 23 | lineM249 = ui.lineM249; 24 | lineM4A1S = ui.lineM4A1S; 25 | lineM4A4 = ui.lineM4A4; 26 | lineMAC10 = ui.lineMAC10; 27 | lineMAG7 = ui.lineMAG7; 28 | lineMP5SD = ui.lineMP5SD; 29 | lineMP7 = ui.lineMP7; 30 | lineMP9 = ui.lineMP9; 31 | lineNegev = ui.lineNegev; 32 | lineNova = ui.lineNova; 33 | lineP2000 = ui.lineP2000; 34 | lineP250 = ui.lineP250; 35 | lineP90 = ui.lineP90; 36 | linePPBizon = ui.linePPBizon; 37 | lineRevolver = ui.lineRevolver; 38 | lineSCAR20 = ui.lineSCAR20; 39 | lineSG553 = ui.lineSG553; 40 | lineSSG08 = ui.lineSSG08; 41 | lineSawedOff = ui.lineSawedOff; 42 | lineTec9 = ui.lineTec9; 43 | lineUMP45 = ui.lineUMP45; 44 | lineUSPS = ui.lineUSPS; 45 | lineXM1014 = ui.lineXM1014; 46 | lineKnife = ui.lineKnifeSkin; 47 | 48 | comboKnife = ui.comboKnifeModel; 49 | 50 | pushConfirm = ui.pushConfirm; 51 | } 52 | 53 | 54 | void ChangeSkinLayout::LoadSkinConfig() { 55 | ifstream skinlayout("C:/Users/matth/Documents/Workspace/Game_Cheats/external_csgo_cheat/sources/GUI/skinlayout.txt"); 56 | 57 | if (skinlayout.good()) { 58 | 59 | if (skinlayout.is_open()) { 60 | string line; 61 | while (getline(skinlayout, line)) { 62 | auto delimiterPos = line.find("="); 63 | string name = line.substr(0, delimiterPos); 64 | string value = line.substr(delimiterPos + 1); 65 | 66 | int cz75, desertEagle, dualBerettas, fiveSeven, glock18, p2000, p250, tec9, ak47, aug, awp, famas, g3sg1, 67 | galilAr, m4a4, scar20, sg553, ssg08, mac10, mp5sd, mp7, mp9, ppBizon, p90, ump45, mag7, nova, sawedOff, 68 | xm1014, m249, negev, usps, m4a1s, revolver, knifeModel, knifeSkin; 69 | 70 | stringstream val(value); 71 | if (name == "desertEagle") { 72 | val >> desertEagle; 73 | } 74 | else if (name == "dualBerettas") { 75 | val >> dualBerettas; 76 | } 77 | else if (name == "fiveSeven") { 78 | val >> fiveSeven; 79 | } 80 | else if (name == "glock18") { 81 | val >> glock18; 82 | } 83 | else if (name == "p2000") { 84 | val >> p2000; 85 | } 86 | else if (name == "p250") { 87 | val >> p250; 88 | } 89 | else if (name == "tec9") { 90 | val >> tec9; 91 | } 92 | else if (name == "ak47") { 93 | val >> ak47; 94 | } 95 | else if (name == "aug") { 96 | val >> aug; 97 | } 98 | else if (name == "awp") { 99 | val >> awp; 100 | } 101 | else if (name == "famas") { 102 | val >> famas; 103 | } 104 | else if (name == "g3sg1") { 105 | val >> g3sg1; 106 | } 107 | else if (name == "galilAr") { 108 | val >> galilAr; 109 | } 110 | else if (name == "m4a4") { 111 | val >> m4a4; 112 | } 113 | else if (name == "scar20") { 114 | val >> scar20; 115 | } 116 | else if (name == "ssg08") { 117 | val >> ssg08; 118 | } 119 | else if (name == "mac10") { 120 | val >> mac10; 121 | } 122 | else if (name == "mp7") { 123 | val >> mp7; 124 | } 125 | else if (name == "mp9") { 126 | val >> mp9; 127 | } 128 | else if (name == "ppBizon") { 129 | val >> ppBizon; 130 | } 131 | else if (name == "p90") { 132 | val >> p90; 133 | } 134 | else if (name == "ump45") { 135 | val >> ump45; 136 | } 137 | else if (name == "mag7") { 138 | val >> mag7; 139 | } 140 | else if (name == "nova") { 141 | val >> nova; 142 | } 143 | else if (name == "sawedOff") { 144 | val >> sawedOff; 145 | } 146 | else if (name == "xm1014") { 147 | val >> xm1014; 148 | } 149 | else if (name == "m249") { 150 | val >> m249; 151 | } 152 | else if (name == "negev") { 153 | val >> negev; 154 | } 155 | else if (name == "usps") { 156 | val >> usps; 157 | } 158 | else if (name == "m4a1s") { 159 | val >> m4a1s; 160 | } 161 | else if (name == "cz75") { 162 | val >> cz75; 163 | } 164 | else if (name == "mp5sd") { 165 | val >> mp5sd; 166 | } 167 | else if (name == "revolver") { 168 | val >> revolver; 169 | } 170 | else if (name == "knife_id") { 171 | val >> knifeModel; 172 | } 173 | else if (name == "knife_skin") { 174 | val >> knifeSkin; 175 | } 176 | 177 | lineAK47->setText(QString::number(ak47)); 178 | lineAUG->setText(QString::number(aug)); 179 | lineAWP->setText(QString::number(awp)); 180 | lineCZ75->setText(QString::number(cz75)); 181 | lineDesartEagle->setText(QString::number(desertEagle)); 182 | lineDualBerettas->setText(QString::number(dualBerettas)); 183 | lineFAMAS->setText(QString::number(famas)); 184 | lineFiveSeven->setText(QString::number(fiveSeven)); 185 | lineG35G1->setText(QString::number(g3sg1)); 186 | lineGalilAR->setText(QString::number(galilAr)); 187 | lineGlock18->setText(QString::number(glock18)); 188 | lineKnifeSkin->setText(QString::number(knifeSkin)); 189 | lineM249->setText(QString::number(m249)); 190 | lineM4A1S->setText(QString::number(m4a1s)); 191 | lineM4A4->setText(QString::number(m4a4)); 192 | lineMAC10->setText(QString::number(mac10)); 193 | lineMAG7->setText(QString::number(mag7)); 194 | lineMP5SD->setText(QString::number(mp5sd)); 195 | lineMP7->setText(QString::number(mp7)); 196 | lineMP9->setText(QString::number(mp9)); 197 | lineNegev->setText(QString::number(negev)); 198 | lineNova->setText(QString::number(nova)); 199 | lineP2000->setText(QString::number(p2000)); 200 | lineP250->setText(QString::number(p250)); 201 | lineP90->setText(QString::number(p90)); 202 | linePPBizon->setText(QString::number(ppBizon)); 203 | lineRevolver->setText(QString::number(revolver)); 204 | lineSCAR20->setText(QString::number(scar20)); 205 | lineSG553->setText(QString::number(sg553)); 206 | lineSSG08->setText(QString::number(ssg08)); 207 | lineSawedOff->setText(QString::number(sawedOff)); 208 | lineTec9->setText(QString::number(tec9)); 209 | lineUMP45->setText(QString::number(ump45)); 210 | lineUSPS->setText(QString::number(usps)); 211 | lineXM1014->setText(QString::number(xm1014)); 212 | } 213 | } 214 | } 215 | } 216 | 217 | 218 | void ChangeSkinLayout::SaveSkinLayout() { 219 | 220 | } 221 | -------------------------------------------------------------------------------- /sources/csgoCheat/csgoCheat.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 16.0 23 | Win32Proj 24 | {67223e84-1478-41a5-891a-958280a0063b} 25 | csgoCheat 26 | 10.0 27 | TheMoerper_external 28 | 29 | 30 | 31 | Application 32 | true 33 | v142 34 | Unicode 35 | 36 | 37 | Application 38 | false 39 | v142 40 | true 41 | Unicode 42 | 43 | 44 | Application 45 | true 46 | v142 47 | Unicode 48 | 49 | 50 | Application 51 | false 52 | v142 53 | true 54 | Unicode 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | true 76 | 77 | 78 | false 79 | 80 | 81 | true 82 | 83 | 84 | false 85 | 86 | 87 | 88 | Level3 89 | true 90 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 91 | true 92 | MultiThreadedDebug 93 | 94 | 95 | Console 96 | true 97 | 98 | 99 | 100 | 101 | Level3 102 | true 103 | true 104 | true 105 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 106 | true 107 | MultiThreaded 108 | 109 | 110 | Console 111 | true 112 | true 113 | true 114 | 115 | 116 | 117 | 118 | Level3 119 | true 120 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 121 | true 122 | 123 | 124 | Console 125 | true 126 | 127 | 128 | 129 | 130 | Level3 131 | true 132 | true 133 | true 134 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 135 | true 136 | 137 | 138 | Console 139 | true 140 | true 141 | true 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | -------------------------------------------------------------------------------- /sources/GUI/changeHotKeys.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | ChangeHotkeys 4 | 5 | 6 | 7 | 0 8 | 0 9 | 229 10 | 396 11 | 12 | 13 | 14 | 15 | 229 16 | 396 17 | 18 | 19 | 20 | Dialog 21 | 22 | 23 | background-color: rgb(50, 50, 50); 24 | color: rgb(255, 255, 255); 25 | QCheckBox:rgb(255, 255, 255); 26 | 27 | 28 | 29 | 30 | 20 31 | 330 32 | 181 33 | 32 34 | 35 | 36 | 37 | 38 | Microsoft PhagsPa 39 | 40 | 41 | 42 | PointingHandCursor 43 | 44 | 45 | Qt::Horizontal 46 | 47 | 48 | QDialogButtonBox::Cancel|QDialogButtonBox::Save 49 | 50 | 51 | true 52 | 53 | 54 | 55 | 56 | 57 | 10 58 | 0 59 | 181 60 | 41 61 | 62 | 63 | 64 | 65 | Microsoft PhagsPa 66 | 22 67 | 75 68 | false 69 | true 70 | 71 | 72 | 73 | Hotkeys 74 | 75 | 76 | 77 | 78 | 79 | -10 80 | 50 81 | 421 82 | 16 83 | 84 | 85 | 86 | Qt::Horizontal 87 | 88 | 89 | 90 | 91 | 92 | 10 93 | 70 94 | 71 95 | 16 96 | 97 | 98 | 99 | 100 | Microsoft PhagsPa 101 | 75 102 | true 103 | 104 | 105 | 106 | wallhack 107 | 108 | 109 | 110 | 111 | 112 | 10 113 | 100 114 | 71 115 | 16 116 | 117 | 118 | 119 | 120 | Microsoft PhagsPa 121 | 75 122 | false 123 | true 124 | 125 | 126 | 127 | radar 128 | 129 | 130 | 131 | 132 | 133 | 10 134 | 130 135 | 71 136 | 16 137 | 138 | 139 | 140 | 141 | Microsoft PhagsPa 142 | 75 143 | true 144 | 145 | 146 | 147 | aimbot 148 | 149 | 150 | 151 | 152 | 153 | 10 154 | 160 155 | 71 156 | 16 157 | 158 | 159 | 160 | 161 | Microsoft PhagsPa 162 | 75 163 | true 164 | 165 | 166 | 167 | triggerbot 168 | 169 | 170 | 171 | 172 | 173 | 10 174 | 190 175 | 71 176 | 16 177 | 178 | 179 | 180 | 181 | Microsoft PhagsPa 182 | 75 183 | true 184 | 185 | 186 | 187 | skinchanger 188 | 189 | 190 | 191 | 192 | 193 | 10 194 | 220 195 | 71 196 | 16 197 | 198 | 199 | 200 | 201 | Microsoft PhagsPa 202 | 75 203 | true 204 | 205 | 206 | 207 | knifechanger 208 | 209 | 210 | 211 | 212 | 213 | 10 214 | 250 215 | 71 216 | 16 217 | 218 | 219 | 220 | 221 | Microsoft PhagsPa 222 | 75 223 | true 224 | 225 | 226 | 227 | bhop 228 | 229 | 230 | 231 | 232 | 233 | 10 234 | 280 235 | 71 236 | 16 237 | 238 | 239 | 240 | 241 | Microsoft PhagsPa 242 | 75 243 | true 244 | 245 | 246 | 247 | noflash 248 | 249 | 250 | 251 | 252 | 253 | 100 254 | 70 255 | 113 256 | 22 257 | 258 | 259 | 260 | 261 | Microsoft PhagsPa 262 | 263 | 264 | 265 | PointingHandCursor 266 | 267 | 268 | 269 | 270 | 271 | 100 272 | 100 273 | 113 274 | 22 275 | 276 | 277 | 278 | 279 | Microsoft PhagsPa 280 | 281 | 282 | 283 | PointingHandCursor 284 | 285 | 286 | 287 | 288 | 289 | 100 290 | 130 291 | 113 292 | 22 293 | 294 | 295 | 296 | 297 | Microsoft PhagsPa 298 | 299 | 300 | 301 | PointingHandCursor 302 | 303 | 304 | 305 | 306 | 307 | 100 308 | 160 309 | 113 310 | 22 311 | 312 | 313 | 314 | 315 | Microsoft PhagsPa 316 | 317 | 318 | 319 | PointingHandCursor 320 | 321 | 322 | 323 | 324 | 325 | 100 326 | 190 327 | 113 328 | 22 329 | 330 | 331 | 332 | 333 | Microsoft PhagsPa 334 | 335 | 336 | 337 | PointingHandCursor 338 | 339 | 340 | 341 | 342 | 343 | 100 344 | 220 345 | 113 346 | 22 347 | 348 | 349 | 350 | 351 | Microsoft PhagsPa 352 | 353 | 354 | 355 | PointingHandCursor 356 | 357 | 358 | 359 | 360 | 361 | 100 362 | 250 363 | 113 364 | 22 365 | 366 | 367 | 368 | 369 | Microsoft PhagsPa 370 | 371 | 372 | 373 | PointingHandCursor 374 | 375 | 376 | 377 | 378 | 379 | 100 380 | 280 381 | 113 382 | 22 383 | 384 | 385 | 386 | 387 | Microsoft PhagsPa 388 | 389 | 390 | 391 | PointingHandCursor 392 | 393 | 394 | 395 | 396 | 397 | -80 398 | 310 399 | 421 400 | 16 401 | 402 | 403 | 404 | 405 | 421 406 | 16 407 | 408 | 409 | 410 | Qt::Horizontal 411 | 412 | 413 | 414 | 415 | 416 | 417 | buttonBox 418 | accepted() 419 | ChangeHotkeys 420 | accept() 421 | 422 | 423 | 248 424 | 254 425 | 426 | 427 | 157 428 | 274 429 | 430 | 431 | 432 | 433 | buttonBox 434 | rejected() 435 | ChangeHotkeys 436 | reject() 437 | 438 | 439 | 316 440 | 260 441 | 442 | 443 | 286 444 | 274 445 | 446 | 447 | 448 | 449 | 450 | -------------------------------------------------------------------------------- /sources/GUI/mainwindow.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | MainWindow 4 | 5 | 6 | 7 | 0 8 | 0 9 | 471 10 | 308 11 | 12 | 13 | 14 | 15 | 471 16 | 308 17 | 18 | 19 | 20 | 21 | 471 22 | 308 23 | 24 | 25 | 26 | MainWindow 27 | 28 | 29 | background-color: rgb(50, 50, 50); 30 | color: rgb(255, 255, 255); 31 | QCheckBox:rgb(255, 255, 255); 32 | 33 | 34 | 35 | 36 | 37 | 20 38 | 80 39 | 71 40 | 16 41 | 42 | 43 | 44 | 45 | Microsoft PhagsPa 46 | 15 47 | 50 48 | false 49 | true 50 | 51 | 52 | 53 | Visuals 54 | 55 | 56 | 57 | 58 | 59 | 20 60 | 200 61 | 72 62 | 19 63 | 64 | 65 | 66 | 67 | Microsoft PhagsPa 68 | 69 | 70 | 71 | PointingHandCursor 72 | 73 | 74 | radar 75 | 76 | 77 | 78 | 79 | 80 | 80 81 | 20 82 | 311 83 | 31 84 | 85 | 86 | 87 | 88 | Microsoft PhagsPa 89 | 22 90 | 75 91 | false 92 | true 93 | false 94 | 95 | 96 | 97 | 98 | border-color: rgb(255, 255, 255); 99 | 100 | 101 | The Moerper external 102 | 103 | 104 | 105 | 106 | 107 | -10 108 | 60 109 | 541 110 | 16 111 | 112 | 113 | 114 | Qt::Horizontal 115 | 116 | 117 | 118 | 119 | 120 | 103 121 | 80 122 | 20 123 | 131 124 | 125 | 126 | 127 | Qt::Vertical 128 | 129 | 130 | 131 | 132 | 133 | 130 134 | 70 135 | 81 136 | 41 137 | 138 | 139 | 140 | 141 | Microsoft PhagsPa 142 | 15 143 | 50 144 | false 145 | true 146 | 147 | 148 | 149 | Shooting 150 | 151 | 152 | 153 | 154 | 155 | 130 156 | 110 157 | 72 158 | 19 159 | 160 | 161 | 162 | 163 | Microsoft PhagsPa 164 | 165 | 166 | 167 | PointingHandCursor 168 | 169 | 170 | aimbot 171 | 172 | 173 | 174 | 175 | 176 | 220 177 | 80 178 | 20 179 | 131 180 | 181 | 182 | 183 | Qt::Vertical 184 | 185 | 186 | 187 | 188 | 189 | 400 190 | 80 191 | 71 192 | 16 193 | 194 | 195 | 196 | 197 | Microsoft PhagsPa 198 | 15 199 | 50 200 | false 201 | true 202 | 203 | 204 | 205 | Misc 206 | 207 | 208 | 209 | 210 | 211 | 250 212 | 70 213 | 111 214 | 41 215 | 216 | 217 | 218 | 219 | Microsoft PhagsPa 220 | 15 221 | 50 222 | false 223 | true 224 | 225 | 226 | 227 | Skinchanger 228 | 229 | 230 | 231 | 232 | 233 | 250 234 | 110 235 | 91 236 | 19 237 | 238 | 239 | 240 | 241 | Microsoft PhagsPa 242 | 243 | 244 | 245 | PointingHandCursor 246 | 247 | 248 | skinchanger 249 | 250 | 251 | 252 | 253 | 254 | 250 255 | 140 256 | 91 257 | 19 258 | 259 | 260 | 261 | 262 | Microsoft PhagsPa 263 | 264 | 265 | 266 | PointingHandCursor 267 | 268 | 269 | false 270 | 271 | 272 | border-color: rgb(255, 255, 255); 273 | gridline-color: rgb(255, 255, 255); 274 | 275 | 276 | knifechanger 277 | 278 | 279 | 280 | 281 | 282 | 370 283 | 80 284 | 20 285 | 131 286 | 287 | 288 | 289 | Qt::Vertical 290 | 291 | 292 | 293 | 294 | 295 | 400 296 | 110 297 | 72 298 | 19 299 | 300 | 301 | 302 | 303 | Microsoft PhagsPa 304 | 305 | 306 | 307 | PointingHandCursor 308 | 309 | 310 | bhop 311 | 312 | 313 | 314 | 315 | 316 | 400 317 | 140 318 | 72 319 | 19 320 | 321 | 322 | 323 | 324 | Microsoft PhagsPa 325 | 326 | 327 | 328 | PointingHandCursor 329 | 330 | 331 | noflash 332 | 333 | 334 | 335 | 336 | 337 | -10 338 | 220 339 | 551 340 | 16 341 | 342 | 343 | 344 | Qt::Horizontal 345 | 346 | 347 | 348 | 349 | 350 | 250 351 | 180 352 | 111 353 | 21 354 | 355 | 356 | 357 | 358 | Microsoft PhagsPa 359 | 360 | 361 | 362 | PointingHandCursor 363 | 364 | 365 | change skinlayout 366 | 367 | 368 | 369 | 370 | 371 | 10 372 | 240 373 | 91 374 | 21 375 | 376 | 377 | 378 | 379 | Microsoft PhagsPa 380 | 381 | 382 | 383 | PointingHandCursor 384 | 385 | 386 | change hotkeys 387 | 388 | 389 | 390 | 391 | 392 | 20 393 | 110 394 | 72 395 | 19 396 | 397 | 398 | 399 | 400 | Microsoft PhagsPa 401 | 402 | 403 | 404 | PointingHandCursor 405 | 406 | 407 | wallhack 408 | 409 | 410 | 411 | 412 | 413 | 130 414 | 140 415 | 72 416 | 19 417 | 418 | 419 | 420 | 421 | Microsoft PhagsPa 422 | 423 | 424 | 425 | PointingHandCursor 426 | 427 | 428 | triggerbot 429 | 430 | 431 | 432 | 433 | 434 | 30 435 | 130 436 | 61 437 | 19 438 | 439 | 440 | 441 | 442 | Microsoft PhagsPa 443 | 444 | 445 | 446 | PointingHandCursor 447 | 448 | 449 | red 450 | 451 | 452 | 453 | 454 | 455 | 30 456 | 150 457 | 61 458 | 19 459 | 460 | 461 | 462 | 463 | Microsoft PhagsPa 464 | 465 | 466 | 467 | PointingHandCursor 468 | 469 | 470 | green 471 | 472 | 473 | 474 | 475 | 476 | 30 477 | 170 478 | 61 479 | 21 480 | 481 | 482 | 483 | 484 | Microsoft PhagsPa 485 | 486 | 487 | 488 | PointingHandCursor 489 | 490 | 491 | blue 492 | 493 | 494 | 495 | 496 | 497 | 410 498 | 240 499 | 51 500 | 21 501 | 502 | 503 | 504 | 505 | Microsoft PhagsPa 506 | 507 | 508 | 509 | PointingHandCursor 510 | 511 | 512 | Quit 513 | 514 | 515 | 516 | 517 | 518 | 300 519 | 240 520 | 91 521 | 21 522 | 523 | 524 | 525 | 526 | Microsoft PhagsPa 527 | 528 | 529 | 530 | PointingHandCursor 531 | 532 | 533 | Reset proccess 534 | 535 | 536 | 537 | 538 | 539 | 540 | 0 541 | 0 542 | 471 543 | 20 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | -------------------------------------------------------------------------------- /sources/GUI/changeSkinLayout.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | ChangeSkinLayout 4 | 5 | 6 | 7 | 0 8 | 0 9 | 629 10 | 533 11 | 12 | 13 | 14 | 15 | 629 16 | 533 17 | 18 | 19 | 20 | 21 | 629 22 | 533 23 | 24 | 25 | 26 | Dialog 27 | 28 | 29 | background-color: rgb(50, 50, 50); 30 | color: rgb(255, 255, 255); 31 | QCheckBox:rgb(255, 255, 255); 32 | 33 | 34 | 35 | 36 | 270 37 | 470 38 | 341 39 | 32 40 | 41 | 42 | 43 | 44 | Microsoft PhagsPa 45 | 46 | 47 | 48 | PointingHandCursor 49 | 50 | 51 | Qt::Horizontal 52 | 53 | 54 | QDialogButtonBox::Cancel|QDialogButtonBox::Ok 55 | 56 | 57 | 58 | 59 | 60 | 10 61 | 0 62 | 181 63 | 41 64 | 65 | 66 | 67 | 68 | Microsoft PhagsPa 69 | 22 70 | 75 71 | false 72 | true 73 | 74 | 75 | 76 | Skin Layout 77 | 78 | 79 | 80 | 81 | 82 | -20 83 | 40 84 | 641 85 | 20 86 | 87 | 88 | 89 | Qt::Horizontal 90 | 91 | 92 | 93 | 94 | 95 | 90 96 | 110 97 | 41 98 | 21 99 | 100 | 101 | 102 | 103 | Microsoft PhagsPa 104 | 105 | 106 | 107 | border: 1px solid rgb(130, 130, 130); 108 | border-radius: 3px; 109 | 110 | 111 | 112 | 113 | 114 | Qt::AlignCenter 115 | 116 | 117 | false 118 | 119 | 120 | 121 | 122 | 123 | 10 124 | 110 125 | 71 126 | 16 127 | 128 | 129 | 130 | font: 8pt "Microsoft PhagsPa"; 131 | 132 | 133 | Desart Eagle 134 | 135 | 136 | 137 | 138 | 139 | 10 140 | 140 141 | 71 142 | 16 143 | 144 | 145 | 146 | 147 | Microsoft PhagsPa 148 | 149 | 150 | 151 | Dual Berettas 152 | 153 | 154 | 155 | 156 | 157 | 10 158 | 170 159 | 71 160 | 16 161 | 162 | 163 | 164 | 165 | Microsoft PhagsPa 166 | 167 | 168 | 169 | Five-Seven 170 | 171 | 172 | 173 | 174 | 175 | 10 176 | 200 177 | 71 178 | 16 179 | 180 | 181 | 182 | 183 | Microsoft PhagsPa 184 | 185 | 186 | 187 | Glock-18 188 | 189 | 190 | 191 | 192 | 193 | 10 194 | 230 195 | 71 196 | 16 197 | 198 | 199 | 200 | 201 | Microsoft PhagsPa 202 | 203 | 204 | 205 | Tec-9 206 | 207 | 208 | 209 | 210 | 211 | 10 212 | 260 213 | 71 214 | 16 215 | 216 | 217 | 218 | 219 | Microsoft PhagsPa 220 | 221 | 222 | 223 | P2000 224 | 225 | 226 | 227 | 228 | 229 | 10 230 | 290 231 | 71 232 | 16 233 | 234 | 235 | 236 | 237 | Microsoft PhagsPa 238 | 239 | 240 | 241 | P250 242 | 243 | 244 | 245 | 246 | 247 | 90 248 | 140 249 | 41 250 | 21 251 | 252 | 253 | 254 | 255 | Microsoft PhagsPa 256 | 257 | 258 | 259 | border: 1px solid rgb(130, 130, 130); 260 | border-radius: 3px; 261 | 262 | 263 | 0000 264 | 265 | 266 | Qt::AlignCenter 267 | 268 | 269 | 270 | 271 | 272 | 90 273 | 170 274 | 41 275 | 21 276 | 277 | 278 | 279 | 280 | Microsoft PhagsPa 281 | 282 | 283 | 284 | border: 1px solid rgb(130, 130, 130); 285 | border-radius: 3px; 286 | 287 | 288 | 0000 289 | 290 | 291 | Qt::AlignCenter 292 | 293 | 294 | 295 | 296 | 297 | 90 298 | 200 299 | 41 300 | 21 301 | 302 | 303 | 304 | 305 | Microsoft PhagsPa 306 | 307 | 308 | 309 | border: 1px solid rgb(130, 130, 130); 310 | border-radius: 3px; 311 | 312 | 313 | 0000 314 | 315 | 316 | Qt::AlignCenter 317 | 318 | 319 | 320 | 321 | 322 | 90 323 | 230 324 | 41 325 | 21 326 | 327 | 328 | 329 | 330 | Microsoft PhagsPa 331 | 332 | 333 | 334 | border: 1px solid rgb(130, 130, 130); 335 | border-radius: 3px; 336 | 337 | 338 | 0000 339 | 340 | 341 | Qt::AlignCenter 342 | 343 | 344 | 345 | 346 | 347 | 10 348 | 320 349 | 71 350 | 16 351 | 352 | 353 | 354 | 355 | Microsoft PhagsPa 356 | 357 | 358 | 359 | USP-S 360 | 361 | 362 | 363 | 364 | 365 | 10 366 | 350 367 | 71 368 | 16 369 | 370 | 371 | 372 | 373 | Microsoft PhagsPa 374 | 375 | 376 | 377 | CZ75-Auto 378 | 379 | 380 | 381 | 382 | 383 | 10 384 | 380 385 | 71 386 | 16 387 | 388 | 389 | 390 | 391 | Microsoft PhagsPa 392 | 393 | 394 | 395 | R8 Revolver 396 | 397 | 398 | 399 | 400 | 401 | 90 402 | 260 403 | 41 404 | 21 405 | 406 | 407 | 408 | 409 | Microsoft PhagsPa 410 | 411 | 412 | 413 | border: 1px solid rgb(130, 130, 130); 414 | border-radius: 3px; 415 | 416 | 417 | 0000 418 | 419 | 420 | Qt::AlignCenter 421 | 422 | 423 | 424 | 425 | 426 | 90 427 | 290 428 | 41 429 | 21 430 | 431 | 432 | 433 | 434 | Microsoft PhagsPa 435 | 436 | 437 | 438 | border: 1px solid rgb(130, 130, 130); 439 | border-radius: 3px; 440 | 441 | 442 | 0000 443 | 444 | 445 | Qt::AlignCenter 446 | 447 | 448 | 449 | 450 | 451 | 90 452 | 320 453 | 41 454 | 21 455 | 456 | 457 | 458 | 459 | Microsoft PhagsPa 460 | 461 | 462 | 463 | border: 1px solid rgb(130, 130, 130); 464 | border-radius: 3px; 465 | 466 | 467 | 0000 468 | 469 | 470 | Qt::AlignCenter 471 | 472 | 473 | 474 | 475 | 476 | 90 477 | 350 478 | 41 479 | 21 480 | 481 | 482 | 483 | 484 | Microsoft PhagsPa 485 | 486 | 487 | 488 | border: 1px solid rgb(130, 130, 130); 489 | border-radius: 3px; 490 | 491 | 492 | 0000 493 | 494 | 495 | Qt::AlignCenter 496 | 497 | 498 | 499 | 500 | 501 | 90 502 | 380 503 | 41 504 | 21 505 | 506 | 507 | 508 | 509 | Microsoft PhagsPa 510 | 511 | 512 | 513 | border: 1px solid rgb(130, 130, 130); 514 | border-radius: 3px; 515 | 516 | 517 | 0000 518 | 519 | 520 | Qt::AlignCenter 521 | 522 | 523 | 524 | 525 | 526 | 10 527 | 60 528 | 91 529 | 31 530 | 531 | 532 | 533 | 534 | Microsoft PhagsPa 535 | 18 536 | 537 | 538 | 539 | Pistols 540 | 541 | 542 | 543 | 544 | 545 | 143 546 | 60 547 | 20 548 | 391 549 | 550 | 551 | 552 | Qt::Vertical 553 | 554 | 555 | 556 | 557 | 558 | 170 559 | 110 560 | 71 561 | 16 562 | 563 | 564 | 565 | font: 8pt "Microsoft PhagsPa"; 566 | 567 | 568 | AK-47 569 | 570 | 571 | 572 | 573 | 574 | 170 575 | 60 576 | 91 577 | 31 578 | 579 | 580 | 581 | 582 | Microsoft PhagsPa 583 | 18 584 | 585 | 586 | 587 | Rifles 588 | 589 | 590 | 591 | 592 | 593 | 170 594 | 140 595 | 71 596 | 16 597 | 598 | 599 | 600 | font: 8pt "Microsoft PhagsPa"; 601 | 602 | 603 | AUG 604 | 605 | 606 | 607 | 608 | 609 | 170 610 | 170 611 | 71 612 | 16 613 | 614 | 615 | 616 | font: 8pt "Microsoft PhagsPa"; 617 | 618 | 619 | AWP 620 | 621 | 622 | 623 | 624 | 625 | 170 626 | 200 627 | 71 628 | 16 629 | 630 | 631 | 632 | font: 8pt "Microsoft PhagsPa"; 633 | 634 | 635 | FAMAS 636 | 637 | 638 | 639 | 640 | 641 | 170 642 | 230 643 | 71 644 | 16 645 | 646 | 647 | 648 | font: 8pt "Microsoft PhagsPa"; 649 | 650 | 651 | G35G1 652 | 653 | 654 | 655 | 656 | 657 | 170 658 | 260 659 | 71 660 | 16 661 | 662 | 663 | 664 | font: 8pt "Microsoft PhagsPa"; 665 | 666 | 667 | Galil AR 668 | 669 | 670 | 671 | 672 | 673 | 170 674 | 290 675 | 71 676 | 16 677 | 678 | 679 | 680 | font: 8pt "Microsoft PhagsPa"; 681 | 682 | 683 | M4A4 684 | 685 | 686 | 687 | 688 | 689 | 170 690 | 320 691 | 71 692 | 16 693 | 694 | 695 | 696 | font: 8pt "Microsoft PhagsPa"; 697 | 698 | 699 | SCAR-20 700 | 701 | 702 | 703 | 704 | 705 | 170 706 | 350 707 | 71 708 | 16 709 | 710 | 711 | 712 | font: 8pt "Microsoft PhagsPa"; 713 | 714 | 715 | SG 553 716 | 717 | 718 | 719 | 720 | 721 | 170 722 | 380 723 | 71 724 | 16 725 | 726 | 727 | 728 | font: 8pt "Microsoft PhagsPa"; 729 | 730 | 731 | SSG 08 732 | 733 | 734 | 735 | 736 | 737 | 170 738 | 410 739 | 71 740 | 16 741 | 742 | 743 | 744 | font: 8pt "Microsoft PhagsPa"; 745 | 746 | 747 | M4A1-S 748 | 749 | 750 | 751 | 752 | 753 | 230 754 | 110 755 | 41 756 | 21 757 | 758 | 759 | 760 | 761 | Microsoft PhagsPa 762 | 763 | 764 | 765 | border: 1px solid rgb(130, 130, 130); 766 | border-radius: 3px; 767 | 768 | 769 | Qt::ImhDigitsOnly 770 | 771 | 772 | 0000 773 | 774 | 775 | Qt::AlignCenter 776 | 777 | 778 | 779 | 780 | 781 | Qt::LogicalMoveStyle 782 | 783 | 784 | 785 | 786 | 787 | 230 788 | 140 789 | 41 790 | 21 791 | 792 | 793 | 794 | 795 | Microsoft PhagsPa 796 | 797 | 798 | 799 | border: 1px solid rgb(130, 130, 130); 800 | border-radius: 3px; 801 | 802 | 803 | 0000 804 | 805 | 806 | Qt::AlignCenter 807 | 808 | 809 | 810 | 811 | 812 | 230 813 | 170 814 | 41 815 | 21 816 | 817 | 818 | 819 | 820 | Microsoft PhagsPa 821 | 822 | 823 | 824 | border: 1px solid rgb(130, 130, 130); 825 | border-radius: 3px; 826 | 827 | 828 | 0000 829 | 830 | 831 | Qt::AlignCenter 832 | 833 | 834 | 835 | 836 | 837 | 230 838 | 200 839 | 41 840 | 21 841 | 842 | 843 | 844 | 845 | Microsoft PhagsPa 846 | 847 | 848 | 849 | border: 1px solid rgb(130, 130, 130); 850 | border-radius: 3px; 851 | 852 | 853 | 0000 854 | 855 | 856 | Qt::AlignCenter 857 | 858 | 859 | 860 | 861 | 862 | 230 863 | 230 864 | 41 865 | 21 866 | 867 | 868 | 869 | 870 | Microsoft PhagsPa 871 | 872 | 873 | 874 | border: 1px solid rgb(130, 130, 130); 875 | border-radius: 3px; 876 | 877 | 878 | 0000 879 | 880 | 881 | Qt::AlignCenter 882 | 883 | 884 | 885 | 886 | 887 | 230 888 | 260 889 | 41 890 | 21 891 | 892 | 893 | 894 | 895 | Microsoft PhagsPa 896 | 897 | 898 | 899 | border: 1px solid rgb(130, 130, 130); 900 | border-radius: 3px; 901 | 902 | 903 | 0000 904 | 905 | 906 | Qt::AlignCenter 907 | 908 | 909 | 910 | 911 | 912 | 230 913 | 290 914 | 41 915 | 21 916 | 917 | 918 | 919 | 920 | Microsoft PhagsPa 921 | 922 | 923 | 924 | border: 1px solid rgb(130, 130, 130); 925 | border-radius: 3px; 926 | 927 | 928 | 0000 929 | 930 | 931 | Qt::AlignCenter 932 | 933 | 934 | 935 | 936 | 937 | 230 938 | 320 939 | 41 940 | 21 941 | 942 | 943 | 944 | 945 | Microsoft PhagsPa 946 | 947 | 948 | 949 | border: 1px solid rgb(130, 130, 130); 950 | border-radius: 3px; 951 | 952 | 953 | 0000 954 | 955 | 956 | Qt::AlignCenter 957 | 958 | 959 | 960 | 961 | 962 | 230 963 | 350 964 | 41 965 | 21 966 | 967 | 968 | 969 | 970 | Microsoft PhagsPa 971 | 972 | 973 | 974 | border: 1px solid rgb(130, 130, 130); 975 | border-radius: 3px; 976 | 977 | 978 | 0000 979 | 980 | 981 | 982 | 983 | 984 | 230 985 | 380 986 | 41 987 | 21 988 | 989 | 990 | 991 | 992 | Microsoft PhagsPa 993 | 994 | 995 | 996 | border: 1px solid rgb(130, 130, 130); 997 | border-radius: 3px; 998 | 999 | 1000 | 0000 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 230 1007 | 410 1008 | 41 1009 | 21 1010 | 1011 | 1012 | 1013 | 1014 | Microsoft PhagsPa 1015 | 1016 | 1017 | 1018 | border: 1px solid rgb(130, 130, 130); 1019 | border-radius: 3px; 1020 | 1021 | 1022 | 0000 1023 | 1024 | 1025 | 1026 | 1027 | 1028 | 320 1029 | 60 1030 | 91 1031 | 31 1032 | 1033 | 1034 | 1035 | 1036 | Microsoft PhagsPa 1037 | 18 1038 | 1039 | 1040 | 1041 | SMGs 1042 | 1043 | 1044 | 1045 | 1046 | 1047 | 290 1048 | 60 1049 | 20 1050 | 391 1051 | 1052 | 1053 | 1054 | Qt::Vertical 1055 | 1056 | 1057 | 1058 | 1059 | 1060 | 320 1061 | 110 1062 | 71 1063 | 16 1064 | 1065 | 1066 | 1067 | font: 8pt "Microsoft PhagsPa"; 1068 | 1069 | 1070 | MAC-10 1071 | 1072 | 1073 | 1074 | 1075 | 1076 | 320 1077 | 140 1078 | 71 1079 | 16 1080 | 1081 | 1082 | 1083 | font: 8pt "Microsoft PhagsPa"; 1084 | 1085 | 1086 | P90 1087 | 1088 | 1089 | 1090 | 1091 | 1092 | 320 1093 | 170 1094 | 71 1095 | 16 1096 | 1097 | 1098 | 1099 | font: 8pt "Microsoft PhagsPa"; 1100 | 1101 | 1102 | MP5-SD 1103 | 1104 | 1105 | 1106 | 1107 | 1108 | 320 1109 | 200 1110 | 71 1111 | 16 1112 | 1113 | 1114 | 1115 | font: 8pt "Microsoft PhagsPa"; 1116 | 1117 | 1118 | UMP-45 1119 | 1120 | 1121 | 1122 | 1123 | 1124 | 320 1125 | 230 1126 | 71 1127 | 16 1128 | 1129 | 1130 | 1131 | font: 8pt "Microsoft PhagsPa"; 1132 | 1133 | 1134 | PP-Bizon 1135 | 1136 | 1137 | 1138 | 1139 | 1140 | 320 1141 | 260 1142 | 71 1143 | 20 1144 | 1145 | 1146 | 1147 | font: 8pt "Microsoft PhagsPa"; 1148 | 1149 | 1150 | MP7 1151 | 1152 | 1153 | 1154 | 1155 | 1156 | 320 1157 | 290 1158 | 71 1159 | 16 1160 | 1161 | 1162 | 1163 | font: 8pt "Microsoft PhagsPa"; 1164 | 1165 | 1166 | MP9 1167 | 1168 | 1169 | 1170 | 1171 | 1172 | 380 1173 | 110 1174 | 41 1175 | 21 1176 | 1177 | 1178 | 1179 | 1180 | Microsoft PhagsPa 1181 | 1182 | 1183 | 1184 | border: 1px solid rgb(130, 130, 130); 1185 | border-radius: 3px; 1186 | 1187 | 1188 | 0000 1189 | 1190 | 1191 | Qt::AlignCenter 1192 | 1193 | 1194 | 1195 | 1196 | 1197 | 380 1198 | 140 1199 | 41 1200 | 21 1201 | 1202 | 1203 | 1204 | 1205 | Microsoft PhagsPa 1206 | 1207 | 1208 | 1209 | border: 1px solid rgb(130, 130, 130); 1210 | border-radius: 3px; 1211 | 1212 | 1213 | 0000 1214 | 1215 | 1216 | Qt::AlignCenter 1217 | 1218 | 1219 | 1220 | 1221 | 1222 | 380 1223 | 170 1224 | 41 1225 | 21 1226 | 1227 | 1228 | 1229 | 1230 | Microsoft PhagsPa 1231 | 1232 | 1233 | 1234 | border: 1px solid rgb(130, 130, 130); 1235 | border-radius: 3px; 1236 | 1237 | 1238 | 0000 1239 | 1240 | 1241 | Qt::AlignCenter 1242 | 1243 | 1244 | 1245 | 1246 | 1247 | 380 1248 | 200 1249 | 41 1250 | 21 1251 | 1252 | 1253 | 1254 | 1255 | Microsoft PhagsPa 1256 | 1257 | 1258 | 1259 | border: 1px solid rgb(130, 130, 130); 1260 | border-radius: 3px; 1261 | 1262 | 1263 | 0000 1264 | 1265 | 1266 | Qt::AlignCenter 1267 | 1268 | 1269 | 1270 | 1271 | 1272 | 380 1273 | 230 1274 | 41 1275 | 21 1276 | 1277 | 1278 | 1279 | 1280 | Microsoft PhagsPa 1281 | 1282 | 1283 | 1284 | border: 1px solid rgb(130, 130, 130); 1285 | border-radius: 3px; 1286 | 1287 | 1288 | 0000 1289 | 1290 | 1291 | Qt::AlignCenter 1292 | 1293 | 1294 | 1295 | 1296 | 1297 | 380 1298 | 260 1299 | 41 1300 | 21 1301 | 1302 | 1303 | 1304 | 1305 | Microsoft PhagsPa 1306 | 1307 | 1308 | 1309 | border: 1px solid rgb(130, 130, 130); 1310 | border-radius: 3px; 1311 | 1312 | 1313 | 0000 1314 | 1315 | 1316 | Qt::AlignCenter 1317 | 1318 | 1319 | 1320 | 1321 | 1322 | 380 1323 | 290 1324 | 41 1325 | 21 1326 | 1327 | 1328 | 1329 | 1330 | Microsoft PhagsPa 1331 | 1332 | 1333 | 1334 | border: 1px solid rgb(130, 130, 130); 1335 | border-radius: 3px; 1336 | 1337 | 1338 | 0000 1339 | 1340 | 1341 | Qt::AlignCenter 1342 | 1343 | 1344 | 1345 | 1346 | 1347 | 430 1348 | 60 1349 | 20 1350 | 391 1351 | 1352 | 1353 | 1354 | Qt::Vertical 1355 | 1356 | 1357 | 1358 | 1359 | 1360 | 460 1361 | 60 1362 | 91 1363 | 31 1364 | 1365 | 1366 | 1367 | 1368 | Microsoft PhagsPa 1369 | 18 1370 | 1371 | 1372 | 1373 | Heavys 1374 | 1375 | 1376 | 1377 | 1378 | 1379 | 460 1380 | 110 1381 | 71 1382 | 16 1383 | 1384 | 1385 | 1386 | font: 8pt "Microsoft PhagsPa"; 1387 | 1388 | 1389 | MAG-7 1390 | 1391 | 1392 | 1393 | 1394 | 1395 | 460 1396 | 140 1397 | 71 1398 | 16 1399 | 1400 | 1401 | 1402 | font: 8pt "Microsoft PhagsPa"; 1403 | 1404 | 1405 | Sawed-Off 1406 | 1407 | 1408 | 1409 | 1410 | 1411 | 460 1412 | 170 1413 | 71 1414 | 16 1415 | 1416 | 1417 | 1418 | font: 8pt "Microsoft PhagsPa"; 1419 | 1420 | 1421 | Nova 1422 | 1423 | 1424 | 1425 | 1426 | 1427 | 460 1428 | 200 1429 | 71 1430 | 16 1431 | 1432 | 1433 | 1434 | font: 8pt "Microsoft PhagsPa"; 1435 | 1436 | 1437 | XM1014 1438 | 1439 | 1440 | 1441 | 1442 | 1443 | 460 1444 | 230 1445 | 71 1446 | 16 1447 | 1448 | 1449 | 1450 | font: 8pt "Microsoft PhagsPa"; 1451 | 1452 | 1453 | Negev 1454 | 1455 | 1456 | 1457 | 1458 | 1459 | 460 1460 | 260 1461 | 71 1462 | 16 1463 | 1464 | 1465 | 1466 | font: 8pt "Microsoft PhagsPa"; 1467 | 1468 | 1469 | M249 1470 | 1471 | 1472 | 1473 | 1474 | 1475 | 530 1476 | 140 1477 | 41 1478 | 21 1479 | 1480 | 1481 | 1482 | 1483 | Microsoft PhagsPa 1484 | 1485 | 1486 | 1487 | border: 1px solid rgb(130, 130, 130); 1488 | border-radius: 3px; 1489 | 1490 | 1491 | 0000 1492 | 1493 | 1494 | Qt::AlignCenter 1495 | 1496 | 1497 | 1498 | 1499 | 1500 | 530 1501 | 110 1502 | 41 1503 | 21 1504 | 1505 | 1506 | 1507 | 1508 | Microsoft PhagsPa 1509 | 1510 | 1511 | 1512 | border: 1px solid rgb(130, 130, 130); 1513 | border-radius: 3px; 1514 | 1515 | 1516 | 0000 1517 | 1518 | 1519 | Qt::AlignCenter 1520 | 1521 | 1522 | 1523 | 1524 | 1525 | 530 1526 | 170 1527 | 41 1528 | 21 1529 | 1530 | 1531 | 1532 | 1533 | Microsoft PhagsPa 1534 | 1535 | 1536 | 1537 | border: 1px solid rgb(130, 130, 130); 1538 | border-radius: 3px; 1539 | 1540 | 1541 | 0000 1542 | 1543 | 1544 | Qt::AlignCenter 1545 | 1546 | 1547 | 1548 | 1549 | 1550 | 530 1551 | 200 1552 | 41 1553 | 21 1554 | 1555 | 1556 | 1557 | 1558 | Microsoft PhagsPa 1559 | 1560 | 1561 | 1562 | border: 1px solid rgb(130, 130, 130); 1563 | border-radius: 3px; 1564 | 1565 | 1566 | 0000 1567 | 1568 | 1569 | Qt::AlignCenter 1570 | 1571 | 1572 | 1573 | 1574 | 1575 | 530 1576 | 230 1577 | 41 1578 | 21 1579 | 1580 | 1581 | 1582 | 1583 | Microsoft PhagsPa 1584 | 1585 | 1586 | 1587 | border: 1px solid rgb(130, 130, 130); 1588 | border-radius: 3px; 1589 | 1590 | 1591 | 0000 1592 | 1593 | 1594 | Qt::AlignCenter 1595 | 1596 | 1597 | 1598 | 1599 | 1600 | 530 1601 | 260 1602 | 41 1603 | 21 1604 | 1605 | 1606 | 1607 | 1608 | Microsoft PhagsPa 1609 | 1610 | 1611 | 1612 | border: 1px solid rgb(130, 130, 130); 1613 | border-radius: 3px; 1614 | 1615 | 1616 | 0000 1617 | 1618 | 1619 | Qt::AlignCenter 1620 | 1621 | 1622 | 1623 | 1624 | 1625 | -10 1626 | 450 1627 | 641 1628 | 20 1629 | 1630 | 1631 | 1632 | Qt::Horizontal 1633 | 1634 | 1635 | 1636 | 1637 | 1638 | 10 1639 | 470 1640 | 80 1641 | 21 1642 | 1643 | 1644 | 1645 | 1646 | Microsoft PhagsPa 1647 | 1648 | 1649 | 1650 | PointingHandCursor 1651 | 1652 | 1653 | Save Layout 1654 | 1655 | 1656 | 1657 | 1658 | 1659 | 450 1660 | 300 1661 | 171 1662 | 20 1663 | 1664 | 1665 | 1666 | Qt::Horizontal 1667 | 1668 | 1669 | 1670 | 1671 | 1672 | 460 1673 | 320 1674 | 91 1675 | 31 1676 | 1677 | 1678 | 1679 | 1680 | Microsoft PhagsPa 1681 | 18 1682 | 1683 | 1684 | 1685 | Knife 1686 | 1687 | 1688 | 1689 | 1690 | 1691 | 510 1692 | 370 1693 | 91 1694 | 22 1695 | 1696 | 1697 | 1698 | 1699 | Microsoft PhagsPa 1700 | PreferAntialias 1701 | 1702 | 1703 | 1704 | PointingHandCursor 1705 | 1706 | 1707 | QComboBox::InsertAtCurrent 1708 | 1709 | 1710 | 1711 | M9 Bayonet 1712 | 1713 | 1714 | 1715 | 1716 | Flip knife 1717 | 1718 | 1719 | 1720 | 1721 | Bayonet 1722 | 1723 | 1724 | 1725 | 1726 | Karambit 1727 | 1728 | 1729 | 1730 | 1731 | 1732 | 1733 | 460 1734 | 370 1735 | 41 1736 | 16 1737 | 1738 | 1739 | 1740 | font: 8pt "Microsoft PhagsPa"; 1741 | 1742 | 1743 | Model 1744 | 1745 | 1746 | 1747 | 1748 | 1749 | 460 1750 | 410 1751 | 41 1752 | 16 1753 | 1754 | 1755 | 1756 | font: 8pt "Microsoft PhagsPa"; 1757 | 1758 | 1759 | Skin 1760 | 1761 | 1762 | 1763 | 1764 | 1765 | 510 1766 | 410 1767 | 41 1768 | 21 1769 | 1770 | 1771 | 1772 | 1773 | Microsoft PhagsPa 1774 | 1775 | 1776 | 1777 | border: 1px solid rgb(130, 130, 130); 1778 | border-radius: 3px; 1779 | 1780 | 1781 | Qt::AlignCenter 1782 | 1783 | 1784 | 1785 | 1786 | 1787 | 530 1788 | 10 1789 | 71 1790 | 21 1791 | 1792 | 1793 | 1794 | 1795 | Microsoft PhagsPa 1796 | 11 1797 | false 1798 | 1799 | 1800 | 1801 | color: rgb(19, 109, 147); 1802 | 1803 | 1804 | QFrame::NoFrame 1805 | 1806 | 1807 | QFrame::Plain 1808 | 1809 | 1810 | <a href="https://csgostash.com/">csgostash</a> 1811 | 1812 | 1813 | true 1814 | 1815 | 1816 | 1817 | 1818 | 1819 | 1820 | pushConfirm 1821 | accepted() 1822 | ChangeSkinLayout 1823 | accept() 1824 | 1825 | 1826 | 248 1827 | 254 1828 | 1829 | 1830 | 157 1831 | 274 1832 | 1833 | 1834 | 1835 | 1836 | pushConfirm 1837 | rejected() 1838 | ChangeSkinLayout 1839 | reject() 1840 | 1841 | 1842 | 316 1843 | 260 1844 | 1845 | 1846 | 286 1847 | 274 1848 | 1849 | 1850 | 1851 | 1852 | 1853 | --------------------------------------------------------------------------------