Open-source atomic malware analysis

Analyze another

data/opt/Grimoire/resources/app.asar!dist/main/index.js

UNKNOWN
Verdict: BENIGN
Mal-ecule
K(Li)O₃(Ca₂CCo₂)H₈(Cm₂₄Cr₃Db₉F₃Os₆Po₁₅U)Md₂(Pa)
Size 2.8 MB download unavailable
First seen 1 day ago
Analyzed 1 day ago
Ecosystem arch

Referenced by 1 sample

Steam loginusers.vdf file access: index.js:0x14e2bb
Steam account config targeting: index.js:0x11986
Steam localconfig/config.vdf file access: index.js:0x11986
index.js javascript
7:11 uire$$1$2, { homedir, availableParallelism, tmpdir } from "os";
8 import require$$0$1, { execFileSync, spawn } from "child_process";
9 import require$$0$5, { createHash, randomBytes, randomUUID } from "crypto";
10 import require$$14, { gzipSync, gunzipSync, constants as constants$7 } from "zlib";
11 import { Worker } from "worker_threads";
12 import Database from "better-sqlite3";
13 import require$$2$1 from "util";
14 import require$$0$2, { EventEmitter } from "events";
15 i
56:8 s = {
57 dev: !app.isPackaged
58 };
59 const platform = {
60 isWindows: process.platform === "win32",
61 isMacOS: process.platform === "darwin",
62 isLinux: process.platform === "linux"
63 };
64 const electronApp = {
65 setAppUserModelId(id) {
66 if (platform.isWindows)
67 app.setAppUserModelId(is.dev ? process.exe
181:13 dout = execFileSync("reg", ["query", key, "/v", value], {
182 stdio: ["ignore", "pipe", "ignore"],
183 timeout: 2e3
184 }).toString();
185 const match = stdout.match(/REG_SZ\s+(.+?)\s*$/m);
186 return match ? match[1].trim
2066:35
2067 if (!/^\d+$/.test(entry)) continue;
2068 const configPath = join(root, entry, "config", "localconfig.vdf"); Steam localconfig/config.vdf file access
2069 if (!existsSync(configPath)) continue;
2070 try {
2071 const stat2 = await promises.stat(configPath);
2072 candidates.push({ accountId: entry, configPath, mtime: stat2.mtimeMs
39434:12 rs = [];
39435 for (const configPath of configPaths) {
39436 const loginUsersPath = join(configPath, "loginusers.vdf"); Steam account config targeting
39437 if (!existsSync(loginUsersPath)) {
39438 continue;
39439 }
39440 try {
39441 const content = readFileSync(loginUsersPath, "utf-8");
39442 const data = parseVDF(content);
39443 const usersD

Well-known

Objectives

Micro-behaviors

Metadata

20 of 47 traits shown

Identity

SHA-256 82dd3a45dd1cbe3c38f8309468b22e2dab61047a67453d9918872246eea9d5e5
Filename data/opt/Grimoire/resources/app.asar!dist/main/index.js

Origin

Source x
Feed aur.archlinux.org
Ecosystem arch

Timeline

First seen 5 Aug 2026 18:28 UTC
First analyzed 21 Jun 2026 23:56 UTC
Last analyzed 5 Aug 2026 18:30 UTC
Last updated 5 Aug 2026 18:28 UTC

Labeling

Label unknown