MasDIYworK

MasDIYworK

На Пикабу
Дата рождения: 7 марта
96 рейтинг 0 подписчиков 16 подписок 4 поста 0 в горячем
Награды:
Пикабу 17 лет!За неравнодушие к судьбе Пикабу

Как я написал ботнет и взломал всю сеть!

Речь пойдёт про очень увлекательную игру Bitburner.

Бесплатная хакерская RPG Bitburner, где скрипты на JavaScript управляют серверами, миллиардами и аугментациями. Прокачка реальных навыков и тонны удовольствия.

Бесплатная хакерская RPG Bitburner, где скрипты на JavaScript управляют серверами, миллиардами и аугментациями. Прокачка реальных навыков и тонны удовольствия.

Bitburner — это бесплатная хакерская RPG с элементами программирования и инкрементала. Вы играете за хакера, который взламывает серверы, получает деньги, покупает аугментации и перерождается, становясь всё сильнее.

Где играть?

Основные фишки:

  • Всё управляется скриптами на JavaScript (Netscript).

  • Скрипты могут выполняться на удалённых серверах, работают асинхронно, используют RAM.

  • Есть полноценный терминал, редактор кода, встроенная документация.

  • Мир игры — это сотни серверов, фракции, биржа, хакнет-узлы, аугментации.

  • Игра не прощает ошибок: неверный скрипт может обнулить защиту сервера или слить деньги на комиссиях.

Первые шаги: как не сломать лоб

Когда вы запускаете игру впервые, видите терминал и кучу вкладок: Terminal, Hacking, Stats, Factions, Active Scripts. Становится страшно. Но не бойтесь.

Базовые команды терминала:

  • scan — показать список соседних серверов.

  • connect <сервер> — перейти на сервер.

  • ls — посмотреть файлы.

  • nano <имя.js> — создать скрипт.

  • run <имя.js> — запустить скрипт на текущем сервере.

  • connect home — вернуться домой.

Первая цель: сервер n00dles

У этого сервера не требуется открывать порты — можно сразу выполнить nuke и получить root.

Выполните на нем команду analyze чтобы увидеть информацию о нем, там будет указан требуемый уровень хакинга для установки root который ставиться через команду nuke.exe, далее на других компьютерах после анализа будет указано количество необходимых открытых портов для запуска nuke.exe.

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

Когда вы подключились к ПК и установили root вы можете выполнять команды на нем

Золотой треугольник хакера:

  1. weaken(server) — ослабляет защиту (security level).

  2. grow(server) — увеличивает количество денег на сервере.

  3. hack(server) — крадёт часть денег.

Если делать всё наугад, сервер станет бесполезным. Правильная стратегия: держать защиту на минимуме, деньги — на максимуме, и только потом красть.

Можно всё выполнять вручную, но это скучно, самый замес в том, что можно всё автоматизировать и писать свои скрипты, которые будут выполнять это за вас!

Скрипты бывают разные и выполняют разные действия, всё от вашей фантазии! Их можно запускать и хранить как на своем ПК, так и на чужих, всё зависит от цели.

Я написал 3 основных скрипта, которые всё оптимизируют и делают работу за вас, это скрипт хакера, который выполняет нужные команды для понижения защиты, увеличения денег и грабежа при достижении нужных условий. Ниже его код, его нужно создать у себя на ПК, то есть «home», командой nano hacker.js, откроется редактор скриптов, туда можете скопировать мой код и сохранить, запускается командой из терминала run hacker.js, подождите запускать, т. к. он начнет атаковать свой же компьютер, его необходимо запускать на чужих ПК, но это не все, для облегчения я написал ботнет, который сканирует сеть, находит самый лакомый кусочек (оптимальный по уровню и деньгам компьютер), скачивает и устанавливает нашего хакера на все компьютеры, на которых есть root-доступ, и запускает скрипт с атакой на указанной целью (то есть нашу выбранную цель)!

В общем вот его логика:

Принимает имя сервера-цели и в бесконечном цикле:

  • если защита выше минимальной → ослабляем,

  • если денег меньше максимума → увеличиваем,

  • иначе → крадём.


/** @Param {NS} ns **/

