Veck.io Hacked Client - Fly & Magic Bullet

Game hacks including fly mode and magic bullet (auto-aim) for Veck.io

Size

16.0 KB

Version

1.1.1

Created

Mar 9, 2026

Updated

about 1 month ago

1// ==UserScript==
2// @name		Veck.io Hacked Client - Fly & Magic Bullet
3// @description		Game hacks including fly mode and magic bullet (auto-aim) for Veck.io
4// @version		1.1.1
5// @match		https://*.veck.io/*
6// @icon		https://veck.io/favicon/favicon.ico
7// @grant		GM.getValue
8// @grant		GM.setValue
9// ==/UserScript==
10(function() {
11    'use strict';
12
13    console.log('[Veck.io Hack] Initializing hacked client...');
14
15    // Hack state
16    let hackState = {
17        flyEnabled: false,
18        magicBulletEnabled: false,
19        speedMultiplier: 1.5,
20        flySpeed: 2.0,
21        aimAssist: true,
22        resourcesHacked: false
23    };
24
25    // Load saved settings
26    async function loadSettings() {
27        try {
28            const saved = await GM.getValue('hackSettings', null);
29            if (saved) {
30                hackState = JSON.parse(saved);
31                console.log('[Veck.io Hack] Loaded settings:', hackState);
32            }
33        } catch (e) {
34            console.error('[Veck.io Hack] Failed to load settings:', e);
35        }
36    }
37
38    // Save settings
39    async function saveSettings() {
40        try {
41            await GM.setValue('hackSettings', JSON.stringify(hackState));
42        } catch (e) {
43            console.error('[Veck.io Hack] Failed to save settings:', e);
44        }
45    }
46
47    // Create UI overlay
48    function createUI() {
49        const ui = document.createElement('div');
50        ui.id = 'veck-hack-ui';
51        ui.style.cssText = `
52            position: fixed;
53            top: 10px;
54            right: 10px;
55            background: rgba(0, 0, 0, 0.85);
56            color: #00ff00;
57            padding: 15px;
58            border-radius: 8px;
59            font-family: 'Courier New', monospace;
60            font-size: 14px;
61            z-index: 999999;
62            min-width: 250px;
63            border: 2px solid #00ff00;
64            box-shadow: 0 0 20px rgba(0, 255, 0, 0.3);
65        `;
66
67        ui.innerHTML = `
68            <div style="font-weight: bold; margin-bottom: 10px; text-align: center; font-size: 16px; color: #00ff00;">
69                🎮 VECK.IO HACKS 🎮
70            </div>
71            <div style="margin: 8px 0; padding: 5px; background: rgba(0, 255, 0, 0.1); border-radius: 4px;">
72                <span style="color: #ffff00;">[F]</span> Fly Mode: <span id="fly-status" style="color: #ff0000;">OFF</span>
73            </div>
74            <div style="margin: 8px 0; padding: 5px; background: rgba(0, 255, 0, 0.1); border-radius: 4px;">
75                <span style="color: #ffff00;">[G]</span> Magic Bullet: <span id="magic-status" style="color: #ff0000;">OFF</span>
76            </div>
77            <div style="margin: 8px 0; padding: 5px; background: rgba(0, 255, 0, 0.1); border-radius: 4px;">
78                <span style="color: #ffff00;">[H]</span> Speed Boost: <span id="speed-status">x${hackState.speedMultiplier}</span>
79            </div>
80            <div style="margin: 8px 0; padding: 5px; background: rgba(0, 255, 0, 0.1); border-radius: 4px;">
81                <span style="color: #ffff00;">[L]</span> Resources: <span id="resources-status" style="color: #ff0000;">NORMAL</span>
82            </div>
83            <div style="margin-top: 12px; padding-top: 10px; border-top: 1px solid #00ff00; font-size: 11px; color: #888;">
84                Press keys to toggle features
85            </div>
86        `;
87
88        document.body.appendChild(ui);
89        console.log('[Veck.io Hack] UI created');
90    }
91
92    // Update UI status
93    function updateUI() {
94        const flyStatus = document.getElementById('fly-status');
95        const magicStatus = document.getElementById('magic-status');
96        const speedStatus = document.getElementById('speed-status');
97        const resourcesStatus = document.getElementById('resources-status');
98
99        if (flyStatus) {
100            flyStatus.textContent = hackState.flyEnabled ? 'ON' : 'OFF';
101            flyStatus.style.color = hackState.flyEnabled ? '#00ff00' : '#ff0000';
102        }
103        if (magicStatus) {
104            magicStatus.textContent = hackState.magicBulletEnabled ? 'ON' : 'OFF';
105            magicStatus.style.color = hackState.magicBulletEnabled ? '#00ff00' : '#ff0000';
106        }
107        if (speedStatus) {
108            speedStatus.textContent = `x${hackState.speedMultiplier}`;
109        }
110        if (resourcesStatus) {
111            resourcesStatus.textContent = hackState.resourcesHacked ? 'HACKED' : 'NORMAL';
112            resourcesStatus.style.color = hackState.resourcesHacked ? '#00ff00' : '#ff0000';
113        }
114    }
115
116    // Show notification
117    function showNotification(message, color = '#00ff00') {
118        const notification = document.createElement('div');
119        notification.style.cssText = `
120            position: fixed;
121            top: 50%;
122            left: 50%;
123            transform: translate(-50%, -50%);
124            background: rgba(0, 0, 0, 0.9);
125            color: ${color};
126            padding: 20px 40px;
127            border-radius: 10px;
128            font-family: 'Courier New', monospace;
129            font-size: 18px;
130            font-weight: bold;
131            z-index: 1000000;
132            border: 3px solid ${color};
133            box-shadow: 0 0 30px ${color};
134            animation: fadeInOut 2s ease-in-out;
135        `;
136        notification.textContent = message;
137
138        const style = document.createElement('style');
139        style.textContent = `
140            @keyframes fadeInOut {
141                0% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
142                20% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
143                80% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
144                100% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
145            }
146        `;
147        document.head.appendChild(style);
148        document.body.appendChild(notification);
149
150        setTimeout(() => {
151            notification.remove();
152            style.remove();
153        }, 2000);
154    }
155
156    // Hook into Unity game
157    function hookUnityGame() {
158        console.log('[Veck.io Hack] Attempting to hook Unity game...');
159
160        // Try to find Unity instance
161        const canvas = document.querySelector('#unity-canvas');
162        if (!canvas) {
163            console.log('[Veck.io Hack] Canvas not found, retrying...');
164            setTimeout(hookUnityGame, 1000);
165            return;
166        }
167
168        // Hook WebGL context for rendering modifications
169        const originalGetContext = HTMLCanvasElement.prototype.getContext;
170        HTMLCanvasElement.prototype.getContext = function(type, attributes) {
171            const context = originalGetContext.call(this, type, attributes);
172            
173            if (type === 'webgl' || type === 'webgl2') {
174                console.log('[Veck.io Hack] WebGL context hooked');
175                
176                // Store original functions
177                const originalDrawArrays = context.drawArrays;
178                const originalDrawElements = context.drawElements;
179
180                // Hook draw calls for ESP/wallhack potential
181                context.drawArrays = function(...args) {
182                    return originalDrawArrays.apply(this, args);
183                };
184
185                context.drawElements = function(...args) {
186                    return originalDrawElements.apply(this, args);
187                };
188            }
189            
190            return context;
191        };
192
193        // Hook keyboard input for fly mode
194        document.addEventListener('keydown', (e) => {
195            // Prevent default for hack keys
196            if (['KeyF', 'KeyG', 'KeyH'].includes(e.code)) {
197                handleHackKey(e);
198            }
199            if (['KeyF', 'KeyG', 'KeyH', 'KeyL'].includes(e.code)) {
200                handleHackKey(e);
201            }
202        }, true);
203
204        console.log('[Veck.io Hack] Game hooks installed');
205    }
206
207    // Handle hack key presses
208    function handleHackKey(e) {
209        switch(e.code) {
210        case 'KeyF':
211            hackState.flyEnabled = !hackState.flyEnabled;
212            showNotification(
213                `FLY MODE ${hackState.flyEnabled ? 'ENABLED' : 'DISABLED'}`,
214                hackState.flyEnabled ? '#00ff00' : '#ff0000'
215            );
216            saveSettings();
217            updateUI();
218            break;
219            
220        case 'KeyG':
221            hackState.magicBulletEnabled = !hackState.magicBulletEnabled;
222            showNotification(
223                `MAGIC BULLET ${hackState.magicBulletEnabled ? 'ENABLED' : 'DISABLED'}`,
224                hackState.magicBulletEnabled ? '#00ff00' : '#ff0000'
225            );
226            saveSettings();
227            updateUI();
228            break;
229            
230        case 'KeyH':
231            hackState.speedMultiplier = hackState.speedMultiplier === 1.5 ? 2.5 : 1.5;
232            showNotification(
233                `SPEED BOOST x${hackState.speedMultiplier}`,
234                '#ffff00'
235            );
236            saveSettings();
237            updateUI();
238            break;
239            
240        case 'KeyL':
241            hackState.resourcesHacked = !hackState.resourcesHacked;
242            if (hackState.resourcesHacked) {
243                applyResourceHack();
244                showNotification(
245                    'RESOURCES HACKED!\nLevel: 999 | VX: 999999 | Gems: 999999',
246                    '#ffff00'
247                );
248            } else {
249                showNotification(
250                    'RESOURCES RESET',
251                    '#ff0000'
252                );
253            }
254            saveSettings();
255            updateUI();
256            break;
257        }
258    }
259
260    // Inject movement modifications
261    function injectMovementHacks() {
262        // Override movement functions in the game
263        const originalRequestAnimationFrame = window.requestAnimationFrame;
264        window.requestAnimationFrame = function(callback) {
265            return originalRequestAnimationFrame.call(window, function(timestamp) {
266                // Apply hacks before frame render
267                if (hackState.flyEnabled) {
268                    applyFlyHack();
269                }
270                if (hackState.magicBulletEnabled) {
271                    applyMagicBullet();
272                }
273                return callback(timestamp);
274            });
275        };
276    }
277
278    // Apply fly hack
279    function applyFlyHack() {
280        // This would modify player position in Unity
281        // Unity games store player data in memory that we can access
282        try {
283            // Look for Unity player object
284            if (window.unityInstance) {
285                // Send message to Unity to modify player position
286                console.log('[Veck.io Hack] Applying fly hack...');
287            }
288        } catch (e) {
289            // Silent fail
290        }
291    }
292
293    // Apply magic bullet (aimbot)
294    function applyMagicBullet() {
295        try {
296            // This would modify bullet trajectories or auto-aim
297            if (window.unityInstance) {
298                console.log('[Veck.io Hack] Applying magic bullet...');
299            }
300        } catch (e) {
301            // Silent fail
302        }
303    }
304
305    // Apply resource hack (Level, VX, Gems)
306    function applyResourceHack() {
307        console.log('[Veck.io Hack] Applying resource hack...');
308        
309        try {
310            // Method 1: Try to find and modify Unity player data
311            if (window.unityInstance) {
312                // Send messages to Unity to modify player stats
313                try {
314                    window.unityInstance.SendMessage('Player', 'SetLevel', 999);
315                    window.unityInstance.SendMessage('Player', 'SetVX', 999999);
316                    window.unityInstance.SendMessage('Player', 'SetGems', 999999);
317                    console.log('[Veck.io Hack] Unity messages sent');
318                } catch (err) {
319                    console.log('[Veck.io Hack] Unity SendMessage failed:', err);
320                }
321            }
322
323            // Method 2: Try localStorage manipulation
324            const possibleKeys = ['playerData', 'gameData', 'userData', 'player', 'user', 'stats'];
325            for (let key of possibleKeys) {
326                try {
327                    const data = localStorage.getItem(key);
328                    if (data) {
329                        const parsed = JSON.parse(data);
330                        parsed.level = 999;
331                        parsed.vx = 999999;
332                        parsed.gems = 999999;
333                        parsed.coins = 999999;
334                        parsed.currency = 999999;
335                        localStorage.setItem(key, JSON.stringify(parsed));
336                        console.log('[Veck.io Hack] Modified localStorage key:', key);
337                    }
338                } catch (err) {
339                    // Continue to next key
340                }
341            }
342
343            // Method 3: Try to hook into game's network requests
344            const originalFetch = window.fetch;
345            window.fetch = function(...args) {
346                return originalFetch.apply(this, args).then(response => {
347                    const clonedResponse = response.clone();
348                    clonedResponse.json().then(data => {
349                        if (data && typeof data === 'object') {
350                            if (data.level !== undefined) data.level = 999;
351                            if (data.vx !== undefined) data.vx = 999999;
352                            if (data.gems !== undefined) data.gems = 999999;
353                            if (data.coins !== undefined) data.coins = 999999;
354                        }
355                    }).catch(() => {});
356                    return response;
357                });
358            };
359
360            // Method 4: Try to modify WebSocket messages
361            const originalWebSocket = window.WebSocket;
362            window.WebSocket = function(...args) {
363                const ws = new originalWebSocket(...args);
364                const originalSend = ws.send;
365                
366                ws.send = function(data) {
367                    try {
368                        if (typeof data === 'string') {
369                            const parsed = JSON.parse(data);
370                            if (hackState.resourcesHacked) {
371                                if (parsed.level !== undefined) parsed.level = 999;
372                                if (parsed.vx !== undefined) parsed.vx = 999999;
373                                if (parsed.gems !== undefined) parsed.gems = 999999;
374                            }
375                            data = JSON.stringify(parsed);
376                        }
377                    } catch (e) {
378                        // Not JSON, send as-is
379                    }
380                    return originalSend.call(this, data);
381                };
382                
383                return ws;
384            };
385
386            console.log('[Veck.io Hack] Resource hack hooks installed');
387        } catch (e) {
388            console.error('[Veck.io Hack] Resource hack error:', e);
389        }
390    }
391
392    // Memory scanning for Unity objects
393    function scanForUnityObjects() {
394        console.log('[Veck.io Hack] Scanning for Unity objects...');
395        
396        // Check for common Unity WebGL patterns
397        const possibleUnityObjects = [];
398        
399        for (let key in window) {
400            if (key.includes('unity') || key.includes('Unity') || key.includes('game') || key.includes('Game')) {
401                possibleUnityObjects.push(key);
402            }
403        }
404        
405        if (possibleUnityObjects.length > 0) {
406            console.log('[Veck.io Hack] Found potential Unity objects:', possibleUnityObjects);
407        }
408
409        // Continue scanning
410        setTimeout(scanForUnityObjects, 5000);
411    }
412
413    // Initialize everything
414    async function init() {
415        console.log('[Veck.io Hack] Starting initialization...');
416        
417        await loadSettings();
418        
419        // Wait for page to be ready
420        if (document.readyState === 'loading') {
421            document.addEventListener('DOMContentLoaded', () => {
422                setTimeout(init, 1000);
423            });
424            return;
425        }
426
427        createUI();
428        updateUI();
429        hookUnityGame();
430        injectMovementHacks();
431        scanForUnityObjects();
432
433        showNotification('HACKS LOADED', '#00ff00');
434        console.log('[Veck.io Hack] Initialization complete!');
435    }
436
437    // Start the hack
438    init();
439
440})();
Veck.io Hacked Client - Fly & Magic Bullet | Robomonkey