• С чего начать изучение хакинга и взлома, как хобби или whitehat?

    @cthulhudx
    1)Существует несколько специальных дистрибутивов, которые заточены под Penetration Testing - в частности BackTrack Linux и его потомок Kali Linux
    2)Четко и без воды - Д. Эриксон - Хакинг: искусство эксплойта, 2-е издание
    3)PHDays — Positive Hack Days, RUCTF
    Ответ написан
    Комментировать
  • Обязательно ли читать книгу по языку/технологии что бы быть тру и продвинутым кодером?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вы не найдёте ни одного авторитетного программиста с мировой известностью, который бы утверждал, что курсы и видео-уроки лучше книг. Обычно это утверждают либо профаны, оправдывающие своё нежелание читать, либо авторы курсов, делающие деньги на лентяях и глупцах. И я лично за 18 лет в отрасли встретил множество программистов, но ни одного хорошего, выучившегося по курсам и видео-урокам.

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

    К тому же, после достижения профессионального уровня достаточного чтобы называться специалистом, вы обнаружите, что необходимые на этом уровне знания можно почерпнуть только из документации. То есть всё равно придётся читать. Много и часто.

    Наконец, постоянная практика чтения неизбежно приводит к увеличению скорости чтения. И наступает момент когда прочитать учебник будет в 10 и более раз быстрее, чем просмотреть видеокурсы по той же теме и в том же объёме.

    Кроме того, чтение развивает абстрактное мышление - основной инструмент разработчика.
    Ответ написан
    16 комментариев
  • Как учить язык ассемблера NASM?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тяжелую ты тему поднял. Я за последние лет 10 вообще не слышал чтобы кто-то учился и сертифицировался на знания ассемблера. Обычно эти знания идут прицепом к языку "C" и разработке компилляторов. Поэтому по частным случаям можно наверное спрашивать сишников. Они - ближе к теме.

    Был когда-то неплохой ресурс wasm. Там много статей было. Но чего-то щас его не найти.

    Я последний раз учил ассемблер по книжке Питера Абеля (MS-DOS :)) И я тогда учился в техникуме. По жизни вобщем не особо пригодилось.

    По поводу asm, tasm, fasm... Они все одинаковы. Можешь учить с любого. Потом переход будет прозрачный. Единственно... у одного из низ операнды идут в обратной нотации. Ну типа не слева направо а справа налево.
    Ответ написан
    4 комментария
  • Как перевести строку в число в ассемблере?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Безотносительно ассемблера. Это каноническая задача которую решают на 1 уроке информатики.
    Да был такой предмет когда-то. Допустим я-бы не знал готовой функции перевода. Но можно
    наверное написать свою функцию. Понадобиться ассемблерная операция деления+нахождения остатка.
    Ответ написан
    3 комментария
  • Как перевести строку в число в ассемблере?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Сначала напишите алгоритм на каком-нибудь высоком языке программирования, или хотя бы в псевдокоде. Потом аккуратно переведите в ассемблер.

    Надо уметь только делить с остатком и умножать на 10. Как перевести 1234 в строку? Можно взять последнюю цифру - осток от деления на 10. Вот вы получили цифру 4. В строке это будет символ "4", или байт со значением 0x34. Вообще, для получения символа по цифре - надо прибавить 0x30. Это мы взяли остаток, а вот результат деления - 123. Можно продолжить перевод так же и мы получим символы в обратном порядке.

    Итак, пока число не 0, делим нацело на 10. Остаток приписываем в ответ переводя в символ. В конце разворачиваем строку.

    Перевод же из строки в число делается проще - идем циклом по строке, умножаем переменную на 10 и прибавляем тукущую цифру.
    Ответ написан
    Комментировать
  • Я встретил непонятную конструкцию в чужом коде на ассемблере, кто обьяснит?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В квадратных скобках не два значения, а одно - адрес со смещением ecx относительно res.
    Берём адрес res, прибавляем к нему значение из ecx и по полученному адресу записываем значение из dl.
    Ответ написан
    1 комментарий
  • Что делать если компилятор nasm работает неправильно?

    1MK-Ultra
    @1MK-Ultra
    программист
    Где то ошибка в коде. Я много раз уже сталкивался с тем, что компилятор компилирует "неправильно". Потом всегда оказывалось, что ошибка моя, и компилятор не виноват. Где точно не знаю, я не специалист по ассемблеру. Такое часто получается с кодами которые не сам написал, а сделал ctrl+c, ctrl+v.
    Ответ написан
    Комментировать
  • Что делать если компилятор nasm работает неправильно?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    выдает непонятную фигню

    Ну в программе нет проверки ввода, поэтому если вводить непонятную фигню, то и выводить она будет непонятную фигню. А если вводить цифры, так чтобы сумма не превышала 9, то приведённая программа прекрасно работает.
    Это, правда не значит, что в этой программе нет ошибок. Я вижу как минимум одну:
    res resb 1 
    …
    mov [res], eax

    классическое переполнение буфера. Её наличие, правда, на результат повлиять не может.
    Ответ написан
    Комментировать
  • Что делать, если появляется непонятная ошибка после запуска c++ кода?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Что делать, если появляется непонятная ошибка после запуска c++ кода?

    Пытаться понять её -- универсальный рецепт.

    это исходный код.
    thread my_thread1(&connecter);
    if(connfd == true)

    В этом месте две ошибки. Первая -- ты сравниваешь int connfd с bool true, а вторая -- ты делаешь это без уважения потоконебезопасным способом. Прямо скажем, у тебя тут гонка между main и connecter. Когда ты эту гонку исправишь, жизнь твоя, скорее всего, наладится. Непонятно, правда, зачем ты вызываешь accept в параллельном потоке вместо того, чтобы сделать это синхронно, прямо в main.
    Ответ написан
    Комментировать
  • У меня несколько ошибок "was not declared in this scope" в коде C++, что делать?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Глобальные переменные должны быть определены выше фкнкций их использующих. А что-то, например buff, у вас вообще локальные переменные, которые вы пытаетесь использовать в других функциях. Или сделайте и ее глобальной, или передавайте ее везде, где надо, как параметр.

    И так по каждой ошибке от компилятора в вашем вопросе. Смотрите на какое имя он ругается и где эта функция/переменная определена.
    Ответ написан
    1 комментарий
  • У меня несколько ошибок "was not declared in this scope" в коде C++, что делать?

    @AlexSku
    не буду отвечать из-за модератора
    У вас stopServerRunning не определена выше connector().
    Ответ написан
    Комментировать
  • Как установить библиотеку C++ в VS code?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    читайте документацию
    https://code.visualstudio.com/docs/cpp/c-cpp-prope....

    вам интересен includePath

    тут мануал для майкрософт компилятора
    https://code.visualstudio.com/docs/cpp/config-msvc
    Ответ написан
    1 комментарий