export async function main(ns) {

const target = ns.args[0];

if (!target) {

ns.tprint("Ошибка: цель не указана");

return;

}

while (true) {

if (ns.getServerSecurityLevel(target) > ns.getServerMinSecurityLevel(target) + 0.1) {

await ns.weaken(target);

} else if (ns.getServerMoneyAvailable(target) < ns.getServerMaxMoney(target)) {

await ns.grow(target);

} else {

await ns.hack(target);

}

}

}


Вот скрипт на нашего хакера, это самый простой скрипт.

А ниже уже будет сам ботнет, вот его сила:

Сканирует всю сеть (рекурсивно), взламывает новые серверы (открывает порты, nuke), затем копирует hacker.js на каждый взломанный сервер и запускает его с максимально возможным количеством потоков (threads). Все серверы атакуют одну общую цель — ту, которая даёт максимальную отдачу (формула maxMoney / hackTime). Периодически цель пересчитывается.

А вот ниже уже представлен код на нашего великого ботнета:


/** @param {NS} ns **/

export async function main(ns) {

const HACKER = "hacker.js";

const INTERVAL = 1800000; // 30 минут (можно изменить)

// Рекурсивный сбор всех серверов

function getAllServers(root = "home", visited = new Set()) {

visited.add(root);

for (const s of ns.scan(root)) if (!visited.has(s)) getAllServers(s, visited);

return Array.from(visited);

}

// Взлом сервера: открытие портов и nuke

async function hackServer(server) {

if (ns.hasRootAccess(server)) return true;

if (ns.getHackingLevel() < ns.getServerRequiredHackingLevel(server)) return false;

if (ns.fileExists("BruteSSH.exe", "home")) ns.brutessh(server);

if (ns.fileExists("FTPCrack.exe", "home")) ns.ftpcrack(server);

if (ns.fileExists("relaySMTP.exe", "home")) ns.relaysmtp(server);

if (ns.fileExists("HTTPWorm.exe", "home")) ns.httpworm(server);

if (ns.fileExists("SQLInject.exe", "home")) ns.sqlinject(server);

let portsOpened = 0;

if (ns.fileExists("BruteSSH.exe", "home")) portsOpened++;

if (ns.fileExists("FTPCrack.exe", "home")) portsOpened++;

if (ns.fileExists("relaySMTP.exe", "home")) portsOpened++;

if (ns.fileExists("HTTPWorm.exe", "home")) portsOpened++;

if (ns.fileExists("SQLInject.exe", "home")) portsOpened++;

const required = ns.getServerNumPortsRequired(server);

if (portsOpened >= required) {

ns.nuke(server);

ns.tprint(`[ВЗЛОМ] ${server} (портов ${portsOpened}/${required})`);

return true;

}

return false;

}

// Выбор лучшей цели для атаки (по формуле maxMoney / hackTime)

function getBestTarget() {

let best = null;

let bestScore = -1;

const myLevel = ns.getHackingLevel();

for (const s of getAllServers()) {

if (s === "home") continue;

if (!ns.hasRootAccess(s)) continue;

if (myLevel < ns.getServerRequiredHackingLevel(s)) continue;

const maxMoney = ns.getServerMaxMoney(s);

if (maxMoney <= 0) continue;

const hackTime = ns.getHackTime(s);

const score = maxMoney / hackTime;

if (score > bestScore) {

bestScore = score;

best = s;

}

}

return best;

}

// Развёртывание hacker.js на сервере (без проверки на деньги)

async function deployHacker(server, target) {

if (!ns.hasRootAccess(server)) return false;

await ns.scp(HACKER, server);

// Убиваем все старые процессы hacker.js

const running = ns.ps(server).filter(p => p.filename === HACKER);

for (const p of running) ns.kill(p.pid);

await ns.sleep(200);

const maxRam = ns.getServerMaxRam(server);

const usedRam = ns.getServerUsedRam(server);

let freeRam = maxRam - usedRam;

const scriptRam = ns.getScriptRam(HACKER);

if (freeRam < scriptRam) {

ns.print(`[НЕТ RAM] ${server} свободно ${freeRam.toFixed(2)} GB, нужно ${scriptRam.toFixed(2)} GB`);

return false;

}

let threads = Math.floor(freeRam / scriptRam);

if (freeRam - threads * scriptRam < 0.1) threads--;

if (threads < 1) return false;

ns.exec(HACKER, server, threads, target);

ns.tprint(`[ЗАПУСК] ${server}: ${threads} потоков -> цель ${target}`);

return true;

}

// Основной цикл

ns.tprint("[БОТНЕТ] Запущен. Сканирую сеть...");

while (true) {

const allServers = getAllServers();

// Взламываем новые серверы

for (const s of allServers) {

if (s !== "home") await hackServer(s);

}

// Выбираем лучшую цель

const target = getBestTarget();

if (!target) {

ns.tprint("[БОТНЕТ] Нет подходящей цели. Ждём...");

await ns.sleep(INTERVAL);

continue;

}

ns.tprint(`[ЦЕЛЬ] ${target}`);

// Развёртываем hacker.js на всех взломанных серверах (включая home)

for (const s of allServers) {

if (s === "home") continue;

if (ns.hasRootAccess(s)) await deployHacker(s, target);

}

// Домашний ПК – отдельно, оставляем 1 GB для ботнета

const homeFree = ns.getServerMaxRam("home") - ns.getServerUsedRam("home");

const scriptRam = ns.getScriptRam(HACKER);

if (homeFree > scriptRam + 1) {

let threads = Math.floor((homeFree - 1) / scriptRam);

const homeProcs = ns.ps("home").filter(p => p.filename === HACKER);

for (const p of homeProcs) ns.kill(p.pid);

await ns.sleep(200);

ns.exec(HACKER, "home", threads, target);

ns.tprint(`[ЗАПУСК] home: ${threads} потоков -> цель ${target}`);

}

ns.tprint(`[БОТНЕТ] Ожидание ${INTERVAL/1000} секунд до следующего цикла...`);

await ns.sleep(INTERVAL);

}

}


