Как написать

Поділитися
Вставка
  • Опубліковано 6 сер 2019
  • #soer #itubeteam
    Основной канал для общения и публикации новых видео - Телегарм - t.me/softwareengineervlog
    Спонсорство - donate.s0er.ru
    Сайт платным контентом - soer.pro
    Зеркало для видео Дзен Видео - zen.yandex.ru/id/5f578bdf22e2...
    GitHub - github.com/soerdev
    Чат для программистов - / discord
    Группа ВК - codeartblog

КОМЕНТАРІ • 615

  • @FlaPenguin666
    @FlaPenguin666 4 роки тому +300

    Годный ролик, чтобы заинтересовать людей в ковырянии байтов. Но. Чувак, как же много неточностей и даже грубых ошибок, которые можно было сто раз заметить при монтаже.
    - 1:27 include не подключает библиотеки. stdlib и stdio - части одной бибилотеки, стандартной бибилотеки C
    - 1:47 очевидно, что условие когда-нибудь да сработает, потому что rand возвращает значения от 0 до RAND_MAX
    - 3:30 пролог состоит из трёх команд, а не из двух
    - 4:40 sub $0x10, %rsp - это не выравнивание стека, а резервирование памяти под локальные переменные
    - 4:52 все наоборот jne/jnz - jump if not equal/jump if not zero, je/jz - jump if equal/jump if zero. Сравнение чисел производится вычитанием и Jxx инструкции работают с его результатом (в виде флагов). В видео все работает, потому что пропатченная команда отвечает не за прыжок внутрь then-блока, а наоборот, за прыжок к выходу из программы.
    - 5:15 опкод jnz всегда обязательно 0x75, потому что так написано в intel software developers manual. Если там не 0x75, значит это другая операция (или у вас не ассемблер). А вот второй байт 0c действительно отвечает за смещение software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf (Vol. 2A 3-495)
    - 5:30 ассемблерный код можно и нужно сопоставлять с бинарным кодом, потому что ассемблер переводит операции один-в-один. Другое дело, что у одной операции может быть хоть 20 опкодов, которые принимают немного разные значения или даже делают немного разные вещи
    Бтв, единой спецификации вызова нет. Линукс (upd: GNU/Linux) и, вроде, макось традиционно испольуют x86-64 System V ABI uclibc.org/docs/psABI-x86_64.pdf, а на винде спецификация docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019 появилась только недавно, до этого MSVC делал "что-то", а ребята из cygwin это реверс-инженирили.

    • @S0ERDEVS
      @S0ERDEVS  4 роки тому +78

      2) rand, уже задолбался объяснять, работает по псевдорандомному алгоритму, и надо просто знать алгоритмы чтобы понять, почему при seed = 1 не будет 10ки
      3) Пролог состоит из двух команд + необязательное выделение фрейма в стеке (зависит от компилятора). Оно просиходит не всегда (может сделаю видео про это). Как правило если у функции нет вложенных вызовов, то и фрейм не выделяется, потому что смысла нет.
      4) Если бы это было не "выравнивание", то выделилось бы 4 байта, а не 16. А выделение памяти под фрейм стэка всегда выравнивается. В данном случае это выравнивание нужно в связи с вызовом функции rand (про ABI ты уже писал), без вызова функции не будет выделения фрейма в данном примере.
      5) Все так и есть, в СИ коде делает вход в условие, а асм перепрыгивание, поэтому они в инверсном отношении друг к дуруг. Возможно здесь нужно было более точно пояснить, что я говорил о сравнении в СИ
      6) Это не так, jnz - это вообще мнемоника для запоминания группы опираций, и в зависимости от размерности смещения будет разный опкод (можешь сам проверить опкод 0f 85 и 75)
      7) уже писал сто раз пропускаете слово "взаимооднозначно", ну и преобразования binary => asm => binary на разных ассемблерах могут дать разные результаты (упакует асм тот же jz другой инструкцией большей резмерности и досвидания)
      К чему последний абзац? Я вроде про винду ни слова не говорил.
      В целом хорошая попытка наброса, но просто сходи на "Compiler Explorer" (в гугле можно адрес найти), скомпилируй вот такой код:
      int main() {
      int a = 10;
      return a;
      }
      и убедись что пролог гарантированно состоит только из двух команд (gcc).

    • @FlaPenguin666
      @FlaPenguin666 4 роки тому +31

      ​@@S0ERDEVS
      Про rand, это конечно мой фейл, дефолтный seed мало того что константный, так еще определен спекой (www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf 7.20.2.2 The srand function). Признаю, был не прав. (В свое оправдание могу сказать, что стандартным генератором пользовался давным давно и привык, что обычно seed уже какой-то есть, как в g_rand_new)
      В остальном, я воспринял некоторые фразы из видео слишком буквально ("sub - не часть пролога", "sub == выравнивание", "0x75 0x0c jnz, а может быть 0x85 0x0c jnz"). Подумал, что некоторые твои зрители могут тоже слишком буквально и неправильно понять эту информацию. Особенно те, кто только начинает заниматься такой низкоуровневой штукой.
      У тебя получился интересный видос, который определенно заинтересует людей заниматься ассемблером, реверс-инженирингом и возможно какими-нибудь компиляторами.
      PS: если кому интересно, то не резервируется память на стеке из-за red zone (все тот же System V ABI 3.2.2 The Stack Frame). tl;dr: это запас стека, чтобы оптимизировать листовые функции. Но размер этого запаса не очень большой, поэтому в какой-то момент sub все таки добавится gcc.godbolt.org/z/HLcl3V. (это, как и предыдущий последний абзац - просто "by the way" для мимо проходящих, чтобы облегчить им поиски информации)

    • @S0ERDEVS
      @S0ERDEVS  4 роки тому +61

      Совершенно верно, все дело в красной зоне, которая составляет 128 байт. И, кстати, добавится не обязательно sub, многие компиляторы (не уверен что все), если нужно зарезервировать фрейм стека равный 128 байт сделают это через add rsp, -128, просто чтобы сэкономить два байта на инструкции. Это еще одна причина по которой я бы не относил резервирование и выравнивание фрейма к прологу.
      В целом мне нравится твой конструктивный подход, считаю, что твои комменты лучшие из опубликованных здесь. Поэтому закреплю их чтобы все кому интересно могли прочитать.
      По поводу оговорок и неточностей в видео, то они будут всегда, так как я пишу без сценария и с одного дубля, поэтому мозг иногда "глючит", так как думаешь сразу о нескольких вещах.

    • @DmitriyUV
      @DmitriyUV 4 роки тому +65

      Во вы тут шарите оба 😀👍, я то вообще просто чуть чуть на питоне пишу 😅😁

    • @alexandrpereverzew8515
      @alexandrpereverzew8515 4 роки тому

      Software Engineer - Soer у

  • @russellray1219
    @russellray1219 4 роки тому +27

    8:30 Про reverse engeneering, анализ вредоносного кода и спец. тулзы хотелось бы посмотреть видео в Вашем исполнении.
    Жду с нетерпением!)

  • @almightiey
    @almightiey 4 роки тому +143

    То чувство когда новичок:
    Нихуя не понял, но очень интересно

    • @arkantosvictor9779
      @arkantosvictor9779 4 роки тому +10

      ага, особенно когда он на 4:16 сказал "ок, все понятно" )))

    • @maciusdabrowski3543
      @maciusdabrowski3543 4 роки тому +1

      Мнение Артемов не учитывалось.

    • @YWNWA-ZXC
      @YWNWA-ZXC 4 роки тому +2

      то чувство, когда зачем 20 айкью челики лезут в програмирование

    • @maciusdabrowski3543
      @maciusdabrowski3543 4 роки тому +1

      @@YWNWA-ZXC то чувство, когда зачем 60 айкью челики лезут в термины, значения которых не знают даже приблизительно.

    • @NvanMakuL
      @NvanMakuL 4 роки тому

      Ты не одинок:)))☺Есть куда стремится☺☺☺

  • @sovrinfo
    @sovrinfo 4 роки тому +5

    Спасибо большое за ваш труд, очень познавательно. Классный стиль подачи.

  • @progma137
    @progma137 4 роки тому +28

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

    • @phat80
      @phat80 3 роки тому

      А что, C сложный язык? Вроде один из самых легких и минималистичных. Там и изучать особо нечего. Вот чтобы хорошо писать на C, надо уже хорошо знать архитектуру компьютера, принцип работы ОС и так далее. Сам по себе язык очень легкий.

    • @phat80
      @phat80 2 роки тому

      @You Tube то есть не надо знать, как работает память… а чтобы писать какие-то вообще низкоуровневые вещи, не надо ничего знать про прерывания и про взаимодействие железа между собой, ну а написание какой-нибудь дисковой утилиты, естественно, не потребует никаких знаний про загрузочные области, разбиение на сектора и прочее. Ну удачи!

    • @phat80
      @phat80 2 роки тому

      @You Tube На си глупо писать что-то прикладное, для этого есть другие языки. Каждый язык эффективен в своей сфере. НЕ, конечно, Си универсален и на нем можно написать, что угодно и да, даже не зная ничего об устройстве компьютера, но тогда и изучать этот язык смысла мало. Си и хорош тем, что позволяет писать практически на уровне железа.
      Кстати, ассемблер не плохо изучить вторым языком после Си. Начинаешь лучше понимать, как любые программы работают под капотом.
      Есть, конечно, и другой путь, изучить устаревший jQuery и считать себя крутым программистом. Какое-то время назад даже была такая мода.

    • @phat80
      @phat80 2 роки тому

      @You Tube чушь пишите вы. Особенно улыбнуло, что на нем ничего писать нельзя )))) Хотелось бы почитать, что же на нем нельзя написать. Ну и по поводу железа, вы не в курсе, что куча драйверов, прошивок, низкоуровневых утилит написаны на Си? Ну изучите вопрос получше. В конце 80х, начале 90х на нем реально практически все писали. Советую почитать по тьюринг-полные языки.
      Но врать не буду, задач на Си и Ассемблере у меня не было, изучал их именно с точки зрения лучшего понимания того, как работает ПО.

    • @phat80
      @phat80 2 роки тому

      @You Tube Почему меня старается учить человек, который Си даже в ближайшем приближении не трогал? Я не профи в данном языке, но я хотя бы представляю его возможности.
      Я жду пример того, что на Си нельзя написать и объяснение почему. Иначе все это пустой треп человека, который ни хрена ни в чем не разбирается, но почему -то хочет учить других.
      В моем мире на C пишут все, от прошивок железа до графических редакторов, хоть это и не самый оптимальный для этого вариант. Если задаться целью, можно собрать комп из железа и полностью написать программное обеспечение для него на C, ну вот полностью, даже компиляторы для каких-то интерпретируемых вспомогательных языков.
      А вот в вашем вымышленном мире он мало на что способен.

  • @user-qf5hi6np3d
    @user-qf5hi6np3d 4 роки тому

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

  • @user-ir8nd6mj2b
    @user-ir8nd6mj2b 4 роки тому +40

    Первый раз в жизни подписываюсь на канал с первого видео.
    А то мало ли, годноту такую пропущу 🌚

  • @russellray1219
    @russellray1219 4 роки тому +1

    Отдельное спасибо за vi(m) и linux terminal, мне, как чайнику в языках семейства C, но умеющему в, упомянутые ранее, тулзы было очень легко повторить за Вами и, на практике, пощупать эту тему. 👍

  • @user-bs3sv7eh6b
    @user-bs3sv7eh6b 4 роки тому +1

    Круто, интересно, познавательно. Продолжайте в том же духе. Однозначно лайк

  • @artawowerlh7761
    @artawowerlh7761 4 роки тому +161

    Круто, на более низкоуровневые темы видосы офигенно интересны

    • @Time_Developer
      @Time_Developer 4 роки тому +4

      *Ты просто в 80-х с кодом не работал, иначе тебе всё это, уже в печёнку засело бы. ;)*

    • @artawowerlh7761
      @artawowerlh7761 4 роки тому +2

      @@Time_Developer не работал ;) меня тогда даже в планах не было, но я этому даже рад) слишком привык к современным удобствам при разработке, смотрел сериал "Остановись и гори" там эта тема интересно раскрывается;)

    • @Time_Developer
      @Time_Developer 4 роки тому +2

      @@artawowerlh7761 *, на сериалы, у меня нет времени, да и современный кинематограф, мягко говоря скатился в говно.* _Но это моё, субъективное мнение._

  • @ronnie_rocketo
    @ronnie_rocketo 4 роки тому +1

    Да, такие дяди редко на ютубе обитают, Асемблер по буквам расписал, четенько и с расстановкой, интересную тему поднял. Это вам не javascript за час :) Лайк + подписка однозначно...хотелось бы про GDB инфы в таком формате.

  • @olgerdborichko1026
    @olgerdborichko1026 4 роки тому +1

    отличная подача. Приятно смотреть и слушать

  • @TheOneeightytwo
    @TheOneeightytwo 4 роки тому

    хорошо выглядишь, картинка и формат супер! респект!

  • @andycascade
    @andycascade 4 роки тому +1

    Про реверс инжиниринг всегда интересно было почитать и посмотреть, буду ждать новых подобных видео!

  • @LLDevLab
    @LLDevLab 4 роки тому +8

    Спасибо за видео. Очень понравилось.

  • @traxooza
    @traxooza 4 роки тому

    Спасибо за ролик! Хотелось бы ещё по такой тематике !

  • @user-ye9ux5xc7y
    @user-ye9ux5xc7y 4 роки тому

    Очень интересно. Ждём продолжение видео по данной теме.

  • @borismor1
    @borismor1 4 роки тому +21

    Ну я прам в детство окунулся свое босоногое...
    SoftIce, IDA, патчи)

  • @russellray1219
    @russellray1219 4 роки тому

    Огромное спасибо за ролик, очень доступно и понятно!

  • @vangog63
    @vangog63 4 роки тому

    Очень круто! Интересно было бы увидеть как выглядел бы исходных код для измененного binary файла.
    Спасибо! Подписка и лайк!

  • @MrKoMrKo-oy7qg
    @MrKoMrKo-oy7qg 4 роки тому

    20 лет объясняли не чего не понимал, а тут за 9 минут все понятно. МОЛОДЕЦ.

  • @corsair-chimera
    @corsair-chimera 4 роки тому +1

    А вот это реально топовый контент!
    Ждем видео про реверс инженеринг)

  • @seregaponarin
    @seregaponarin 4 роки тому

    Подписка и лайк!
    Очень хотелось бы более углубленного изучения темы и ссылки на источники для изучения)

  • @DNSenchenkov
    @DNSenchenkov 4 роки тому

    Очень простой, понятный и одним словом годный пример ящетаю.

  • @kombuchamp
    @kombuchamp 4 роки тому +178

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

    • @HitmanXcreative
      @HitmanXcreative 4 роки тому +1

      Поддерживаю.

    • @BoostBrainCourse
      @BoostBrainCourse 4 роки тому +9

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

    • @kuqmua755
      @kuqmua755 4 роки тому

      +

    • @batfist6595
      @batfist6595 4 роки тому

      *

    • @user-kv6fz5mk8g
      @user-kv6fz5mk8g 4 роки тому +3

      Если автор затеет все это объяснить, то за 10 -15 минут, увы, не получится. Это глубокий океан, где показали одну каплю из всего того, что на самом деле под капотом программ. Ассемблерный код должен получиться откуда-то, как вы думаете? Два варианта - исходник или дизассемблированный листинг. Исходник, это дело понятное, а вот что касается дизассемблирования, то здесь получается, что мы берем чужой код, чтобы получить его исходник - используем дизассемблер(или отладчик, хотя обычно используют два этих инструмента в паре) и вуаля. Так как дизассемблер может превратить двоичный код в листинг с инструкциями на асме? Автор имел ввиду нечто другое и , надеюсь, он это объяснит далее)

  • @ArtemAleksashkin
    @ArtemAleksashkin 4 роки тому

    круто! Огромное спасибо! Видать не зря я ассемблер учил в инсте. С инста его не вспоминал))

  • @L_i_m_o_n_
    @L_i_m_o_n_ 4 роки тому

    В программировании полный я 0, но приятно посмотреть такие видео так как видно что человек не только рассказывает, а именно понимает цепочку взаимодействий и что откуда берется. Лайк без вариантов

  • @railbatyrshin9700
    @railbatyrshin9700 2 роки тому

    Эхх, обожаю так дома одеваться, рубашка, футболочка... Круто. За видос конечно отдельное спасибо и лайк)

  • @botirali2000
    @botirali2000 4 роки тому

    Очень интересная тема, и хорошая подача материала! Я за разбор более продвинутых инструментов.

  • @romanshvayko211
    @romanshvayko211 4 роки тому

    Спасибо за видосы по лоу леволу. Очень познавательно!

  • @user-gg9ow2mb6z
    @user-gg9ow2mb6z 4 роки тому +38

    + за анализ двоичных файлов, интересно.

    • @RogovAB
      @RogovAB 4 роки тому

      Все файлы двоичные.

    • @serhiis_
      @serhiis_ 4 роки тому

      @@RogovAB В спицификации файлов есть текстовые и двоичные файлы. Так что не надо тут умничать. Учите матчасть. Для этого даже предусмотрен флаг "b" для бинарных файлов. От этого флага зависит поведение многих операций с файлами.

    • @RogovAB
      @RogovAB 4 роки тому +2

      @@serhiis_ флаги и спецификации не меняют сути. Не двоичый фаил, это например, троичный. А текстовый фаил, это двоичный фаил с ограниченным набором двоичных кодов в рамках печатных символов. И нечего тут демагогию разводить. Поведение зависит от функции файла. Двоичный нетекстовый фаил может быть исполняемым, а может таковым не быть... и т.п.

    • @serhiis_
      @serhiis_ 4 роки тому

      @@RogovAB ты тупой? Есть такой предмет информатика. Вот иди учи матчасть. Термины свои решил вводить - ты профессор или кто? Кто тебе право новые термины вводить дал? Если там черным по белому написано что есть 2 типа файлов. Аксиома Вася.

    • @RogovAB
      @RogovAB 4 роки тому +2

      @@serhiis_ Не нужно быть профессором, что бы понимать столь простые вещи.

  • @pavelnemchenko8570
    @pavelnemchenko8570 4 роки тому

    Классный и познавательный видос, спасибо!

  • @sb-wb2fq
    @sb-wb2fq 4 роки тому

    Лайк, однозначно, теперь сравнил видеокурсы по программированию, где 1 урок это установка IDE и с этим видео. Просто батя

  • @georged.k.9008
    @georged.k.9008 4 роки тому +1

    Спасибо Вам за видео, действительно было бы интересно услышать, почему в настоящее время нельзя однозначно сопоставлять ассемблерный код с бинарным.

  • @pasta3836
    @pasta3836 4 роки тому

    Большое спасибо за полезную информацию

  • @user-pr1kh2cu1s
    @user-pr1kh2cu1s 4 роки тому +1

    Спасибо.Хотим услышать...

  • @user-ld2ss7wf7e
    @user-ld2ss7wf7e 4 роки тому

    жизнь современная преподносит такие пердимонокли, что я подписался на Ваш канал!

  • @anatoliikurotych4990
    @anatoliikurotych4990 4 роки тому +2

    Вот это годнота, спасибо!

  • @user-xq4ft8kz9f
    @user-xq4ft8kz9f 4 роки тому +20

    Будет очень интересно послушать про PE-format или ELF-format, спасибо, лайк.

    • @S0ERDEVS
      @S0ERDEVS  4 роки тому +4

      Как насчет MACH-O? Почему обижаете MacOS?

    • @user-xq4ft8kz9f
      @user-xq4ft8kz9f 4 роки тому

      Моему макбуку 14 лет что-то я забыл про него совсем :)

    • @user-yu4xm9ou4e
      @user-yu4xm9ou4e 4 роки тому

      Да, это интересная идея для видео

    • @serhiis_
      @serhiis_ 4 роки тому

      По формату Windows PE-file есть туториалы замечательного программиста Iczelion. У него есть много примеров и детально расписаны отличия современного формата от DOS. Также вы найдете очень много его работ по программированию окон на masm. По моему даже COM-обьекты у него есть. Не пугайтесь что он очень старый, ассемблер и винапи за 30 лет ни чем не поменялись. Скорее в винапи добавили новые баги а так все ровно.

    • @user-xq4ft8kz9f
      @user-xq4ft8kz9f 4 роки тому

      @@serhiis_ Еще по форматам полезная информация:
      ua-cam.com/video/4BAuES723xI/v-deo.html
      bit.ly/1cdrfel

  • @gt_xuan1349
    @gt_xuan1349 4 роки тому +1

    Спасибо большое за ролик.
    Почему такой прекрасный канал имеет столь мало подписчиков ?
    Спасибо за ваш труд .

    • @BoostBrainCourse
      @BoostBrainCourse 4 роки тому +2

      Ну это же не Хауди Хо и не Гоша "Стань сеньором С++ за час" Дударь. У серьезных каналов мало зрителей.

    • @gt_xuan1349
      @gt_xuan1349 4 роки тому

      @@BoostBrainCourseабсолютно согласен с вами.

  • @davidlakazov9156
    @davidlakazov9156 4 роки тому +1

    Очень интересно,уже 6000 лайков,скидывай видос про серьезные инструменты для работы с двоичным кодом

  • @volnisty7138
    @volnisty7138 4 роки тому +115

    Я сначало подумал что это Линус Торвальдс!

    • @a.o.yaroslavov
      @a.o.yaroslavov 4 роки тому +15

      Это он и есть... Он русский с детства учил. о_О

    • @user-ir8nd6mj2b
      @user-ir8nd6mj2b 4 роки тому +1

      Александр Ярославов Рили?

    • @user-ir8nd6mj2b
      @user-ir8nd6mj2b 4 роки тому

      Industrial dawn И это его канал? 🌚🌝

    • @ventilyator
      @ventilyator 4 роки тому

      это его аватар

    • @user-ir8nd6mj2b
      @user-ir8nd6mj2b 4 роки тому

      Ъьъыъьы Ъьъыъьыъ ого, моя мама кулхацкер, круть 😂👌

  • @edxkr2ym6atl66
    @edxkr2ym6atl66 4 роки тому

    хороший голос, интересно и класно слушать, лайк подписота

  • @Bobslew7896
    @Bobslew7896 4 роки тому

    Интересно, лайкнул, подписался. Жду видео про то- почему ассемблер не машинный язык 👅 ))

  • @LazizUZ
    @LazizUZ 4 роки тому

    3001 раз нажал лайк, снимайте)

  • @MultiD0S
    @MultiD0S 4 роки тому +4

    Привет, хотелось бы побольше о реверсе, с использованием ida, поиск функции их подмена и расширение. О extended как полноценная модификация приложения с новым функционалом и тд.

  • @rubercorundum8951
    @rubercorundum8951 4 роки тому

    ну хотя бы что-то по данной тематике, а то тема вообще не мейнстрим , хотя безумно интересно для думающих людей!Спасибо за начало!
    1) реверс инжиниринг программ для mac os, ios в hopper, и
    2) Поиск вредоносного кода (желательно тоже mac os app).. мой топчик..

  • @DenisCyberpunk
    @DenisCyberpunk 4 роки тому

    Отличный ролик! Лайк и подписка

  • @a.o.yaroslavov
    @a.o.yaroslavov 4 роки тому

    Вспомнил своё дремучее детство. Спасибо.

  • @user-bw7ov8ip5w
    @user-bw7ov8ip5w 4 роки тому

    Спасибо за видео!

  • @asystoles5087
    @asystoles5087 10 місяців тому

    Раньше несколько раз видел уже твои видео
    Однако только сейчас понял, что твой контент - именно то что мне нужно
    Лайк, подписался
    Рад что на ютубе все еще есть действительно полезный контент
    Жаль что такие самородки, как твой канал, очень сложно бывает найти за завесой из всего кала нынешнего потребительского поп контента

  • @RobinGoodwe872
    @RobinGoodwe872 4 роки тому

    Классное видио, очень интересно.

  • @mikhailkh8560
    @mikhailkh8560 4 роки тому +1

    Даешь еще ролики про ассемблер! Кстати заодно посоветую всем книжку Чарльза Петцольда - "Код". Как раз про то с чего все начинается и как устроено.
    Подписка, лайк, за такой контент и донат можно

  • @dotend7915
    @dotend7915 4 роки тому

    Мужик офигенное видео!

  • @dmitriiyokohamaman8523
    @dmitriiyokohamaman8523 4 роки тому

    Круто. Классное видео.

  • @kawaikaino5277
    @kawaikaino5277 4 роки тому

    Спасибо, даже шутить не хочется. Просто спасибо

  • @dmitrymenshov8694
    @dmitrymenshov8694 Рік тому

    Искал другое, но решил зайти посмотреть о чём Линус вещает, полезно в любом случае. Ой! А он по-русски шпрехает)))
    Пять с плюсом за всё! Подписываюсь и буду пересматривать все видео.

  • @lama-yo2sg
    @lama-yo2sg 4 роки тому

    да,пожалуйста рассказывай ,очень интересно

  • @user-bp4co9ey5q
    @user-bp4co9ey5q 4 роки тому +3

    было бы круто послушать про все секции бинарника и в подробностях

  • @MrSusnake
    @MrSusnake 4 роки тому +11

    Смотрю рекомендации, вижу превью, думаю "О! Торвальдс начал выпускать обучающие видео! Класс!"

  • @yaroslavharizardovich8209
    @yaroslavharizardovich8209 4 роки тому

    Подписался, годнота!)))

  • @user-lx2st6lb8c
    @user-lx2st6lb8c 4 роки тому

    Всё правильно рассказал, точно выдержаное содержание, полностью раскрыта тематика, и правильно сформирован ответ на тему. Очень интересно рассказано, с наглядным примером. Пока писал коментарий, досмотрел до конца. В данном ролике есть и одна существенная беда. Я ничего не понял про что здесь говорится!!! О чём всё это?
    P.S. Если серьёзно, я восхищаюсь такими неординалными личностями как Вы. Мышление должно быть вероятно нестандартное. Воистину - ни..уя не понял, ну очень интересно! Для чего смотрел, тоже непонятно!

  • @user-ik1pw7ix6f
    @user-ik1pw7ix6f 4 роки тому

    думал я зря си учил, будет что попробовать)

  • @LevanovSiarhei
    @LevanovSiarhei 4 роки тому

    Как здорово, что вы все обьяснили😀, но так плохо что я ни хр.. На не понял))

  • @x3n0n3
    @x3n0n3 4 роки тому +4

    Хотелось бы про динамический патчинг: хуки, патчи опкодов в памяти и т.д. Но для начала неплохой старт.

  • @BoostBrainCourse
    @BoostBrainCourse 4 роки тому

    Очень приятно вновь посмотреть на извращения бурной молодости, спасибо!

  • @user-mq7ku8cv7f
    @user-mq7ku8cv7f 4 роки тому +71

    Ничего не понял , но на всякий случай передернул

  • @nikolaiii3
    @nikolaiii3 4 роки тому

    Такую рекламу под чаёк запустили, что я забыл что включил твой ролик.

  • @O_Hat
    @O_Hat 4 роки тому

    Я тут случайно. Из web. Интересное видео. Лайк.

  • @rustyscarlet
    @rustyscarlet 4 роки тому

    Больше подобных видео!

  • @kiri11-mi1
    @kiri11-mi1 4 роки тому

    я спать, пошёл, чтобы завтра под этим видосом было 3К лайков, и соер снял годноту

  • @Blendershick
    @Blendershick 4 роки тому

    Классное видео, хочу услышать о более мощных инструментах!

  • @user-zp7ey1sl5b
    @user-zp7ey1sl5b 4 роки тому

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

  • @user-bm3sc1ky5w
    @user-bm3sc1ky5w 4 роки тому +3

    Подписался на ваш канал. Спасибо за видео. ОЧЕНЬ интересно было бы про неоднозначное сопоставление кода на ассемблере с бинарным и почему так 5:20)

    • @RogovAB
      @RogovAB 4 роки тому +1

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

  • @user-yi3ud1ld8c
    @user-yi3ud1ld8c 4 роки тому

    ого очки очень круто дополняют твой образ

  • @lhr_arms
    @lhr_arms 4 роки тому

    Лайкосик с меня 👍

  • @stepanbazrov6330
    @stepanbazrov6330 4 роки тому

    Оценил отсылку к Торвальдсу в превью! 👍

  • @windmaster6689
    @windmaster6689 4 роки тому

    Посмотрел до конца.Сразу вспомнил COUB с ютуба: Ни..я не понял, но очень интересно.

  • @xo1o470
    @xo1o470 4 роки тому

    Ничего не понял, но очень интересно. Поставил лукас.

  • @nikshadow92
    @nikshadow92 4 роки тому

    крутой чувак подписка сразу

  • @artmv89
    @artmv89 4 роки тому

    Годный контент

  • @visualyt
    @visualyt 4 роки тому

    спасибо, теперь я понял как делают крэки )

  • @sunzd4937
    @sunzd4937 4 роки тому

    это офигенно. Давай про реверс-инженеринг.

  • @user-cv6hw3tw6p
    @user-cv6hw3tw6p 3 роки тому

    Вот же ты хищник. Терь все твои видосы посмотрю

  • @enbiz
    @enbiz 4 роки тому +1

    Ok. Всё понятно!

  • @dmitridudko3351
    @dmitridudko3351 4 роки тому +1

    умница!

  • @hamletave5442
    @hamletave5442 4 роки тому

    в начале видео мой взгляд упал на книги, на заднем фоне. Я пригляделся и увидел книгу, что в тот же момент лежит у меня на столе)) Книжка Макконнелла))) Значит не зря я ее купил)

  • @youtuberelaxvideo
    @youtuberelaxvideo 4 роки тому

    Годнота

  • @user-sw8qf4uf4y
    @user-sw8qf4uf4y 4 роки тому +1

    из всего понял только два слова - код и патч ,но слушать было интререстно ))))

  • @iamstillanon3048
    @iamstillanon3048 4 роки тому +2

    Кому интересно, то про декодирование процессорных инструкций и как меняется опкод в зависимости от операнда коротко и понятно написано в главе 12.3 книги "Assembly language for x86 processors"(книга есть и на русском языке).

  • @maximusbaton
    @maximusbaton 4 роки тому

    Круто!

  • @bag2you
    @bag2you 4 роки тому

    Ем пельмени и смотрю этот ролик, не знаю зачем :)

  • @user-rv9ss5ce7z
    @user-rv9ss5ce7z 4 роки тому

    спасибо!

  • @MikePrice888
    @MikePrice888 4 роки тому

    интересно спасибо

  • @user-wf2op7gu6n
    @user-wf2op7gu6n 4 роки тому

    Да тебе просто повезло!

  • @drKatzman
    @drKatzman 4 роки тому

    какая годнота!

  • @user-jp2by4pr5b
    @user-jp2by4pr5b 4 роки тому

    быстрее бы 3 тыс лайков!!!

  • @deadIlyich
    @deadIlyich 4 роки тому

    Вы уже рассказывали о других программах подобных objdump?

  • @covovker
    @covovker 4 роки тому

    Прикольно. Та часть меня, что ещё помнит магистратуру, говорит "а, ну чувак элементарные вещи про асм чуток расскажет, следующий". Вторая часть, помнящая, что я работаю в вебе и что половина коллег не знает что такое выделять и чистить за собой память - "круто". А потом до кучи ещё и что-то новое узнаю - про одинаковое наименование в асме разных команд, что действительно даёт ещё одну причину не ожидать точного соответствия между ним и бинарником на выходе.
    Здорово. Больше комментов богу комментов, помогаем распространению видосов, повышающих уровень компьютерной грамотности.

  • @stefankloster5961
    @stefankloster5961 4 роки тому

    Побольше про утилиты для декомпиляции и анализа бинариз пожалуйста :-)