-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.cpp
124 lines (102 loc) · 3.52 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <Windows.h>
#include <MinHook.h>
#include "Math/Math.h"
#include "Memory/SDK/ClientInstance.h"
#include "Memory/SDK/Actor.h"
#include "Memory/SDK/Player.h"
#include <cmath>
#include <map>
// "Here we have a wild yammi in her natural habitat" - Flame
#define PI 3.14159265359 // 3.14159265359
typedef void(__thiscall* tick)(ClientInstance*, void* a2);
tick _tick;
typedef void(__thiscall* key)(uint64_t, bool);
key _key;
std::map<uint64_t, bool> keymap = std::map<uint64_t, bool>();
std::map<uint64_t, bool> dKeymap = std::map<uint64_t, bool>();
void keyCallback(uint64_t c, bool v){
keymap[c] = v;
//if (!dKeymap[c])
_key(c, v);
};
bool vModule = true;
void callback(ClientInstance* instance, void* a2){
auto player = instance->getLocalPlayer();
if(player != nullptr) {
if (keymap[0x43]) { // (int)'C'
player->setFieldOfView(0.1f);
}
else {
player->setFieldOfView(1);
}
if (keymap[(int)'Y']){
//player->swing();
//player->handleFallDistanceOnServer(0,0,false);
//player->attack(player->getLevel()->getEntities()[0]);
}
/*if (keymap[VK_CONTROL] && keymap[0x4C]) { // eject
MH_DisableHook(MH_ALL_HOOKS);
MH_Uninitialize();
}*/
}
_tick(instance, a2);
};
void init(HMODULE c){
if(MH_Initialize() == MH_OK){ // *reinterpret_cast<int*>(Mem::findSig("48 8B 81 ? ? ? ? C3 CC CC CC CC CC CC CC CC 40 55") + 3)
uintptr_t baseAddr = (uintptr_t)GetModuleHandleA("Minecraft.Windows.exe");
uintptr_t hookAddr = (uintptr_t)(baseAddr + 0x778C35);
uintptr_t keymapAddr = (uintptr_t)(baseAddr + 0x72C620);
uintptr_t packetAddr = (uintptr_t)(baseAddr + 0x0);
if(MH_CreateHook((void*)hookAddr, &callback, reinterpret_cast<LPVOID*>(&_tick)) == MH_OK){
MH_EnableHook((void*)hookAddr);
};
if(MH_CreateHook((void*)keymapAddr, &keyCallback, reinterpret_cast<LPVOID*>(&_key)) == MH_OK){
MH_EnableHook((void*)keymapAddr);
};
};
};
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD fdwReason, LPVOID lpReserved){
switch(fdwReason){
case DLL_PROCESS_ATTACH:
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)init, hInstance, 0, 0);
break;
};
return TRUE;
};
/*
if ((keymap[87] | keymap[0x41] | keymap[0x53] | keymap[0x44])){
float yaw = player->bodyRots()->y; // yaw
if (keymap[87]){
if (!keymap[0x41] && !keymap[0x53]){
yaw += 90;
}
if (keymap[0x41]){
yaw += 45;
}
else if (keymap[0x44]){
yaw += 135;
}
}
else if (keymap[0x53]){
if (!keymap[0x41] && !keymap[0x53]){
yaw -= 90;
}
if (keymap[0x41]){
yaw -= 45;
}
else if (keymap[0x44]){
yaw -= 135;
}
}
else if (!keymap[87] && !keymap[0x53]){
if (!keymap[0x41] && keymap[0x44]){
yaw += 180;
}
}
if (player->touchingBlock()){
player->velocity()->y = 0.3f;
}
auto speed = 3.0f;
*player->velocity() = Vector3(cos((yaw) * (PI / 180.f)) * speed, player->velocity()->y, sin((yaw) * (PI / 180.f)) * speed);
}
*/