Взломанные ПК

Взломанные ПК

На практике ботнет работает отлично, кроме взлома, я это исправлю в будущем, но поэтому я собрал скрипт, который как раз взламывает все ПК и поднимает на них root, игнорируя уровень хакера, единственное, он взламывает только доступными программами, и если у вас есть не все проги, то вы не сможете открыть достаточное количество портов для поднятия root, в общем, если вы купите в даркнете все проги, то сможете взломать абсолютно все ПК в игре, не обращая внимания на свой уровень.

В общем вот логика:

Просто перебирает все серверы, открывает все порты, на которые у вас есть программы (BruteSSH.exe, FTPCrack.exe, relaySMTP.exe, HTTPWorm.exe, SQLInject.exe), и выполняет nuke. Не смотрит на уровень хакинга — если вы не можете взломать сервер, он просто не даст root. Удобно для массового захвата.


/** @param {NS} ns **/

export async function main(ns) {

function getAllServers(current = "home", visited = new Set()) {

visited.add(current);

for (const next of ns.scan(current)) if (!visited.has(next)) getAllServers(next, visited);

return Array.from(visited);

}

const servers = getAllServers();

const tools = [

{ file: "BruteSSH.exe", func: ns.brutessh },

{ file: "FTPCrack.exe", func: ns.ftpcrack },

{ file: "relaySMTP.exe", func: ns.relaysmtp },

{ file: "HTTPWorm.exe", func: ns.httpworm },

{ file: "SQLInject.exe", func: ns.sqlinject }

];

for (const s of servers) {

if (s === "home") continue;

ns.print(`\n🔧 Обработка ${s}...`);

// Открываем все доступные порты

for (const tool of tools) {

if (ns.fileExists(tool.file, "home")) {

tool.func(s);

ns.print(`  Открыт порт через ${tool.file}`);

} else {

ns.print(`  ⚠️ Файл ${tool.file} отсутствует`);

}

}

// Пытаемся получить root

ns.nuke(s);

if (ns.hasRootAccess(s)) {

ns.print(`  ✅ ${s} ВЗЛОМАН!`);

} else {

ns.print(`  ❌ ${s} не взломан (не хватает уровня или портов)`);

}

await ns.sleep(100);

}

ns.print("\nГотово.");

}


Вот три основных скрипта, я предлагаю порядок такой: сначала запускаете скрипт массового взлома, затем, когда он взломает доступные ПК, вы запускаете ботнет и ждете, когда повалят деньги!

Для начала самое то, если будет интересно, могу выложить еще много интересных скриптов, например для автоматической торговли на бирже, подскажу, где лучше всего работать и где набивать навыки.

Я не программист, возможно, мой код — это говнокод, я знаю, что там можно сделать еще лучше и круче, и я не раскрыл весь потенциал игры, но, по крайней мере, я вижу, что это работает и приносит то, что приносит!

