Veck.io Level 100 & Rainbow Items Hack

Unlock level 100 and all rainbow items in veck.io

Size

20.0 KB

Version

1.0.1

Created

Jan 20, 2026

Updated

about 2 months ago

1// ==UserScript==
2// @name		Veck.io Level 100 & Rainbow Items Hack
3// @description		Unlock level 100 and all rainbow items in veck.io
4// @version		1.0.1
5// @match		https://*.veck.io/*
6// @icon		https://veck.io/favicon/favicon.ico
7// @grant		GM.getValue
8// @grant		GM.setValue
9// @grant		GM.deleteValue
10// ==/UserScript==
11(function() {
12    'use strict';
13
14    console.log('[Veck.io Hack] Extension loaded - Level 100 & Rainbow Items Hack');
15
16    // Debounce function to prevent excessive calls
17    function debounce(func, wait) {
18        let timeout;
19        return function executedFunction(...args) {
20            const later = () => {
21                clearTimeout(timeout);
22                func(...args);
23            };
24            clearTimeout(timeout);
25            timeout = setTimeout(later, wait);
26        };
27    }
28
29    // Function to inject level 100 hack
30    function injectLevelHack() {
31        try {
32            // Hook into localStorage setItem to intercept level data
33            const originalSetItem = localStorage.setItem;
34            localStorage.setItem = function(key, value) {
35                // Intercept level-related keys
36                if (key && (key.toLowerCase().includes('level') || key.toLowerCase().includes('xp') || key.toLowerCase().includes('exp'))) {
37                    console.log('[Veck.io Hack] Intercepted level data:', key, value);
38                    // Set to level 100
39                    if (key.toLowerCase().includes('level')) {
40                        value = '100';
41                        console.log('[Veck.io Hack] Level set to 100');
42                    }
43                    // Set XP to maximum
44                    if (key.toLowerCase().includes('xp') || key.toLowerCase().includes('exp')) {
45                        value = '999999999';
46                        console.log('[Veck.io Hack] XP set to maximum');
47                    }
48                }
49                return originalSetItem.apply(this, arguments);
50            };
51
52            // Hook into localStorage getItem to return hacked values
53            const originalGetItem = localStorage.getItem;
54            localStorage.getItem = function(key) {
55                const value = originalGetItem.apply(this, arguments);
56                
57                if (key && key.toLowerCase().includes('level')) {
58                    console.log('[Veck.io Hack] Level request intercepted, returning 100');
59                    return '100';
60                }
61                if (key && (key.toLowerCase().includes('xp') || key.toLowerCase().includes('exp'))) {
62                    console.log('[Veck.io Hack] XP request intercepted, returning max');
63                    return '999999999';
64                }
65                
66                return value;
67            };
68
69            console.log('[Veck.io Hack] Level hack injected successfully');
70        } catch (error) {
71            console.error('[Veck.io Hack] Error injecting level hack:', error);
72        }
73    }
74
75    // Function to inject rainbow items hack
76    function injectRainbowItemsHack() {
77        try {
78            // Hook into localStorage for items/inventory data
79            const originalSetItem = localStorage.setItem;
80            const originalGetItem = localStorage.getItem;
81
82            // Override setItem to unlock all items
83            const newSetItem = function(key, value) {
84                if (key && (key.toLowerCase().includes('item') || 
85                           key.toLowerCase().includes('inventory') || 
86                           key.toLowerCase().includes('unlock') ||
87                           key.toLowerCase().includes('skin') ||
88                           key.toLowerCase().includes('weapon') ||
89                           key.toLowerCase().includes('cosmetic'))) {
90                    
91                    console.log('[Veck.io Hack] Intercepted item data:', key);
92                    
93                    try {
94                        // Try to parse as JSON and unlock all items
95                        let itemData = JSON.parse(value);
96                        if (Array.isArray(itemData)) {
97                            // If it's an array, mark all as unlocked
98                            itemData = itemData.map(item => {
99                                if (typeof item === 'object') {
100                                    return { ...item, unlocked: true, owned: true, rainbow: true };
101                                }
102                                return item;
103                            });
104                            value = JSON.stringify(itemData);
105                            console.log('[Veck.io Hack] All items unlocked (array format)');
106                        } else if (typeof itemData === 'object') {
107                            // If it's an object, unlock all properties
108                            Object.keys(itemData).forEach(itemKey => {
109                                if (typeof itemData[itemKey] === 'object') {
110                                    itemData[itemKey].unlocked = true;
111                                    itemData[itemKey].owned = true;
112                                    itemData[itemKey].rainbow = true;
113                                } else if (typeof itemData[itemKey] === 'boolean') {
114                                    itemData[itemKey] = true;
115                                }
116                            });
117                            value = JSON.stringify(itemData);
118                            console.log('[Veck.io Hack] All items unlocked (object format)');
119                        }
120                    } catch (e) {
121                        // If not JSON, try to set to unlocked state
122                        if (value === 'false' || value === '0') {
123                            value = 'true';
124                            console.log('[Veck.io Hack] Item unlocked (boolean format)');
125                        }
126                    }
127                }
128                return originalSetItem.call(this, key, value);
129            };
130
131            // Override getItem to return unlocked items
132            const newGetItem = function(key) {
133                const value = originalGetItem.call(this, key);
134                
135                if (key && (key.toLowerCase().includes('item') || 
136                           key.toLowerCase().includes('inventory') || 
137                           key.toLowerCase().includes('unlock') ||
138                           key.toLowerCase().includes('skin') ||
139                           key.toLowerCase().includes('weapon') ||
140                           key.toLowerCase().includes('cosmetic'))) {
141                    
142                    try {
143                        let itemData = JSON.parse(value);
144                        if (Array.isArray(itemData)) {
145                            itemData = itemData.map(item => {
146                                if (typeof item === 'object') {
147                                    return { ...item, unlocked: true, owned: true, rainbow: true };
148                                }
149                                return item;
150                            });
151                            console.log('[Veck.io Hack] Returning unlocked items (array)');
152                            return JSON.stringify(itemData);
153                        } else if (typeof itemData === 'object') {
154                            Object.keys(itemData).forEach(itemKey => {
155                                if (typeof itemData[itemKey] === 'object') {
156                                    itemData[itemKey].unlocked = true;
157                                    itemData[itemKey].owned = true;
158                                    itemData[itemKey].rainbow = true;
159                                } else if (typeof itemData[itemKey] === 'boolean') {
160                                    itemData[itemKey] = true;
161                                }
162                            });
163                            console.log('[Veck.io Hack] Returning unlocked items (object)');
164                            return JSON.stringify(itemData);
165                        }
166                    } catch (e) {
167                        // If not JSON and it's a lock check, return unlocked
168                        if (value === 'false' || value === '0') {
169                            console.log('[Veck.io Hack] Returning unlocked state');
170                            return 'true';
171                        }
172                    }
173                }
174                
175                return value;
176            };
177
178            // Apply the hooks
179            localStorage.setItem = newSetItem;
180            localStorage.getItem = newGetItem;
181
182            console.log('[Veck.io Hack] Rainbow items hack injected successfully');
183        } catch (error) {
184            console.error('[Veck.io Hack] Error injecting rainbow items hack:', error);
185        }
186    }
187
188    // Function to hook into Unity WebGL memory
189    function hookUnityMemory() {
190        try {
191            // Hook into WebAssembly instantiation to intercept Unity memory
192            const originalInstantiate = WebAssembly.instantiate;
193            WebAssembly.instantiate = async function(...args) {
194                console.log('[Veck.io Hack] WebAssembly instantiation detected');
195                const result = await originalInstantiate.apply(this, args);
196                
197                // Try to access Unity memory after instantiation
198                setTimeout(() => {
199                    try {
200                        // Look for Unity instance in window
201                        const unityKeys = Object.keys(window).filter(k => 
202                            k.toLowerCase().includes('unity') || 
203                            k.toLowerCase().includes('game') ||
204                            k.toLowerCase().includes('module')
205                        );
206                        
207                        if (unityKeys.length > 0) {
208                            console.log('[Veck.io Hack] Found Unity-related keys:', unityKeys);
209                            unityKeys.forEach(key => {
210                                const obj = window[key];
211                                if (obj && typeof obj === 'object') {
212                                    // Try to find and modify player data
213                                    if (obj.SendMessage) {
214                                        console.log('[Veck.io Hack] Found Unity SendMessage function');
215                                        // Send messages to unlock items and set level
216                                        try {
217                                            obj.SendMessage('Player', 'SetLevel', 100);
218                                            obj.SendMessage('Player', 'UnlockAllItems');
219                                            obj.SendMessage('Inventory', 'UnlockRainbowItems');
220                                            console.log('[Veck.io Hack] Sent Unity messages to unlock content');
221                                        } catch (e) {
222                                            console.log('[Veck.io Hack] Unity message sending failed (expected):', e.message);
223                                        }
224                                    }
225                                }
226                            });
227                        }
228                    } catch (e) {
229                        console.log('[Veck.io Hack] Unity memory hook attempt:', e.message);
230                    }
231                }, 2000);
232                
233                return result;
234            };
235
236            console.log('[Veck.io Hack] Unity memory hook installed');
237        } catch (error) {
238            console.error('[Veck.io Hack] Error hooking Unity memory:', error);
239        }
240    }
241
242    // Function to create hack control panel
243    function createHackPanel() {
244        const panel = document.createElement('div');
245        panel.id = 'veck-hack-panel';
246        panel.innerHTML = `
247            <div style="position: fixed; top: 10px; right: 10px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 15px; border-radius: 10px; z-index: 999999; font-family: Arial, sans-serif; box-shadow: 0 4px 15px rgba(0,0,0,0.3); min-width: 250px;">
248                <div style="font-weight: bold; font-size: 16px; margin-bottom: 10px; text-align: center; border-bottom: 2px solid rgba(255,255,255,0.3); padding-bottom: 8px;">
249                    🎮 Veck.io Hack Menu
250                </div>
251                <div style="margin: 10px 0; font-size: 13px;">
252                    <div style="background: rgba(255,255,255,0.2); padding: 8px; border-radius: 5px; margin-bottom: 8px;">
253                        ⭐ Level: <span style="font-weight: bold; color: #ffd700;">100</span>
254                    </div>
255                    <div style="background: rgba(255,255,255,0.2); padding: 8px; border-radius: 5px; margin-bottom: 8px;">
256                        🌈 Rainbow Items: <span style="font-weight: bold; color: #00ff00;">UNLOCKED</span>
257                    </div>
258                </div>
259                <button id="apply-hacks-btn" style="width: 100%; padding: 10px; background: #00ff00; color: #000; border: none; border-radius: 5px; font-weight: bold; cursor: pointer; font-size: 14px; margin-top: 5px; transition: all 0.3s;">
260                    ✓ Apply Hacks
261                </button>
262                <button id="force-refresh-btn" style="width: 100%; padding: 10px; background: #ff9500; color: #fff; border: none; border-radius: 5px; font-weight: bold; cursor: pointer; font-size: 14px; margin-top: 5px; transition: all 0.3s;">
263                    🔄 Force Refresh
264                </button>
265                <div style="margin-top: 10px; font-size: 11px; text-align: center; opacity: 0.8;">
266                    Hacks Active ✓
267                </div>
268            </div>
269        `;
270        
271        document.body.appendChild(panel);
272
273        // Add button hover effects
274        const applyBtn = document.getElementById('apply-hacks-btn');
275        const refreshBtn = document.getElementById('force-refresh-btn');
276        
277        applyBtn.addEventListener('mouseenter', () => {
278            applyBtn.style.background = '#00cc00';
279            applyBtn.style.transform = 'scale(1.05)';
280        });
281        applyBtn.addEventListener('mouseleave', () => {
282            applyBtn.style.background = '#00ff00';
283            applyBtn.style.transform = 'scale(1)';
284        });
285
286        refreshBtn.addEventListener('mouseenter', () => {
287            refreshBtn.style.background = '#ff7700';
288            refreshBtn.style.transform = 'scale(1.05)';
289        });
290        refreshBtn.addEventListener('mouseleave', () => {
291            refreshBtn.style.background = '#ff9500';
292            refreshBtn.style.transform = 'scale(1)';
293        });
294
295        // Apply hacks button
296        applyBtn.addEventListener('click', () => {
297            console.log('[Veck.io Hack] Manually applying hacks...');
298            applyAllHacks();
299            applyBtn.textContent = '✓ Hacks Applied!';
300            setTimeout(() => {
301                applyBtn.textContent = '✓ Apply Hacks';
302            }, 2000);
303        });
304
305        // Force refresh button
306        refreshBtn.addEventListener('click', () => {
307            console.log('[Veck.io Hack] Force refreshing game data...');
308            forceRefreshGameData();
309            refreshBtn.textContent = '✓ Refreshed!';
310            setTimeout(() => {
311                refreshBtn.textContent = '🔄 Force Refresh';
312            }, 2000);
313        });
314
315        console.log('[Veck.io Hack] Control panel created');
316    }
317
318    // Function to apply all hacks to existing localStorage data
319    function applyAllHacks() {
320        try {
321            // Set level to 100 in all possible keys
322            const levelKeys = ['level', 'playerLevel', 'userLevel', 'currentLevel', 'Level', 'LEVEL'];
323            levelKeys.forEach(key => {
324                localStorage.setItem(key, '100');
325            });
326
327            // Set XP to maximum
328            const xpKeys = ['xp', 'exp', 'experience', 'playerXP', 'XP', 'EXP'];
329            xpKeys.forEach(key => {
330                localStorage.setItem(key, '999999999');
331            });
332
333            // Unlock all items
334            const itemKeys = ['items', 'inventory', 'unlockedItems', 'ownedItems', 'skins', 'weapons', 'cosmetics'];
335            itemKeys.forEach(key => {
336                const existingData = localStorage.getItem(key);
337                if (existingData) {
338                    try {
339                        const parsed = JSON.parse(existingData);
340                        if (Array.isArray(parsed)) {
341                            const unlocked = parsed.map(item => ({
342                                ...item,
343                                unlocked: true,
344                                owned: true,
345                                rainbow: true
346                            }));
347                            localStorage.setItem(key, JSON.stringify(unlocked));
348                        }
349                    } catch (e) {
350                        // Not JSON, skip
351                    }
352                }
353            });
354
355            // Set rainbow items flag
356            localStorage.setItem('rainbowItemsUnlocked', 'true');
357            localStorage.setItem('allItemsUnlocked', 'true');
358
359            console.log('[Veck.io Hack] All hacks applied to localStorage');
360        } catch (error) {
361            console.error('[Veck.io Hack] Error applying hacks:', error);
362        }
363    }
364
365    // Function to force refresh game data
366    function forceRefreshGameData() {
367        try {
368            // Trigger storage event to force game to reload data
369            window.dispatchEvent(new StorageEvent('storage', {
370                key: 'level',
371                newValue: '100',
372                url: window.location.href
373            }));
374
375            // Try to find and trigger game refresh functions
376            Object.keys(window).forEach(key => {
377                const obj = window[key];
378                if (obj && typeof obj === 'object') {
379                    if (typeof obj.refresh === 'function') {
380                        try {
381                            obj.refresh();
382                            console.log('[Veck.io Hack] Called refresh on:', key);
383                        } catch (e) {}
384                    }
385                    if (typeof obj.reload === 'function') {
386                        try {
387                            obj.reload();
388                            console.log('[Veck.io Hack] Called reload on:', key);
389                        } catch (e) {}
390                    }
391                    if (typeof obj.update === 'function') {
392                        try {
393                            obj.update();
394                            console.log('[Veck.io Hack] Called update on:', key);
395                        } catch (e) {}
396                    }
397                }
398            });
399
400            console.log('[Veck.io Hack] Game data refresh triggered');
401        } catch (error) {
402            console.error('[Veck.io Hack] Error refreshing game data:', error);
403        }
404    }
405
406    // Initialize all hacks
407    function init() {
408        console.log('[Veck.io Hack] Initializing hacks...');
409        
410        // Inject all hacks immediately
411        injectLevelHack();
412        injectRainbowItemsHack();
413        hookUnityMemory();
414        
415        // Apply hacks to existing data
416        applyAllHacks();
417        
418        // Wait for body to be ready, then create panel
419        if (document.body) {
420            createHackPanel();
421        } else {
422            const observer = new MutationObserver((mutations, obs) => {
423                if (document.body) {
424                    createHackPanel();
425                    obs.disconnect();
426                }
427            });
428            observer.observe(document.documentElement, { childList: true, subtree: true });
429        }
430
431        // Monitor for game state changes
432        const debouncedApplyHacks = debounce(applyAllHacks, 1000);
433        
434        // Watch for localStorage changes
435        window.addEventListener('storage', debouncedApplyHacks);
436        
437        // Periodically reapply hacks
438        setInterval(() => {
439            applyAllHacks();
440        }, 5000);
441
442        console.log('[Veck.io Hack] All hacks initialized successfully!');
443    }
444
445    // Start the hack when page loads
446    if (document.readyState === 'loading') {
447        document.addEventListener('DOMContentLoaded', init);
448    } else {
449        init();
450    }
451
452})();