Пишу программу в машинных кодах

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 พ.ย. 2019
  • #soer #itubeteam
    Основной канал для общения и публикации новых видео - Телегарм - t.me/softwareengineervlog
    Спонсорство - donate.s0er.ru
    Сайт платным контентом - soer.pro
    Зеркало для видео Дзен Видео - zen.yandex.ru/id/5f578bdf22e2...
    GitHub - github.com/soerdev
    Чат для программистов - / discord
    Группа ВК - codeartblog

ความคิดเห็น • 823

  • @vladyslavbublii9876
    @vladyslavbublii9876 4 ปีที่แล้ว +3285

    Не, ну это изи)) Давай теперь следующий челлендж : написать программу водя намагниченной иголкой по блину жесткого диска

    • @nickvirus9463
      @nickvirus9463 4 ปีที่แล้ว +118

      Vlad Bubliu Лучше перфокарты нет ничего для мануального кодирования

    • @socolovalexandr
      @socolovalexandr 4 ปีที่แล้ว +60

      А почему иголкой - сразу ломом :)

    • @Uni-Coder
      @Uni-Coder 4 ปีที่แล้ว +227

      Надо было сделать видео, в котором он разговаривает в двоичном коде :)

    • @ventilyator
      @ventilyator 4 ปีที่แล้ว +12

      @@Uni-Coder зачот :)

    • @huaweiinc.4190
      @huaweiinc.4190 4 ปีที่แล้ว +21

      по обычному блину

  • @shogunkub
    @shogunkub 4 ปีที่แล้ว +758

    То, что 50 лет назад было суровой правдой жизни, теперь выглядит как хитрый трюк ))

    • @edward.vstock
      @edward.vstock 4 ปีที่แล้ว +23

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

    • @engsc7094
      @engsc7094 4 ปีที่แล้ว +17

      даже меньше чем 50, в начале 90х игру питон вводил с журнала )

    • @KirillBerezin
      @KirillBerezin 4 ปีที่แล้ว +28

      А еще тогда люди не называли код на ассемблере машинным кодом :)

    • @user-pr3uy1vj5u
      @user-pr3uy1vj5u 4 ปีที่แล้ว +19

      @@KirillBerezin он писал же в машинных кода просто смотрел коды команды соответствующие ассемблер командам или я не прав

    • @protiv_bio
      @protiv_bio 3 ปีที่แล้ว +15

      @@KirillBerezin потому что код на языке ассемблера != машинным кодам

  • @stenline
    @stenline 4 ปีที่แล้ว +626

    Как говорится: Ждем курс написания сайта на транзисторах...

    • @AntiBandera
      @AntiBandera 4 ปีที่แล้ว +5

      жди

    • @user-mo9jb1bx1b
      @user-mo9jb1bx1b 3 ปีที่แล้ว +27

      @@AntiBandera господин Соер шуток не понимает)

    • @olegivanov6163
      @olegivanov6163 3 ปีที่แล้ว +3

      @@user-mo9jb1bx1b, по-этому - ждём.

    • @user-tp1qn2wt6t
      @user-tp1qn2wt6t 3 ปีที่แล้ว

      ахахахах

    • @user-oq8zm1fv3o
      @user-oq8zm1fv3o 2 ปีที่แล้ว +2

      Схематически это не слишком сложно. Тут проблема в количестве транзисторов и помехозащищённости.

  • @user-bh7gz1rl8h
    @user-bh7gz1rl8h 4 ปีที่แล้ว +456

    Очень хотелось бы увидеть видео о написании фронтенда сайта на ассемблере, а то HTML сильно тормозит.

    • @anton.k.
      @anton.k. 4 ปีที่แล้ว +29

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

    • @user-pr3uy1vj5u
      @user-pr3uy1vj5u 4 ปีที่แล้ว +7

      ну можно сделать фронтенд без html css и js на canvas/webgl + webassembly но зачем, в конечном счете получится своя реализация аналога html и css)

    • @aske34ru
      @aske34ru 3 ปีที่แล้ว +43

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

    • @vroshupkin1
      @vroshupkin1 3 ปีที่แล้ว +8

      Есть webassembly, но пишешь как бы в движке браузера. Очень крутая и интересная штука

    • @aske34ru
      @aske34ru 3 ปีที่แล้ว

      @@user-pr3uy1vj5u в figma кстати так и сделали

  • @user-qs9gv2xh7w
    @user-qs9gv2xh7w 6 หลายเดือนก่อน +9

    До сих пор помню многие машинные коды PDP-11 (Электроника-60). Это как первая любовь, помнишь всю жизнь. Создавали программы сразу в машинных кодах в 1985 году, потом записывали на перфоленту. Помню, что код 177 (восьмеричный) - были пробиты все отверстия, в этих местах лента часто рвалась :).

  • @user-ch1ny3xx7p
    @user-ch1ny3xx7p 4 ปีที่แล้ว +164

    В наше время это немного похоже на то, как если бы человек вышел из экскаватора и начал копать руками

    • @Veter1992
      @Veter1992 3 ปีที่แล้ว +42

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

    • @user-ws1ud4op9i
      @user-ws1ud4op9i 3 ปีที่แล้ว +14

      @@Veter1992 для этого есть лопата, но уж явно не руками

    • @user-fd3ot7rq4v
      @user-fd3ot7rq4v 3 ปีที่แล้ว +6

      @@user-ws1ud4op9i нет я хочу что бы ты копал руками хочу ! 😂😂😂

    • @linterrupt
      @linterrupt 3 ปีที่แล้ว +1

      @eugene martein так черенок давно уже существует

    • @zelmanfeig5404
      @zelmanfeig5404 2 ปีที่แล้ว +1

      Отличный комментарий! В точку! Они говорят о возможности работы с процессором напрямую, но на деле - предлагают отложить фотошоп и 5 часов подряд рисовать пиксели в пайнте.

  • @dikson3072
    @dikson3072 4 ปีที่แล้ว +490

    Теперь следующий этап - написать собственную ос и захватить 99% рынка

    • @denpro8845
      @denpro8845 4 ปีที่แล้ว +12

      Всего-то и надо 38 лет интенсивного развития.
      ru.wikipedia.org/wiki/MS-DOS

    • @KnyPovir
      @KnyPovir 4 ปีที่แล้ว +5

      38 лет = 324 672 человеко часов

    • @user-bo7yz7wb1h
      @user-bo7yz7wb1h 4 ปีที่แล้ว +9

      @@KnyPovir просто часов. Человеко-часы это сумма рабочих часов всех людей, которые работали над проектом.

    • @KnyPovir
      @KnyPovir 4 ปีที่แล้ว +2

      @@user-bo7yz7wb1h/videos
      Тогда весь юмор теряется...

    • @denpro8845
      @denpro8845 4 ปีที่แล้ว +8

      @@user-bo7yz7wb1h совершенно верно. когда 40 человек сидят на совещании всего два часа, они убивают две недели рабочего времени.

  • @AlexanderSavchenko91
    @AlexanderSavchenko91 4 ปีที่แล้ว +71

    Растёте :) отличная подача и свежий вид )) приятное видео

    • @user-ez5vg6tq2u
      @user-ez5vg6tq2u 4 ปีที่แล้ว +2

      Alexander Savchenko прикалываешься писюн? Нихуя же непонятно!!!!!

  • @0Schranz
    @0Schranz 4 ปีที่แล้ว

    Всегда было интересно узнать ответ на этот вопрос. Спасибо, подписался!

  • @maksimmelnikov4321
    @maksimmelnikov4321 4 ปีที่แล้ว

    Очень здорово, что Вы подняли эту тему.

  • @ttfd
    @ttfd 2 ปีที่แล้ว +1

    Круто, жду ещё видосов на ассемблерные темы. Хотя из названия я ожидал увидеть очередной тьюториал по MS-DOS DEBUG, но оказалось тоже очень интересно!

  • @rocknrollex7463
    @rocknrollex7463 4 ปีที่แล้ว +2

    Отличный материал! Шикарный канал в целом!

  • @codedesign9261
    @codedesign9261 4 ปีที่แล้ว +1

    Последние несколько дней об этом думал как раз ! )))
    Читаешь мысли)

  • @yuriynevazhno2542
    @yuriynevazhno2542 3 ปีที่แล้ว +2

    Отличная подача, все выглядит очень простым и понятным, хотя с ассемблером не знаком.

  • @dimovich85
    @dimovich85 4 ปีที่แล้ว +1

    Еще бы что-то такое =) Супер, спасибо!!

  • @alexzhelyapov3556
    @alexzhelyapov3556 6 หลายเดือนก่อน

    Крутой чел, реально интересно. Очень долго искал подобный контент на ютубе, спасибо!

  • @rico19892004
    @rico19892004 4 ปีที่แล้ว +13

    Ух... ностальгия аж вспомнился первый курс и радость после написания драйвера на asm для точечно-матричного принтера

    • @user-sx5pm2ov5f
      @user-sx5pm2ov5f 4 ปีที่แล้ว +1

      А мы писали контроллер для плазменного резака на tasm, на судостроительном заводе, я другу помогал, а так у меня образование фазанка :D

    • @orkoteg09
      @orkoteg09 4 ปีที่แล้ว +3

      модем для датчиков на магистральных газопроводах - моя дипломная (ассемблер) ))

    • @user-is9fv5bi7x
      @user-is9fv5bi7x 3 ปีที่แล้ว

      Красавчик

  • @user-zc1rr3my3w
    @user-zc1rr3my3w 4 ปีที่แล้ว

    Нереально круто! Побольше бы таких видео

  • @user-gr3wb7xf1w
    @user-gr3wb7xf1w 4 ปีที่แล้ว +2

    Спасибо большое, классные видео

  • @dmitrybezzz1708
    @dmitrybezzz1708 2 ปีที่แล้ว +30

    Можешь в машинных кодах ? Можешь ) Собственно моя первая программа была в машинных кодах и была взята из журнала Радио (конец 80-ых), в момент когда родители купили компьютер с забавным названием Микроша (процессор КР580) )) Это был кайф от программирования ! Хочешь изучить тему, разбери ее на молекулы. В последующем на чистом машинном написал две игры с псевдографикой и компилятор Форта, начал было трассировщик писать, но школа закончилась поехал дальше учиться. Вспоминаю с ностальгией. Хочу сказать, что если потратить на это определенное время, то даже в коде не сложно программировать. Главное заложить базис в голове.
    На тот момент, кстати, переходить на ассемблер и не было никакого желания. Казалось, что это лишняя трата времени на писанину. Да и архитектура процессоров КР580 и памяти способствовала, не такая сложная как у современных ПК. С другой стороны при наличии соответствующих инструментов можно и сейчас программировать в коде.

    • @user-eu8zo1zo9v
      @user-eu8zo1zo9v 2 ปีที่แล้ว +1

      написал компилятор пока был школьником в машинных кодах?
      мужик не делай из нас дураков, это невозможно
      не хватит ни мозгов школьника, ни времени

    • @dmitrybezzz1708
      @dmitrybezzz1708 2 ปีที่แล้ว +4

      @@user-eu8zo1zo9v послушайте интервью Стива Возняка, где он говорит что написал компилятор Бейсика для первых Apple на ассемблере. Написал он его за достаточно короткое время. Ну и в качестве кокетства добавлял, что в первой версии не смог или не успел добавить операции с плавающей точкой в бейсике. Вы же не сравнивайте компиляторы сегодняшнего уровня с кучей библиотек и компиляторы 80-ых ! И еще раз - архитектура памяти была упрощенная. При достаточном погружении (практике) писать на машинном языке на тех машинах получалось даже быстрее чем на ассемблере. Вы видимо не представляете объема работы. И уж тем более не представляете внутреннюю красоту языка Форта, ядро которого (без библиотек) может уместиться в кэш современного процессора. И потому, к слову сказать, очень быстрого в исполнении.

    • @dmitrybezzz1708
      @dmitrybezzz1708 2 ปีที่แล้ว

      А на просторах интернета можете найти людей которые совершили подобный "подвиг" и тоже написали свой компилятор Форта пусть даже и не в машинном коде...

  • @w6257
    @w6257 4 ปีที่แล้ว

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

  • @FrolovDaniil
    @FrolovDaniil 4 ปีที่แล้ว +15

    Евгений, хочу написать, что Вы крутой! Наткнулся на шуточное видео "Голая правда о программистах" и залип на канале просматривая все видео один за другим. Крутая подача, интересные темы! Удачи! Пожалуй подпишусь)

  • @shikataganai1955
    @shikataganai1955 4 ปีที่แล้ว +9

    Это понятно и легко. Некст челлендж уровня impossible - сделать исполнение шеллкода, но помещая в rwx память не все инструкции сразу, а по одной. Так, чтобы в памяти в момент исполнения всегда была только 1 инструкция, после исполнения которой идёт ее «затирание» и передача управления на следующую ,которую мы также, как в этом видео прокидываем из кучи. (В куче инструкции могут находится в шифрованном массиве, к примеру)
    Получится прототип защиты кода в памяти.
    Либо второй челендж уровня impossible - на вход получаешь тот же шеллкод. Имплементируешь алгоритм для поиска rop гаджетов на основе инструкций своего шеллкода. Импортишь хаотично dll и там ищешь эти гаджеты. Потом передаёшь управление от гаджета к гаджету, тем самым исполняя свой шеллкод. Опять же в таком случае шеллкод будет не в одной странице rwx, а разбросан по исполняемым адресным пространствам разных dll. Осилишь?))

  • @murm3ow407
    @murm3ow407 3 ปีที่แล้ว

    Респект автору! Открыл для себя нечто новое)

  • @bishoprichi487
    @bishoprichi487 4 ปีที่แล้ว

    Отличный контент. Спасибо огромное

  • @tonymac822
    @tonymac822 4 ปีที่แล้ว +18

    Классное видео. Я считаю что что такой формат очень полезный, особенно для хардкорщиков)

    • @user-ox3rj9th9m
      @user-ox3rj9th9m 4 ปีที่แล้ว

      Странно по твоему создатели KolibriOS и API Vulkan хардкорщики, или же люди старающийся сделать быстрее работу железа?????

    • @trak3009
      @trak3009 2 ปีที่แล้ว +1

      @@user-ox3rj9th9m И то и другое

  • @user-mj3ll9hv6r
    @user-mj3ll9hv6r 4 ปีที่แล้ว +96

    Настоящие мужики делают свой проц в spice-симуляторе со своим блекджеком и опкодами.

    • @MonahTuk
      @MonahTuk 4 ปีที่แล้ว

      Я не настоящий, я всего лишь с Microblaze работаю :-P

    • @andrsam3682
      @andrsam3682 4 ปีที่แล้ว +7

      пфф.. на 155 логике они его делают))

    • @user-bb1rm5gi6h
      @user-bb1rm5gi6h 4 ปีที่แล้ว

      @@andrsam3682 пффф.... даже на релюхах;)

    • @Pan-ux3bq
      @Pan-ux3bq 4 ปีที่แล้ว +19

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

    • @Vlad0i0mir1
      @Vlad0i0mir1 4 ปีที่แล้ว +2

      @@Pan-ux3bq по руке от терминатора)

  • @alexbublikov4015
    @alexbublikov4015 4 ปีที่แล้ว +1

    спасибо, прям напомнило как в универе прогали КП580 вводя 16ричные команды в терминал УМК...

  • @user-cx4xq2jv9d
    @user-cx4xq2jv9d 4 ปีที่แล้ว +3

    Замечательное видео. Всегда считал машинный код чем-то непостижимым, для реальных хардкорщиков. А после видео, появился интерес к данной теме.

    • @andrejvlasov5452
      @andrejvlasov5452 4 ปีที่แล้ว

      Про ассемблер вы наверное не слышали?

    • @user-cx4xq2jv9d
      @user-cx4xq2jv9d 4 ปีที่แล้ว

      ​@@andrejvlasov5452 Нет, я слышал про ассемблер

  • @MrEyeGlitch
    @MrEyeGlitch 2 ปีที่แล้ว

    Вот что значить thinking in binary! Я начиная с этого видео подписался на ваш канал, но теперь думаю, что и комментарий не помешал бы! :)

  • @user-kn4fy8id3h
    @user-kn4fy8id3h 4 ปีที่แล้ว

    Я всегда об этом думал.Но думал это не реально. Мое уважение Soer

  • @ToxaKolganov
    @ToxaKolganov 4 ปีที่แล้ว +10

    Прикольно, но хотелось бы увидеть реализацию elf/exe с нуля, без кода посредника и вмешательства компилятора ))

  • @Razor102rus
    @Razor102rus 2 ปีที่แล้ว

    Как чистый Сишник охринел от того что ты сделал)) сразу подписался!)

  • @Mikola_Naumenko
    @Mikola_Naumenko 4 ปีที่แล้ว +21

    Просто лайк. Те кто когда то ковырялся в Радио86РК, Спецалист, Микроша или в подобных монстрах эры начала персональных компьютеров, помнят, что такое Ассемблер.

    • @VERTinBY
      @VERTinBY 4 ปีที่แล้ว

      куда же без него... половина игр хранило жизни в регистре А , перебор... LD A,254 всегда хватало ))

    • @user-sx5pm2ov5f
      @user-sx5pm2ov5f 4 ปีที่แล้ว +1

      basic на квант БК в 1997 году. Первый комп после приставок, у меня был уже Panasonic 3DO, но после знакомство с Квантом, не спал суток двое. Документации не было, просто угадывал для чего какая команда нужна. А потом подарили книгу basic для детей, тут все и началось...

    • @igorchesnokov482
      @igorchesnokov482 4 ปีที่แล้ว +2

      @@VERTinBY А DEC A на INC A менял, чтобы жизни, когда помираешь, увеличивались? :)

    • @user-uq9tf6gx5i
      @user-uq9tf6gx5i 4 ปีที่แล้ว +4

      Синклер-Спектрум!!!

    • @user-sx5pm2ov5f
      @user-sx5pm2ov5f 4 ปีที่แล้ว

      Помню как клавишам действие научился присваивать, лучший день в жизни был LET команда :)

  • @user-bl9wx1qy8x
    @user-bl9wx1qy8x 4 ปีที่แล้ว

    Случайно наткнулся на этот видеоролик. Молодец, что решил попробовать, а то остальные все всё знают, но никто не пробует. Единственно, что я бы дополнил - это про структуру команд в двоичном коде - а это "Здравствуй" двоичный код ))).
    На счет того, что некоторые из комментаторов говорят что это бесполезно - то они не правы. Если ассемблер дает понимание об архитектуре компьютеров, то машинные кода дают представление об архитектуре чипов. А это уже становиться необходимым для разработчиков ОС и драйверов. В особенности для тех, кто собирает свои платы для компа.
    *Забыл сказать.* Когда-то во времена, когда компьютеры были маленькими, а программисты умными, шла борьба за размер программы. Памяти было мало, а потому экономили каждый байт. Мне известны случаи, когда программист полностью переписывал код, из-за экономии 2х байт программы! И в таких случаях шли на разные ухищрения - типа перехода во внутрь команды! А это, без знания машинных кодом было не возможно.

  • @antonantochi8498
    @antonantochi8498 4 ปีที่แล้ว +11

    Ссылка на функцию - "гениально". С таким же успехом можно было показать, как колить на опкодах в дизассемблере :)

  • @user-xq4ft8kz9f
    @user-xq4ft8kz9f 4 ปีที่แล้ว +9

    Воу-воу-воу полехче это называется binary injection, Хаккер Соер вернулся :)
    А я вот не сомневаюсь что однажды вот так вот невзначай в развлекательно-обучающем ролике Соер покажет как написать вредоносную программу ;D
    PS: в сети и на гите можно най ти статьи как написать загрузчик под биос, если понравился этот ролик то лайк Соеру и вам понравиться написать загрузчик т к он не ELF не PE а именно RAW ни каких библиотек и единственная программа которая запустится на вашем ПК после перезагрузки если вы её вздумаете установить :)))
    PS2: досмотрел видео до конца:) не совсем binary injection но близко к этому :)

  • @denisvz
    @denisvz 4 ปีที่แล้ว

    На ZX Spectrum все игры таким образом и записывались, заголовок на Basic для инициализации процесса загрузки кода в память с помощью peek и poke, затем простыня из шеснадцатеричных значений.
    Даже книжки продавали, где можно было вручную переписать несколько страниц кодов и получить игрушку :)

  • @vangog63
    @vangog63 4 ปีที่แล้ว

    Весьма познавательно!

  • @MikhailGoncharov-tl4cr
    @MikhailGoncharov-tl4cr 4 หลายเดือนก่อน

    Ютуб просто оракул, уже 4 видео прямо по делу рекомендует

  • @user-js3sy2qv7m
    @user-js3sy2qv7m 4 ปีที่แล้ว

    да просто супер! спасибо за видео

  • @scriptboris
    @scriptboris 4 ปีที่แล้ว

    Спасибо за видик! С меня подписка.

  • @KostsovKonstantin
    @KostsovKonstantin 2 ปีที่แล้ว +32

    Прикольно. Раньше в средних школах учили делать ассемблерные вставки. Потому, что без них не выжать производительность. Теперь это мастер класс от профи.

    • @WhiteZSY
      @WhiteZSY ปีที่แล้ว +2

      В школе и про TASMучили. И то "профи" не до конца все понимают, объясняют.

    • @user-zt8dz2rx1p
      @user-zt8dz2rx1p 8 หลายเดือนก่อน +5

      Мы с вами наверно в разных школах учились, потому как в нашей всё ограничилось HTML

    • @karibas_6973
      @karibas_6973 7 หลายเดือนก่อน

      ​@@user-zt8dz2rx1pв нашей школе учили word...

    • @artemmm095
      @artemmm095 7 หลายเดือนก่อน

      @@user-zt8dz2rx1p В нашей вообще всё ограничивалось вордом и экселем

    • @NaoNakashima
      @NaoNakashima 6 หลายเดือนก่อน

      У нас в школе максимум был Паскаль.

  • @genmanyuri
    @genmanyuri 7 หลายเดือนก่อน

    блин ностальгнул сразу в 1990 год ))) для zx spectrum писали игрухи ))

  • @PavlikGyra
    @PavlikGyra 4 ปีที่แล้ว

    Чётко и по-полочкам!!!

  • @GloriousJenya
    @GloriousJenya 4 ปีที่แล้ว

    10из10 дядька всегда смотрю и очень нравиться

  • @Blendershick
    @Blendershick 4 ปีที่แล้ว

    Хорошее видео спасибо!

  • @brunneng8575
    @brunneng8575 4 ปีที่แล้ว

    Очень круто!

  • @williambalford5671
    @williambalford5671 4 ปีที่แล้ว +1

    Ой какое чудесное видео! Познавательная и интересная! А сам парень Соер умный то какой!

    • @michaeljordan1283
      @michaeljordan1283 ปีที่แล้ว

      Он же сказал, что только кажется умным.

  • @bashebash6942
    @bashebash6942 2 ปีที่แล้ว

    Ждал пока это кто-то сделает, красава!

  • @moozoo2589
    @moozoo2589 4 ปีที่แล้ว +64

    На zx spectrum в середине 90-ых только так и программировал. Тысячи строк на ассемблере, оптимизация кода расчитывая количество тактов. Сегодня же 90% кода тормознутый порожняк.

    • @parametrico
      @parametrico 4 ปีที่แล้ว +10

      Не говори, ELITE занимала 40 килобайт, а щас я извиняюсь сpaнbIй мессенджер, в котором ни байта графики, только буквы и смайлы - 50 мегабайт ! ) дрова на видяху анадысь качал - 550 мегабайт ! Это ж как надо разучиться программировать так за 30 лет, не понимаю...

    • @Neo54213
      @Neo54213 4 ปีที่แล้ว +10

      @@parametrico нету смысла что-то экономить в ущерб времени разработки когда ресурсы довольно дешёвые

    • @user-gl2bt1on5p
      @user-gl2bt1on5p 3 ปีที่แล้ว +5

      Это где такое сегодня ? 👀90 % порожняк ? 🥴та ты фуфло какое-то гонишь . Кто залайкал тя непойму .такие же фуфела как и ты походу 🤾

    • @Bublerkin
      @Bublerkin 2 ปีที่แล้ว +2

      Раньше чистый код писали, а сейчас, если что-то надо - фигакс, линкуем целую библиотеку. Нужна поддержка h264 - прилинкуем целый libavcodec в несколько десятков мегабайт и сотней ненужных кодеков и пофиг, что 95% кода оттуда никогда не будет вызываться. Или exe-шник Doom 3 весил 5 мегабайт, а в Doom 2016 два exe-шника, каждый по 100Мб - один для vulkan, другой для opengl - это даже смешно, учитывая, что движок не стал в 20 раз круче. И текстуры раньше сжимали в jpg, а сейчас фигачат без сжатия. Поэтому такие слоновые игры стали.

    • @user-ci4fz9co3b
      @user-ci4fz9co3b 2 ปีที่แล้ว

      @@Bublerkin Глупости пишете. То что не будет вызываться в код не попадет. Кто хочет оптимальный код, нет проблем, пишите на С и даже асме можно если сильно нужно. А если операционка мешает есть DOS.

  • @CosmJJ
    @CosmJJ ปีที่แล้ว

    огонь!! Спасибо!

  • @BoddenDeni
    @BoddenDeni 4 ปีที่แล้ว

    познавательно. Для общего развития пойдет.

  • @markwolf2300
    @markwolf2300 4 ปีที่แล้ว +1

    Привет. Спасибо за видео, оно: содержательное, маленькое по времени и интересное, хотелось бы больше подобных видео. Хотелось бы ещё узнать, есть ли у тебя опыт работы с криптографией ? И если есть, то мог бы ты снять видео о ней ? Рассказать что-нибудь и показать на примере в линуксе ?

  • @user-lb4fb7ry2o
    @user-lb4fb7ry2o 2 ปีที่แล้ว

    Ты крут. Спасибо. Ничего не понял. Но было интересно.

  • @funtik1991
    @funtik1991 4 ปีที่แล้ว

    Иж как исхитрилса... А вообще, очень познавательно!

  • @user-tn3bw1wg8w
    @user-tn3bw1wg8w 4 ปีที่แล้ว +1

    Классно 👍

  • @lexlutor1367
    @lexlutor1367 ปีที่แล้ว +1

    Помню целые листы в 16 ричном коде в журнале Моделист Конструктор. Уже тогда кодили микросхемки для радиоуправления =)

  • @user-uv5xf2wj1s
    @user-uv5xf2wj1s 2 ปีที่แล้ว

    Спасибо вам

  • @makofako2840
    @makofako2840 ปีที่แล้ว

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

  • @user-nq2mj6rz9q
    @user-nq2mj6rz9q 2 ปีที่แล้ว

    В ТурбоПаскале помнится была директива inline, в которой можно было писать 16-ричные коды и они вставлялись как есть в программу.

  • @zatochiSiberian
    @zatochiSiberian 4 ปีที่แล้ว

    Круто, спасибо.

  • @user-bw7ov8ip5w
    @user-bw7ov8ip5w 4 ปีที่แล้ว

    Круто! Я только программу "Hello World" в машинных кодах писал.

  • @yoelshafir1620
    @yoelshafir1620 4 ปีที่แล้ว +3

    Очень интересно. Подскажите 2-3 книги небольшого объема (можно и на английском) чтобы лучше понять о чем здесь речь?

  • @ermolinandrey4098
    @ermolinandrey4098 4 ปีที่แล้ว +8

    Конечно многое зависит от операционной системы, но в данном случае мы написали только функцию, для выполнения которой надо откомпилированную программу. Используя другие операционные системы (например DOS или Windows 7 x32 (как помнится это последняя ОС поддерживающая COM файлы)) можно писать напрямую в файл и выполнять этот файл. Магия в использовании формата файла COM. По сути ОС при загрузке просто размещает содержимое файла в памяти со смещением 0x100h относительно начала сегмента (начало сегмента занято заголовком содержащим служебные данные, такие как командная строка и прочее) и передает управление на первый байт загруженного файла.

    • @_ProstoTak
      @_ProstoTak ปีที่แล้ว +2

      Автор мог, например, взять DosBox, в нем 16-ричным редактором создать COM-файл. запустить и показать - вот то было б реально что просили. А тут, блин, во-первых написал какую-то туфту из 2 команд, даже не Hello, World, а во-вторых - реально писал-то он не в машинных кодах, а на ассемблере.

    • @ivankprod
      @ivankprod 7 หลายเดือนก่อน +1

      @@_ProstoTak А Вы помните хоть некоторые команды в 16-ичном виде сами?

    • @_ProstoTak
      @_ProstoTak 7 หลายเดือนก่อน

      @@ivankprod Зачем их помнить, на то таблицы есть. И да, я например еще помню что CD - это команда прерывания (и соответственно CD 21 - "int 21h", главное DOSовское API).
      Но претензии к автору не в том что он не помнит/не знает каких-то кодов (ибо как я сказал выше - это справочная инфа), а в том что заявленное не соответствует сделанному.

  • @ivanfedorov7934
    @ivanfedorov7934 4 ปีที่แล้ว

    очень интересно, и наглядно понял конечно не много, но хоть увидел, что это не магия. В в Хогвард) точно теперь не пойду, буду вас смотреть все-таки безопаснее и комфортнее))

  • @saracen2477
    @saracen2477 4 ปีที่แล้ว

    Жги ещё!

  • @luceferon9574
    @luceferon9574 4 ปีที่แล้ว +1

    Ну наконец-то я тебя нашел, адекватный канал, с интересным контентом))

  • @konstantinkouptsov7513
    @konstantinkouptsov7513 4 ปีที่แล้ว +3

    Оч хорошо! А про __cdecl, __fastcall и другие можно поподробнее в другом видео (и про то, когда параметров у функции много)?

  • @0xBADC0FFEE
    @0xBADC0FFEE 4 ปีที่แล้ว +2

    Я под ARM писал :) Патчи для Siemens S75

  • @dineo9098
    @dineo9098 4 ปีที่แล้ว +1

    А будет отдельное видео про структуру опкодов? Хотелось бы послушать про это какие-нибудь интересные подробности.

  • @jimbean3601
    @jimbean3601 4 ปีที่แล้ว

    Ого. Это прям как я в 1992 году програмировал на Вектор 06ц в ассемблере

  • @reckt6343
    @reckt6343 4 ปีที่แล้ว +150

    Напиши нейросеть в двоичной коде

    • @vladislavknyshov3482
      @vladislavknyshov3482 4 ปีที่แล้ว +27

      Го в троичном

    • @darkmatter9520
      @darkmatter9520 4 ปีที่แล้ว +25

      Го в квантовом

    • @stas9066
      @stas9066 4 ปีที่แล้ว +4

      Сделаю вид, что понял твоё высказывание)

    • @AndreyOslin
      @AndreyOslin 4 ปีที่แล้ว +2

      Можно умереть наверное прежде чем ее написать до конца. Нужна что то выше этого примитива.

    • @lphoenixl7771
      @lphoenixl7771 2 ปีที่แล้ว

      А ты знаешь толк в извращениях.

  • @vifvrTtb0vmFtbyrM_Q
    @vifvrTtb0vmFtbyrM_Q 3 ปีที่แล้ว

    В свое время будучи студентом, без компьютера в тетради писал на wasm 86. Потом переводил в опкоды которые брал из книжки по ассемблеру. На компе в volcov commander, в hex-редакторе вбил программу и потом для инструкций jmp, jnz добавлял реальные смещения. Это была игра змейка. Заработало с первого раза. Отлаживал в уме.

  • @a.osethkin55
    @a.osethkin55 2 ปีที่แล้ว

    Огонь. Больше про асм

  • @RussiaVoiced
    @RussiaVoiced 4 ปีที่แล้ว +8

    Ждем выпуск с перфокартами!)

    • @user-zs4nk5nx3i
      @user-zs4nk5nx3i 4 ปีที่แล้ว

      С перфоратором. 😂

  • @DelOk85
    @DelOk85 4 ปีที่แล้ว

    Помню, как во времена Юрского периода я редактировал по мануалам опкоды на Motorola E398 чтобы получить новый фунционал. Хорошие были времена.

  • @Densorion
    @Densorion 4 ปีที่แล้ว

    Ааа, ну я все понял, спасибо!

  • @aswonder5569
    @aswonder5569 4 ปีที่แล้ว

    В 80-х годах прошлого века я в Политехнической библиотеке переписывал в тетрадку 16-ричные коды из журнала Apple Magazine и в институте их вбивал на реальном компе, получая в итоге работающую программу. Мой лучший результат - "взломать" текстовый редактор Apple II так, чтобы он понимал кириллицу. Правда, пришлось пожертвовать важной функцией copy/paste блоков текста.

  • @user-hv5xh1tf7v
    @user-hv5xh1tf7v 4 ปีที่แล้ว

    В Windows есть функции VirtualAlloc и VirtualProtect, которые позволяют менять флаги страниц и исполнять код от куда хочешь. Еще можно поменять флаги секций. Это возможно, потому что в Винде сектора данных и кода накладываются друг на друга, занимая одно адресное пространство, Винда использует страничную организацию памяти, а страница может быть и исполняемой и записываемой одновременно. Я так модифицировал одну программу, заставляя ее менять условие во время выполнения.

  • @KBNHCN
    @KBNHCN 4 ปีที่แล้ว

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

  • @WGDev
    @WGDev 4 ปีที่แล้ว +12

    Особенно тема про непонимание шуток интересная! Можно развернуть её подробнее?

  • @vadimdorokhov8375
    @vadimdorokhov8375 4 ปีที่แล้ว +3

    Вот они.... Монстры IT. Чувак, у тебя просто лучший материал!

  • @FunFradd
    @FunFradd 11 หลายเดือนก่อน

    отлично ждём ролик где вы пишите bare metal программу

  • @romanenot
    @romanenot 4 ปีที่แล้ว +1

    Помню подобное описывал Крис Касперски в статье "Дизассемблирование в уме".

  • @preenxus3425
    @preenxus3425 4 ปีที่แล้ว

    вау, вот это круто))

  • @x3n0n3
    @x3n0n3 4 ปีที่แล้ว

    Мощь!

  • @user-ls9jl4el9i
    @user-ls9jl4el9i 4 ปีที่แล้ว +1

    СКОР) А змейка с тетриса в Командной строке)))

  • @user-lp4zl4wc8c
    @user-lp4zl4wc8c 10 หลายเดือนก่อน

    Блин, космос! Открытый!!!

  • @bird9744
    @bird9744 4 ปีที่แล้ว

    Ля какой. Ну это определенно лайк

  • @Anafeyka
    @Anafeyka 4 ปีที่แล้ว

    (ДИЧЬ) Предлагаю в ручную методом замыкания менять положение транзисторов в процессоре. Также идея
    (Vlad Bubliu) тоже имеет место быть. Хочу такой же видос, только с решением конкретных задач. Ну к примеру 2+2*2. Канал крутой!

  • @vladislavlen9307
    @vladislavlen9307 4 ปีที่แล้ว

    Вот это контент!

  • @user-rp4hz7ng5n
    @user-rp4hz7ng5n ปีที่แล้ว

    Да Вы - гений!!

  • @user-yc6ez9lf9t
    @user-yc6ez9lf9t 4 ปีที่แล้ว

    грамотный мужик, лайк

  • @SuperDeadAngel
    @SuperDeadAngel 3 ปีที่แล้ว +1

    Помню тайком в армии экспериментировал с самомодифицирующемся кодом. Перед выполнением функция дешифруется, выполняется, а потом опять шифруется. Старый трюк, но очень интересный.

    • @user-jk3jy2up5j
      @user-jk3jy2up5j 8 หลายเดือนก่อน

      Признаки шпионажа

  • @user-to1or1hf4y
    @user-to1or1hf4y 4 ปีที่แล้ว

    Ну ты замутил, я такое впервые вижу)

  • @xrtcam163
    @xrtcam163 ปีที่แล้ว

    Агонь видос

  • @user-zt3ig4xl6i
    @user-zt3ig4xl6i 6 หลายเดือนก่อน

    Под DOS-ом, теоретически, можно было сделать всё честно в com-файл. Правда, нужно было правильно сделать заголовок com файла, не помню с окончанием, вроде тоже что-то нужно было. А так, если хотелось побаловаться, в редакторе VC писалась программа на asm, а компилятором, входившем в turbo c, всё компилилось в obj, потом в com (до 32 K).

  • @mihalt1
    @mihalt1 6 หลายเดือนก่อน +1

    Очень странно, вроде спрашивали написать на машинных кодах, а не на ассемблере.
    Помню в детстве изучал ассемблер, и при написании программок компилировал их в com файлы, потом через дебагер смотрел что происходит с машкодом, ну и со временем начал писать прямо машкодом com файлы, так как это проще, быстрей, и не нужно компилировать. К примеру вот программа смены текстового видеорежима в досе B8 00 00 CD 10 CD 20 чтобы получить другой видеорежим нужно 00 00 заменить на 03 00.
    Блин, уже больше чем 25 лет прошло, а до сих пор помню, а что вчера было забыл.

  • @user-10248
    @user-10248 4 ปีที่แล้ว +10

    Это шикарно!
    Хоть решаемая задача весьма проста, но объяснено все очень доходчиво.
    Хочется попросить сорцы этого "интерпретатора" и побольше подобных видео. В идеале серия видео про подобные вещи, в частности, от нажатия кнопки включения ПК до полноценного запуска ОС с нюансами того, что кого и как запускает, откуда знает где лежит и т. п.