Еще не забывайте про количество памяти на своем ПК, ее можно и нужно повышать, в городе найдите магазин, где можно приобрести улучшения для домашнего ПК, скрипты требуют памяти, и чем больше, тем лучше!

Надеюсь, я помогу начинающим, и меня не забросают тапками, просто поделился тем, что меня увлекло.

Если что вот моя статистика, я часто перезагружаюсь устанавливая Augmentations, так что пока так.

Если что вот моя статистика, я часто перезагружаюсь устанавливая Augmentations, так что пока так.

Показать полностью 3
13

Хочу превратить ваши любимые страшные истории в физическое ощущение. Нужен ваш адреналин

Привет, сообщество CreepyStory!

Недавно я писал вот тут — искал единомышленников среди писателей. Мне сказали: «Эт тебе в сообщество CreepyStory нужно.». Что ж, вот я и пришёл к вам — к тем, кто понимает толк в настоящем, качественном страхе.

Я хочу создать «темную комнату» — специальное пространство только для погружения в аудиохоррор и самые жуткие истории. Не для чтения, а для проживания.

Представьте:
Вы с друзьями (или даже одни, если хватит смелости) приходите в идеально изолированную комнату. Там нет ничего, кроме удобных мест в полной темноте. Вы устраиваетесь поудобнее, накрываетесь пледом, и свет гаснет окончательно. На несколько секунд — тишина и чернота.

А потом начинает звучать история. Не через наушники, а вокруг вас. Звуковая система, которую обычно используют в кино для jump-scare, здесь работает тоньше. Она не орет на вас, а окружает. Шепоток не «в ухе», а где-то сзади, за вашим левым плечом. Скрип шагов по гравию — медленно движется справа налево. Тихий стон в воздуховоде — где-то сверху. А низкий гул, который вы не столько слышите, сколько чувствуете телом, нарастает где-то впереди.

И дополняет это свет. Он не освещает, а намекает. Мерцание, похожее на свет от старого телевизора в пустой комнате. Тусклое свечение из-за тяжелой портьеры. Или полная, давящая темнота в самый напряженный момент.

Почему это не «просто страшилка на ночь»?
Потому что это ритуал. Это сознательное погружение в страх в безопасном, но максимально убедительном пространстве. Вы отключаете все отвлекающие факторы реальности и разрешаете истории захватить себя целиком. А делать это вместе с кем-то — это отдельная магия, когда вы слышите, как у друга рядом замирает дыхание.

Я здесь не за технологическими советами (хотя, если есть звукорежиссеры по хоррору — welcome!). Я здесь за вашим опытом и вашим страхом.

Что я делаю и зачем вам это может быть интересно:

  • Я договариваюсь с авторами жутких историй (в том числе, может, и с некоторыми из этого сообщества) о легальном использовании их работ.

  • Нахожу диктора для озвучки (а то и нескольких)

  • Добавляю музыкальное сопровождение, различные аудиоэфекты и звуки в получившуюся (или готовую) аудиокнигу

  • Я создаю пространство, которое будет усиливать их творчество в разы.

  • Стараюсь сделать максимальное погружение задействую как можно больше органов ощущения.

  • Если проект запустится, я буду делать специальные вечера, посвященные определенным авторам или поджанрам.

Поэтому мне нужен ваш совет, ваша критика и ваша поддержка.

  1. Стоит ли овчинка выделки? Вы бы пошли в такое место сознательно, чтобы испытать страх?

  2. Что может убить весь эффект? (Кроме плохого звука. Допустим, звук идеален).

  3. Хотели бы вы участвовать в отборе контента? Например, голосовать за истории, которые войдут в первую программу.

  4. Что бы вы добавили для более яркого погружения?

Если эта идея находит в вас отклик — ставьте плюс, пишите в комментах. Все ваши ответы — бесценны. Если таких, как я, здесь наберется достаточно, создам канал, где буду делиться процессом: от поиска помещения до первых тестовых сеансов с отчаянными добровольцами.

Давайте создадим самое атмосферное место для тех, кто понимает, что лучший ужас — тот, который рождается в твоей собственной голове. Его нужно лишь правильно направить.

P.S. Для меня эта идея — как попытка вернуть ту самую магию рассказов страшных историй, например, у костра, и после каждый шорох снаружи палатки казался концом света. Хочу сделать взрослую, технологичную версию этого чувства.

