Задать вопрос
  • Как быстро усвоить большой объем информации?

    Adamos
    @Adamos
    Главное - побольше сидеть на Тостере и подробно обсудить, как правильно выстроить обучение, чтобы большой объем информации как бы сам, без практики, влез в голову. Все же так делают.
    Ответ написан
    1 комментарий
  • Стоит ли учиться на пентестера? И как стать им с нуля?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Жил да был черный кот за углом...
    Внимание вопрос, через так 7-8 лет, будет ли востребованной профессия пентестера?

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

    Проблема в том, что стать им оооочень непросто. Вы должны знать как работает то, что Вы собираетесь тестить - лучше тех людей, которые настраивали и устанавливали систему. А это очень много разных знаний.
    И возможно ли что через 5 лет учебы и практики, я смогу зарабатывать в программе bug bounty приличные деньги, имею ввиду буду ли я лучше конкурентов, и стоит ли надеется на программу как основной заработок?

    Да кто ж знает-то? С вопросом "что будет через пять лет" - к Господу Иисусу, пожалуйста, он точно знает (но вряд ли скажет)
    И как стать пентестером с нуля?

    Учиться. В том числе получить вышку по направлению ИБ.
    Стоит ли читать книги по взлому и т.д. если им уже больше 3 лет?

    Конечно! Как Вы думаете, зачем юристы изучают судебную практику по уже законченным делам? Методологию нарабатывают, то есть определяют, какими методами был достигнут результат.
    Ответ написан
    Комментировать
  • Каков аналог vmlinuz на Windows?

    gbg
    @gbg Куратор тега Windows
    Любые ответы на любые вопросы
    Мы знаем, что процесс получается доступ только к "виртуальному компьютеру", а не к железу


    Нетушки. Процесс работает на реальном железе, но доступ к некоторым инструкциям или адресам памяти вызывает переключение в режим ядра/сегфолт и проверку прав доступа.

    vmlinuz - это просто симлинк на ядро линукса.

    Ничего общего с Virtual Machine буквы vm в названии vmlinuz не имеют:

    The name vmlinuz is largely an accident of history. The kernel binary on the original UNIX as developed at Bell Labs was called unix. When a new kernel containing support for virtual memory was subsequently written at the University of California at Berkeley (UCB), the kernel binary was renamed vmunix.


    Теперь вопрос - где вы взяли такие интересные теоретические идеи?
    Ответ написан
    7 комментариев
  • Не могу понять как скомпилировать проект на C и lua?

    2ord
    @2ord
    Ключ к разгадке лежит в файле Makefile.

    Добавлено
    Нужно выполнить команду make в корне проекта. Предварительно установить компилятор.
    Ответ написан
    2 комментария
  • Как указать путь к своей папке?

    wisgest
    @wisgest
    Не ИТ-специалист
    %0\..\TeamViewer_Host.msi (кажется, может не работать во внутренних подпрограммах, вызываемых командой call :метка); %0 не следует заключать в кавычки, так как он их может уже содержать (но, с другой стороны, возможны нежелательные последствия, если он содержит спецсимволы вне кавычек…), но можно использовать кавычки в оставшейся части пути: %0\..\"TeamViewer Host.msi".

    Или "%~dp0\TeamViewer_Host.msi" (должна быть включена расширенная обработка команд, что обычно имеет место по умолчанию).
    Ответ написан
    5 комментариев
  • Как переадресовать udp порт?

    @none7
    Также как и в случае TCP. Разница лишь в том, что NAT не может отслеживать разрыв UDP соединений и удаляет их по таймауту, но это уже заботы приложений.
    Ответ написан
    Комментировать
  • Как исправить ошибку в коде С++?

    Комментировать
  • Как добавить в конец char символы?

    @rPman
    в c++ уже очень давно есть полноценные (и соответственно медленные, но не в реализации а идеологически) строки, класс string с которыми и + прокатит и синтаксически удобные
    Ответ написан
    Комментировать
  • Как найти первый нулевой бит в байте?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Сначала инвертируйте число (битовое не). Теперь надо найти самый правый единичный бит.
    Можно вычесть из числа 1, тогда поменяются все биты вплоть до этого искомого. Значит xor изначального числа и его же минус 1 даст нам столько единичных бит на конце, каков был номер искомого бита.

    Дальше надо у этого числа подсчитать количество единичных бит - это тоже известная задача. Сначала представим, что каждый бит хранит сколько в этом бите единичных бит. Потом преобразуем это так, чтобы каждая пара подряд идущих бит хранила двоичное число - сколько единичных бит там было в этом отрезке. Потом каждая четверка бит и в конце все 8 бит. Переход от одного уровня к следующему можно сделать через сумму со сдвигом. Вот код:

    // пусть x = 00001011b
    x = ~x;  // 11110100b
    x = x ^ (x-1);  // 11110100 xor 11110011 = 00000111
    x = ((x >> 1) & 01010101b)+(x & 01010101b);  // 00 00 01 10
    x = ((x >> 2) & 00110011b)+(x & 00110011b);  // 0000 0011
    x = ((x >> 4) & 00001111b)+(x & 00001111b);  // 00000011 = 2
    x -= 1; // индексация с 0


    Отдельно надо проверить, вдруг изначальное число было 255 - в таком случае искомого бита нет, но этот код вернет 7.

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

    Еще есть вариант с ассемблером в x86 есть операция popcnt.
    Ответ написан
    2 комментария
  • Почему не запускается Ubuntu на VirtualBox?

    SagePtr
    @SagePtr
    Еда - это святое
    В BIOS включить технологию аппаратной виртуализации, называется VTx, AMDv, SVM, Vanderpool или как-нибудь вроде этого (на разных материнках название отличается, но суть одна и та же).
    Ответ написан
    Комментировать
  • Запуск Ethernet адаптера программно (с помощью Bath или PowerShell)?

    @MaxKozlov Куратор тега PowerShell
    Есои рескан в Device manager в контрольной панели ничего не находит, значит софт врятли поможет.
    можно поискать что-нибудь в devcon, типа
    devcon rescan
    devcon reset
    devcon find(all)
    Скорее всего ресет железяка хочет.
    отключить quick-boot?
    Ответ написан
    Комментировать
  • Почему сеть падает?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    С одноранговой сетью, только гасить (отключать, разрывать) по очереди сегменты и таким образом искать что где вылетело.
    самые частые, по практике варианты:
    - два конца пачкорда в свиче (петля)
    - зависший китайский роутер (ддосит всех бродкастом)
    - подгоревшая сетевуха/порт (тоже ложит сеть)
    Ответ написан
    Комментировать
  • Зачем писать class в объявление объекта класса?

    If a function or a variable exists in scope with the name identical to the name of a class type, class can be prepended to the name for disambiguation, resulting in an elaborated type specifier.
    class Foo;  // forward declaration of a class
     
    class Bar { // definition of a class
      public:
        Bar(int i) : m_i(i) {}
      private:
        int m_i;
    };
     
    template <class T> // template argument
    void qux() {
        T t;
    }
     
    int main()
    {
        Bar Bar(1);
        class Bar Bar2(2); // elaborated type
    }

    https://en.cppreference.com/w/cpp/keyword/class

    Если используется повсемесно, то, имхо, это вкусовщина. Просто человеку так нравится.
    Ответ написан
    Комментировать
  • Как решить две следующие проблемы?

    1. Использовать cin.getline https://stackoverflow.com/questions/5838711/stdcin...
    2. У вас при добавлении новых читателей цикл стартует с 0
    for (int i = 0; i < Reader_kol; i++)
    а надо, чтобы стартовал с количества уже добавленных читателей (тут надо учитывать, чтобы не было переполнения массива, т.е. totalReaderCnt + Reader_kol должно быть меньше 500)
    for (int i = totalReaderCnt; i < totalReaderCnt + Reader_kol; i++)
    Ответ написан
    2 комментария
  • Как оптимизировать нагрузку на ЦП при отправке сообщения?

    Оптимизировать нагрузку можно испралением участка исходного кода, который дает максимальную нагрузку. Выявить такой участок кода можно с помощью профайлера.
    Ответ написан
    1 комментарий
  • Почему не могу отправить датаграмму с размером 65516, но могу с 65000?


    Длина датаграммы.
    Поле, задающее длину всей датаграммы (заголовка и данных) в байтах. Минимальная длина равна длине заголовка — 8 байт. Теоретически, максимальный размер поля — 65535 байт для UDP-датаграммы (8 байт на заголовок и 65527 на данные). Фактический предел для длины данных при использовании IPv4 — 65507 (помимо 8 байт на UDP-заголовок требуется ещё 20 на IP-заголовок).

    https://ru.m.wikipedia.org/wiki/UDP
    Ответ написан
    1 комментарий
  • Что означают просто { тут блок кода } в с++?

    @tugo
    Пользуются свойствами блока кода:
    1. создается новая область видимости
    2. объект, созданный внутри блока кода, удалится по завершению (т.е вызовется деструктор). В сочетании с RAII иногда удобно.

    // Когда не хочется придумывать новое имя другой переменной, которая точно такая же по смыслу.
    // И хочется дать ей константность - ее менять я не собираюсь, в смысле изменчивости переменной.
    const bool ok = foo1();
    if (!ok)
        return;
    {
        const bool ok = foo2();
        if (!ok)
            return;
    }


    // Когда надо защитить мьютексом изменение переменной, на как можно более короткое время.
    ...  некий код
    {
        const std::lock_guard<std::mutex> lock(_mutex);
        ++i;
        // _mutex is automatically released when lock goes out of scope
    }
    ... продолжаем код


    Или замерить время выполнения части кода. Создаем объект, в конструкторе которого захватываем текущее время, в деструкторе выводим затраченное время в лог.
    Ответ написан
    Комментировать
  • Какая ОС, по вашему мнению подойдёт лучше?

    @rPman
    неверные предрассудки

    Выбирать само собой linux, тут даже не обсуждается.

    Если у тебя свой специалист по настройке (или ты сам таковым являешься) то ОС нужно выбирать по тому в чем лучше разбираешься.

    Если говорить про то, какую именно то выбор должен быть не системы второго уровня поддержки, а первого, на основе чего создаются эти дистрибутивы, т.е. не ubuntu а debian.

    Фиксация релизной версии есть во многих ОС, даже у gentoo можно 'стабильную' ветку выбрать (на правах шутки ибо релиз в gentoo это как тестовая ветка в debian или даже новее).
    Ответ написан
    3 комментария
  • Солько бит имеет макрос CHAR_BIT?

    @galaxy
    CHAR_BIT - макрос, количество бит в char'е. По стандарту не меньше 8 (но вполне может быть больше).
    sizeof(char) = 1 по определению (sizeof измеряет все в char'ах)
    sizeof(CHAR_BIT) - учитывая, что CHAR_BIT определен примерно как #define CHAR_BIT 8, тут вы вычисляете sizeof(int)
    Ответ написан
    3 комментария
  • Скажите, средствами винды можно реализовать самооочистку памяти от кэша(мрут приложения при сьеденой 6,9гб памяти)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    В java есть уборщик мусора, который выбрасывает из памяти все не ненужные значения и кэши, если те сто лет не использовались, при включенной программе.

    Это не совсем так работает. GC чистит память от значений, которые не используются, то есть нигде больше не определены. В java тоже можно засрать память, если программист рукожопы. Но в разы сложнее, чем в С++

    Такое можно реализовать с приложениями в виндовс? Допустим, у меня cad или игрушка сожрала тонну памяти и не использует ее(тупо кэш определен и хоть на голове стой). Взять и подчистить этот кэш, если начинаются галюны.

    Если приложение в винде написано на java она и так будет чистить.
    Если нет - зависит от программиста, который приложение написал.

    Например. Вчера играл в игру, с открытым миром, и та умерла сьев почти 7 гб оперативной памяти. Такие ситуации у меня не первый раз, поэтому интересно посмотреть на решения с кэшем и борьбой с утечками.

    Борьбой с утечками занимается программист, а не пользователь. Утечки - это ошибки в коде, когда ты запросил память, а когда она тебе не нужна забыл освободить. И не изменяя программу ты утечки не исправишь.
    Ответ написан
    3 комментария