P.S. И да я обработал текст через ИИ т.к. сам не очень писать умею.

Хочу превратить ваши любимые страшные истории в физическое ощущение. Нужен ваш адреналин
Показать полностью 1
3

Ищу содружество писателей и сомелье по страху. Помогите оживить аудиокниги в новом формате!

Ищу содружество писателей и сомелье по страху. Помогите оживить аудиокниги в новом формате!

Всем привет, пикабушники, особенно те, кто пишет, озвучивает или просто фанатеет от хороших историй! 💀📖

Решил вынести на ваш суд одну идею, которая не дает мне спать. Критика, советы и просто мнения очень нужны. Возможно, среди вас найдутся те, кому это откликнется настолько, что захочется присоединиться.

Суть в двух абзацах:

Я хочу создать «кинотеатр для воображения». Не кино, не подкаст, а нечто среднее. Представьте небольшую, идеально звукоизолированную комнату. В ней — супер-удобные пуфы, темнота и профессиональная аудиосистема с объемным звуком (чтобы шепот слышался за спиной). Плюс умный свет, который не слепит, а рисует атмосферу.

Люди приходят туда, чтобы коллективно погрузиться в аудиокнигу. Особый фокус — на хорроре, триллере, мистике, темном фэнтези. Цель — не просто послушать историю, а испытать ее, почувствовать мурашки не только от сюжета, но и от звука, тишины и общего напряжения в комнате.

Почему я обращаюсь именно к вам, писателям?

Потому что вы — создатели самого главного. Без ваших текстов и ваших голосов эта комната — просто темный сарай с дорогими колонками.

Мне интересно:

  1. Как вам сама идея? Звучит ли это как достойная сцена для ваших работ?

  2. Что пугает? Я знаю главный подводный камень — авторские права. Я не из тех, кто «возьму на Ютубе и поставлю». Я готов обсуждать легальное сотрудничество: роялти с билетов, фиксированную плату за сеанс, взаимный пиар. Хочу услышать, как бы вам было комфортно.

  3. Какие истории идеально подошли бы? Может, у вас есть текст, который только и ждет, чтобы его прожили в такой атмосфере? Или вы знаете гениального, но малоизвестного автора/чтеца в жанре хоррора?

  4. Хотите стать соавтором формата? Может, у вас есть идеи, как усилить погружение через звук? Или вы хотите адаптировать свою повесть специально для такого аудиоспектакля?

Чего я НЕ прошу:

  • Не прошу денег. Пока что.

  • Не прошу работать бесплатно «ради экспозиции».

Чего я ДЕЙСТВИТЕЛЬНО прошу:

  • Совета от тех, кто понимает в нарративе и «страшном».

  • Контактов талантливых авторов или актеров озвучки.

  • Возможности обсудить пилотный проект с теми, кому идея зайдет.

  • Просто вашего мнения в комментариях. Критика тоже нужна.

Что дальше?

Сейчас я на стадии глубокого изучения и подготовки. Ищу помещения для аренды, изучаю оборудование, готовлю краудфандинг. Но без понимания, есть ли интерес у самих создателей контента, двигаться страшновато.

Если вам интересна эта тема — давайте общаться в комментах или в телеге (https://t.me/immersive_audio_teatr). Если таких идей тут много и я изобретаю велосипед — тоже скажите!

P.S. Для тех, кто дочитал, небольшой опрос для наглядности:

1. Как писатель/чтец, ваша реакция на такую идею?

  1. «Огонь, я бы отдал(а) свою историю для такого! Давай общаться!»

  2. «Интересно, но есть миллион вопросов. Пиши в личку.»

  3. «Звучит как утопия. Не сработает, потому что...»

  4. «Я слушатель, мне бы сходить!»

2. Что для вас было бы ключевым в сотрудничестве?

  1. Прозрачная финансовая модель (роялти/фикс).

  2. Контроль за исполнением и атмосферой.

  3. Пиар и новая аудитория.

  4. Просто интересно попробовать новый формат.

Заранее спасибо за любую обратную связь! Вам — строчки для воображения, мне — смелости для их озвучки.

И да, я написал этот пост с помощью ИИ, так как сам особо не разбираюсь в писательстве постов и ИИ это классный инструмент.

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества