https://www.youtube.com/watch?v=lTrA0AKUmus
Расшифровка видео
0:00
Здравствуйте Уважаемые зрители приветствую вас на своём канале если вас
0:07
поисковая система туба привела на данный ролик значит вы по всей видимости
0:13
интересуетесь или вас интересует что такое Асем Следовательно этот выпуск именно
0:21
для вас данная лекция будет выглядеть скорее всего как монолог и это будет уже
0:28
наверно раз когда я обращусь выступлю со
0:34
вступлением как вступительная речь к тому что такое аем на просторах
0:40
интернета Я посмотрел популярность на данный момент на данный месяц на данный
0:47
день на данный год всех языков программирования Ну не всех а я имею в
0:53
виду самых популярных языков программирования Я смотрю на эту диаграмму мне Горько и грустно
1:00
становится на первом месте пеша стоит и во всём этом ряду языков
1:07
программирования совершенно не виден самый легендарный и самый знаменитый все
1:14
времена со времён возникновения первых компьютеров это
1:20
нашего Великого и могучего асма это
1:25
просто трагедия современности трагедия современного поколения меня одолевает
1:33
глубокая печаль при виде этой картины потому что я отношусь к тому поколению
1:39
когда каждый зелёный юнец прыщавый с едва набивным Пушком на верхней губе
1:47
мечтал просто приобщиться хоть к крупицам какого-то знания по астму чтобы
1:53
вступить на этот путь узнать как же блин всё это ломается Как происходит слом
2:00
программ Как пишется Что такое Ассамблея что это
2:05
за что это за секретные такие знания что это за написание
2:12
непонятного кода который даёт вам могущество власть и привилегию я
2:21
отношусь к тому Золотому веку Когда вы может кто-нибудь ещё помнит когда
2:28
царствовало великое красавица Windows XP когда просторы
2:35
хакерских сетей были забиты просто всяческими пиратскими версиями такими
2:41
как я помню у меня была ещё Windows XP Black Edition Windows XP Gold Edition
2:50
Windows XP Hacker Edition Windows xhost Edition Когда блин мечтали просто узнать
2:58
что же такое блин ам что это такое как можно где взять кены Где взять кряки
3:07
шела просто форум шели просто вопросами от новичков как скажите нам расскажите
3:13
пожалуйста научите и мы такие сни сходили свысока
3:20
своего высочайшего подиума и величественно и
3:27
снисходительно сво выдавали крупицы знаний А теперь это всё
3:35
кануло в лету теперь на первом месте стоит какой-то несчастный питон никто
3:42
даже блин не задумывается и никто не хочет вообще знать А что такое АМ в моё
3:49
время у меня ящики были просто целые целые упаковки сломанных программ с
3:55
дисками записанными на диск И мне жалко нынешнее поколение которое всего
4:00
этого не знает и не помнит а оно пользует сейчас эту эту просто
4:06
эту Windows десятку или 11 это полное говнище которое наполнено
4:12
всяким хламом и всяким мусором которое ни на грамм блин не стоит даже старушки
4:18
прекрасной Windows XP Я бы с удовольствием сейчас работал бы на пике
4:23
на своей на пиратской копии Жалко что В архивах у меня уже её не осталось
4:29
грустно грустно очень даже грустно поколение растёт и оно забывает все
4:36
прошлые великие достижения моё поколение По всей видимости уже последнее когда
4:42
оно закончится останется Вот это недоученный
4:48
тупое питон ское джаваскрипт ское пиш пиная фигня вся срань эта вся которая
4:56
блин сейчас наполнена всеми курсами клипа видеоурока в моё время молодежь Просто
5:03
благове перед волшебством и магией знаменитой и вечной в истории хакинга
5:12
нашей любимой Олли оно благове перед старшим поколением которая знала что
5:19
такое АМ которая знала что такое машинный кот которая манипула этим как
5:26
своим естеством оттачивал свои знания и
5:31
передавала их следующим поколениям теперь это всё кануло в лету и меня
5:37
одолевает глубочайшая печаль Поэтому в последний раз как представитель старого
5:43
поколения я попытаюсь вас наставить на путь асма не ассемблера и не
5:52
ассемблера некоторые пользователи А это По всей видимости являющиеся
5:58
современными программистами лохами ставят мне в укор когда я ставлю
6:03
неправильное ударение в английском произношении и говорю о Семлер они с
6:09
морщатся нос и говорят Фу от одного этого произношения я не буду смотреть ваш ролик не надо Не смотрите моё
6:16
поколение никогда не говорило ни ассемблер ни ассамбле оно говорило
6:22
великий и могучий астм это как Бог один это как великий Арес ам в наших кругах
6:31
это АМ и только ам во всех современных
6:36
моих выпусках Я говорю ассемблер или ассамбле – это только в угоду
6:42
современности современным пользователям только лишь по этой самой причине тот
6:48
кого робит моё произношение амбра или амбр это по все видимости простой
6:54
современный серый программист который не знает на самом деле что такое
7:01
Великий астм и он ещё даже блин либо ещё никогда не либо ещё не родился а только
7:11
копошилка своего папы или уже или только ещё писался в свои пелёнки Когда мы уже
7:19
ломали пачками программы при помощи нашей величественной Оли Когда мы уже
7:26
анализировали все исполняемые фа занимались распаковка учили людей
7:32
погружались в этот прекрасный мир улучшали доводили до совершенства строки
7:40
кода выполнения программ писали инструменты писали статьи учебники уроки
7:47
передавая свои знания вас ещё и в помине таких не было и сейчас вы сидите за
7:53
своим Visual c+ или ещ какой-нибудь фиг
7:59
Вы только вы только выпу кались из студенческих лаптей Где вас учили всякой
8:06
херне и вы указываете пальцем вы неправильно произносите слово
8:12
ассамбле вы неправильно ставите ударение я просто саркастически улыбаюсь на эту
8:19
тему с момента зарождения первых компьютеров первой линейки
8:25
x86 мир превратился в мир бесконечных возможностей где технологии стали
8:33
определять всю нашу жизнь и в этой жизни есть язык – Это неправильное
8:41
выражение но пока я его буду использовать который является ключом к
8:46
раскрытию истинного потенциала вычислительной техники и Я вас приветствую на этом пути который
8:54
приводит вас в мир ассемблера x86 тридцати двух битных систем ещё раз
9:03
я буду говорить assem а потом я перейду К определению ASM assembler по своей
9:09
сути определяется как низкоуровневый второго уровня после машинного языка
9:17
язык который понимает компьютер вернее компьютер не понимает ассемблера
9:22
ассемблер стоит лишь на второй ступени после самого машинного языка машина Наш
9:29
компьютер процессор понимает лишь только двоичный код единицы и нули с появлением
9:36
первых компьютеров стал вопрос о том как быстро писать программы Как быстро
9:41
программировать компьютер Потому что раньше это было использовался я ещё застал эти времена когда компьютеры
9:48
программировали при помощи перфокарт это было даже не компьютеры это были просто
9:54
когда же появились компьютеры вот тогда
10:00
потребность в том чтобы был какой-то более-менее приближенный к человеческому
10:06
пониманию язык который позволял бы программисту быстро программировать в
10:11
операционной среде и такой программой транслятором стал
10:17
assem это такая программа которая переводит приближённый к машинному коду
10:24
язык в бинарный машинный код каждый процессор компютера имеет свою
10:30
архитектуру свой набор команд поэтому нет единого ассемблера не существует его
10:37
в природе для каждой линейки для каждой архитектуры процессора компьютера
10:43
существует своя программа транслятора ассемблера это такие амбры как нам какм
10:51
который тоже уже не существует в природе сам синтаксис ассемблера состоит не из
10:57
машинных кодов а из мнемоник или мнемонический кодов иначе которые
11:04
являются наиболее приближённым по своей структуре кодам
11:10
машинного языка мнемоники ассамбле являются полной копией машинной команды
11:16
когда мы пишем на так называемом ассемблер на языке ассемблера на самом
11:22
деле это не язык а это просто лишь очередной какой-то синтаксис ассемблера
11:29
то программа транслятор assem называется assem переводит наши написанные
11:36
мнемоники уже в бинарный машинный код двоичный код который состоит лишь только
11:42
из единиц и нулей иными словами assem – это не само сердце процессора а лишь
11:50
путь который помогает нам даёт прямой Доступ к его сердцу непосредственно к
11:56
самому существу Маши И если мы знаем его мы сможем
12:02
оптимизировать производительность процессора выжать из аппаратного обеспечение всё что только возможно
12:10
никакой другой глобальный язык не предоставляет нам такой возможности
12:17
Поэтому в наших кругах в хакерских кругах нет таких понятий Как
12:25
assem нет такого языка как assem есть одно объединяющее в себя божество астм
12:33
великий и могучий астм который имеет две ипостаси в одной руке у него карающий
12:39
меч который можно использовать как в хороших так и в благих целях а в другой
12:46
руке у него щит который определяет защиту возможность защищать данные
12:53
всяческих враждебных вероломный Атак Как и во всяком тайном знании так и на асме
13:00
есть две противные стороны одна белая другая Тёмная Кто выбирает какую сторону
13:09
решает он сам отныне и впредь я буду уже определять не аем а ам Ну может быть в
13:17
крайнем случае В крайних случаях я так выраж изучение астмы – Это не просто
13:23
освоение его как языка программирования потому что я говорю Это не язык
13:29
и не просто получение какой-то новой перспективы когда Судя по диаграмме
13:35
современности никаких перспектив для программиста блин на асме не существует
13:42
знание асма даёт глубочайшее понимание тому как на самом деле работает
13:49
компьютер Как на самом деле работают программы и более того только он может
13:55
Вас Приве путь хакинга Если вы того желаете Когда вы напишите свои первые
14:03
строки кода на асме вы станете свидетельством волшебства превращения
14:08
сложных инструкций в действие вы испытаете Восторг от создания эффективных алгоритмов которые
14:15
выполняются с молниеносной скоростью и такого и такой эйфории вы не получите
14:22
Когда вы напишете программу допустим на c+ когда я впервые в жизни написал вой
14:29
первый кеген меня [музыка] обуревать я бегал я выбежал на улицу и
14:37
блин просто-напросто пританцовывай что у меня всё получилось
14:43
это было давно-давно давно одним словом Почему происходит такая ситуация в
14:49
современности просто по той самой причине что общество
14:56
обменом на потребителя и поэтому АСН превратился в нечто Тайное
15:03
это инструмент элитный инструмент который не доступен общественности в
15:09
наше время потому что оно просто о нём не знает и оно просто не желает им
15:14
пользоваться потому что для этого нужны мозги для того чтобы использовать азм
15:20
нужно расширенное сознание расширенная а не узко ограниченная Ты должен думать
15:27
как компьютер каждое твоё движение является движением компьютера а для
15:33
этого нужны знания и способности а не просто взять тот же самый питон
15:40
настрочить строку кода и она выполняется у тебя и ты даже знать не знаешь А
15:46
что-то как она выполняется Как что там происходит внутри Пятнадцатилетний пацан
15:52
посмотрел почасовой пятиминутный ролик написал игруху на питоне и уже кричит
15:59
что я Великий программист и он становится величайшим блогером который постит затем блин кучу видеоуроков о
16:07
питоне И это всё кишит и наполняет всю нашу среду среда мельчает она
16:15
деградирует просто до самого ничтожества становится просто обидно когда ты
16:21
смотришь на этих людей которые именуют себя программистами под данным видео
16:27
есть ссылка на мою статью в небезызвестный журнале хакер которая
16:32
полностью раскрывает понятие Чем является assem и его история поэтому по этой
16:41
данной теме больше мы разговаривать не будем Вы можете перейти по ссылке и
16:46
спокойно прочитать статья совершенно бесплатная потому что она семнадцатого года и находится в открытом общем
16:54
доступе А сейчас мы перейдём к знакомству с с масма 32 Итак поговорим
17:01
теперь об истории возникновения и развития пакета масма 32 MASM 32 – Это
17:08
ассемблер для архитектуры линейки процессоров x86 тридцати двух битных
17:14
систем специально разработанный для операционных систем Microsoft wios
17:19
является расширением как Microsoft macro assembler MASM и предоставляет полный
17:26
набор инструментов и библиотеки для программирования на платформе Windows истоки масма восходят к раннему
17:34
периоду развития программирования на разработку масма 32 повлияла потребность
17:40
в эффективности и оптимизированной коде для Windows приложений он был разработан
17:45
группой программистов под руководством нла Хайда который сейчас смотрит на вас
17:51
с экрана ре является извест фигурой в сообществе программистов на языке
17:57
вчитель вклад в развитие этой области впервые он был выпущен в начале
18:02
девяностых годов и с тех пор мам 32 Я имею в виду и с тех пор претерпел
18:08
несколько обновлений и усовершенствований чтобы соответствовать развивающейся современности платформе
18:15
Windows нужно сказать огромную благодарность нужно выразить нлу хайду
18:22
сказать ему большое спасибо за то что он нам предоставил такой великолепный
18:28
инструмент как MASM 32 Основной сайт Ренди Хайда содержит массу полезнейших
18:34
информации для программистов на языке амбра то есть на амикеево как ASM на нём также
18:44
представлен проект High Level assembler и также документация искусства
18:50
программирования на assem несколько упомяну Что такое проект High Level
18:57
assembler Мне не нравится этот проект я совершеннейшей образом его не одобряю не
19:03
поддерживаю и всячески Не рекомендую это попытка сделать гибрид
19:09
это попытка изврат мам 32 это попытка сделать ему ковидную инъекцию чтобы он
19:17
деградировал и превратился в некое подобие глобального языка что совсем не
19:24
является его сутью если мы хотим у нас возникает потребность в глобализации
19:30
какого это либо языка то тогда берите любой глобальный язык и им Пользуйтесь
19:37
не надо
19:43
извращается в виде глобального языка помимо самого создателя масма 32 затем
19:50
появились и другие разработчики которые внесли свой неповторимый Огромный вклад
19:57
в создание сред разработки специально предназначенных для программирования на
20:02
МАЗ 3 2 двумя яркими примерами являются
20:07
такие студии такие среды разработки как Ара ASM и Wi ASM Studio rasm – Это
20:16
популярней среда разработки она разработана не безы известнейших таким
20:22
представителем Ирландец Она известна своей простотой удобством
20:27
из и пользования предоставляет ряд возможностей обличающие работу с мас 32
20:33
подсветка кода управления проектами и возможностью отладки также для неё можно
20:39
писать самому плагины прекрасная среда разработки и Я рекомендую всем желающим
20:46
программировать на асме у Кетти есть и форум блог в поддержку ама так же самое
20:53
у него есть дополнительные инструменты которые он обновлял которые он обновлял
20:59
м и в поддержку этой среды разработки я могу упомянуть что своих истоках с
21:05
появлением данной среды разработки я изначально работал именно на расми ви
21:13
студия вторая или может быть я бы сказал в моём понимании это первая
21:20
интегрированная среда разработки она уже греком антоним класом
21:27
разработана уши интерфейс для программирования Ну естественно включает функции такие как редактирование Кона
21:33
отладка и управление проектами рекомендую именно эти две среды
21:40
разработки больше не надо ничего не отвлекаться ни на какие другие есть все
21:46
возможные ещё потом выходили Edit Visual ass и так далее bu
21:53
и что только ещё не было не надо всё это мусор шлак и всякая хр
21:58
всё две Если вы хотите программировать мам 32 берите любую из этих двух
22:06
возможностей ASM Studio рад ам нельзя не упомянуть ещё одного Великого человека с
22:14
толпа масма 32 это исцелен настоящее имя которого Богдан
22:20
антано он был когда-то Почему был он является он и является до сих пор
22:26
заметной фигурой даже не просто заметный А я всегда обращаюсь к нему С уважением
22:32
и с почтением величайшая фигура в сообществе масма он был известен своими обширными знаниями и опытом в области
22:39
программирования на языке особено собран в контексте программирования под Windows
22:44
многие части пакета масма 32 наполнены его различными функциями помимо
22:51
написания кода для масма 32 влияние исцели развития масма явилась ещ и в том
22:59
как он повлиял в своё время на развитие нашего сообщества на развитие
23:06
хакерское знаний связанных с программированием на масми 32 во многом
23:12
благодаря именно этому имени никто и не знал его настоящее имя как Богдан все
23:18
знали его ник Илион как мой является тем его вклад Именно его вклад помог
23:26
сформировать и поддерживающее сообщество являющееся
23:32
объединением как хакеров так и программистов масми 32 что в дальнейшем
23:38
и способствовало его популяризации развитию и совершенствованию данного
23:44
пакета запомните это имя исцелен и относитесь к нему всегда с почтением и
23:50
уважением есть знаменитые уроки из Леона по Windows 32 когда-то в моё время люди
23:58
зачитывались его уроками и именно из этих уроков узнавали основы постига
24:05
основы программирования в среде Windows ранее наш Мамик назывался как UNIS Met
24:14
assembler Но примерно с девяностого года когда компания Microsoft Представила MASM версии 6.0 название MASM обычно
24:23
теперь у нас ассоциируется с Microsoft macro Мам – это инструмент программирования С
24:30
очень длинной и древней историей который постоянно развивается постоянно
24:36
подчеркну с момента своего первого появления С момента появления его первой
24:41
версии ещё 81 году прошлого века поэтому он
24:47
сохраняет историческую нотацию Intel для написания кода для линейки
24:53
x86 и является промышленным стандартом дефа поскольку долгое время было
25:00
основным средством программирования примерно на мою память где-то с конца
25:06
восьмидесятых годов он был совместим с любым текущим форматом объектных файлов
25:14
Microsoft что делало Асам модули написанные на маске непосредственно
25:19
совместимыми с другими языками Microsoft по состоянию
25:26
наконец пго года к сожалению текущей версией асмра мам является версия 11
25:35
версии 9 и 10 актуальны для операционных систем начиная с Винду седьмой но
25:41
архитектура и формат текущих и последних версий базируется на версии шестёрки
25:48
выпущенной ещё в девяностом году технические данные публико в руководствах к версии шестёрки и к
25:56
последнему отдельному выпуску масма в качестве коммерческого продукта в основном относятся к последним версиям В
26:04
девяносто третьем же году компания Microsoft выпустила версию 611d поддержкой тридцати двух разрядной
26:11
операционной системы Windows это оригинальный assembler Windows 32 и в
26:17
этом выпуске уже поддерживались примеры тридцати двух битного ассемблер кода
26:22
который мог работать на ранних версиях тридцати двух битных Windows нь Подводя
26:30
итог описанию масма 32 его продвигающие личность его основателем и являясь как
26:38
бы так сам я представителем той великолепной золотой эпохи Я могу и
26:45
ответить на вопрос теперь Почему я программирую именно в масми 32 все
26:52
остальные синтаксис появились уже позднее такие как фазм Они не имеют того
26:59
богатейшего опыта Они не имеют тех великих людей которые продвигали и
27:05
продвигают мам 32 Они не имеют такой гибкости такого совершенства такого
27:11
могущества как мам 32 и поэтому я не рекомендую не советую программировать ни
27:18
на каком другом синтаксисе поскольку мас 32 является родоначальником всего то я
27:27
дую не просто рекомендую А я настаиваю на том чтобы программировать именно на
27:34
масми 32 тогда вы встанете в ту же самую
27:40
цепочку вы встанете в тот же ряд на уровень тех величайших людей прошлого и
27:47
мало того что вы встанете в один ряд с ними Но и вы продолжите их путь тем
27:54
самым станет не бесполезным весь свой жиз путь который они совершили и
27:59
подарили нам такой великолепний инструмент не канет в лету А благодаря
28:05
другим поколением будет жить в веках цифрового мира существует ряд мифов о
28:12
асме 32 источниками которых являются Такие типажи как я уже упоминал лохи
28:21
программисты обычные обыватели программисты выпускники различных IT
28:28
технологий и кафедр институтов и университетов первым мифом является что
28:34
мас больше не поддерживается и не направляется компанией Microsoft
28:39
интересная тема об этом мифе никто не сообщил компании Microsoft которая
28:44
поставляет компилятор девятой версии для Windows 7 и версии 10 и1 Для более
28:52
поздних версий Windows в частности для десятки он является компонентом
28:58
коммерческой среды разработки Microsoft Visual C Studio с тех пор как в 2000
29:04
году был выпущен процессорный пакет для Visual studia 98 компания Microsoft
29:11
постоянно обновляет его по мере необходимости отмечая в своих докладах
29:17
что он постоянно разрабатывается начиная с восемьдесят первого года и не требует
29:22
особых изменений кроме периодического обновления с ум изменений операционной
29:28
системе и аппаратном обеспечении обновления все существуют только если
29:33
какие-либо функции Windows обновились и стали другими и больше ничего в нём
29:40
обновлять нечего потому что это ассемблер который работает с языком
29:48
процессора все его мнемоники – это копия машинной команды чтобы его обновлять
29:56
Нужно обновить команды процессора все обновления – Это только обновление
30:02
существующих функций известно что Microsoft использует мас для написания критических частей своих операционных
30:10
систем Поэтому с каждой новой версии операционной системы соответственно
30:16
обновляется и совершенствуется мам 32 фсм ни какой-либо другой а именно мам 32
30:25
второй миф мас создаёт раздутый файлы которые больше чем настоящие
30:37
низкоуровневое Никаким реальным фактам в шестнадцати битном коде мас может
30:43
создавать двухбайтовым файл А в современных тридцати двух битных системах исполняемый файл То есть это
30:50
файл может создавать рабочее окно размером в 1кб что проявляется минимальным размером
31:00
п файла по спецификации большая часть этих басен была придумана в середине
31:05
девяностых годов теми самыми лохами программистами которые никогда не могли
31:10
написать ассамблей конт на Мас Я недавно совсем встречал на
31:17
ютубери который преподавал кстати говоря ассемблер ассемблер Да он преподавал и
31:24
удивлялся А чего это после того как он написал инструкции его исполняемый файл
31:29
вдруг вырос в 1кб представляете себе такое вы представляете он думал что если
31:38
он написал 10 байт каких-либо инструкций то его исполняемый файл должен быть в 10
31:46
байт потому что он потому что он просто обычный серая мышь в
31:52
программировании которая не понимает вообще что собой представляет п файл
31:58
третий миф мас не является настоящим низкоуровневый Асем Но это вот как я не
32:04
понимаю ёжки на коты мас может писать на самом низком из возможных в assem уровне
32:12
с прямыми байтовые последовательностями в секции кода его байты являются блин
32:19
байтами машинного года послед верси ниже масма 32 просто нету ничего есть только
32:27
уже единственный машинный язык он сам является самым
32:33
нижним он второй по величине с низкого уровня последней версии Мамика могут
32:38
писать весь набор инструкций Intel вплоть до инструкций
32:45
sse4 и выше о них я потом расскажу многие путают
32:54
высокоуровневый код Что такое высокоуровневые моделирования это конструкции кода похожие на конструкции
33:04
какого-либо глобального языка Мам – это
33:10
архетипи макро ассемблер для платформы Windows и возможности макросов
33:16
достаточно мощны макросы макросы – Это это блин меч Это Меч масма 32 которого
33:24
нету такого синтаксиса как мам ещ раз вам ответ
33:31
Почему Я на его не я просто отношусь к нему с
33:36
презрительно с пренебрежением фазм это как фу фуфу не надо на нём программировать а в масми у нас это
33:45
фундамент у него макросов которые позволяют эмулировать многие формы конструкций более высокого уровня
33:51
следующий чет мифик бытующий что Это только вспомогательное средство
33:58
для программирования на языке си похоже никто и не сказал это сотня тысячам
34:05
программистов которые работают с амиком которые делают прекрасные исполняемые
34:10
программы и динамической библиотеки для 32 битной системы Windows в тридцати двух битной системе Windows MASM создаёт
34:18
идентичный ков файл То есть это файлы общего формата объектных файлов что и
34:25
Microsoft Visual поэтому объектные модули написанные как на масми так и на
34:31
Visual c+ взаимозаменяемы мы можем на масми
34:37
написать объектный модуль на языке Microsoft C и использовать его в нашем
34:43
приложении в ассамбле нашем маском приложении точно так же как и наоборот мы можем написать объектный модуль на
34:50
Мас мы использовать его Visual C отличие мам в том что он Достаточно мощный чтобы
34:56
использовать компилятор си как дополнение к программированию на ассемблере пятое мас модифицирует ваш
35:03
код при сборке хрень полная Обратитесь к моим урокам Где мы программируем Где мы
35:11
собираем свои программы что вы пишите то и получаете в мам Какую строчку кода вы
35:17
напишите такую вы её и получите Если вы используете Некоторые из наиболее
35:23
распространённых возможностей более высокого уровня ма вы получаете тот
35:28
формат для создания которого он был написан То есть это такие макро средства
35:34
как организация всевозможных циклов for while м If else и так далее И это
35:41
относится также и к использованию стекового фрейма для процедур и таких
35:46
характеристик как расширение длины перехода если переход находится слишком далеко от метки То есть это прыжки в
35:53
обоих случаях у нас есть возможность изменить это мы можем отключить решение
35:59
шка Если хотим и указать диапазон прыжков с помощью директив Shot или N В
36:06
процедуре где не нужен стековый фрейм используется стандартный синтаксис ма
36:12
Для отключения стекового фрейма и его повторного включения после завершения процедуры этот приём обычно используется
36:19
при написании многократно используемого кода для библиотек где требуется дополнительный регистр или где накладные
36:25
расходы на могут несколько замедлить выполнение процедуры тут речь я веду о том о
36:32
стандартном входе в процедуру о сохранении её регистров для доступа к
36:38
локальным э переменным и для доступа к параметром входящим можно делать и так
36:45
что это всё исключается из процедуры всё это можно узнать из моих выпусках шестой
36:53
миф о масми 32 код слишком сложен для начинающего пользователя ха-ха я могу
37:00
сказать так могут говорить только те которые поддерживают другие осни не
37:06
обладающие нашими возможностями возможностями масми по разбору кода мас
37:12
может использоваться для написания как от очень простого кода так до
37:17
чрезвычайно сложного Всё зависит от уровня знаний это касается и любого
37:23
другого языка Разница в том что он Достаточно мощный чтобы делать И то и
37:29
другое без уродливого и сложного синтаксиса некоторых других фамос
37:36
типичных ассем не обладающих способностью к разбору кода как мазм в
37:42
отличие от некоторых менее мощных ассем Веров мам использует историческую
37:48
нотацию Intel это вот как раз-таки речь о наме при использовании таких ключевых
37:54
слов допустим нотация Intel используется при таких ключевых слов как осет
38:01
поскольку Это позволяет правильно различать фиксированный адрес внутри
38:07
исполняемого образа файла и сте переменную которая создаётся во время выполнения процедуре при её вызове когда
38:15
же мам требует операторы типа [музыка]
38:21
by это делается для того чтобы отличить двусмысленные обозначений когда размер
38:28
данных не может быть определён Никаким другим способом седьмой и последний миф
38:34
что мам в действительности является компилятором Поскольку имеет код
38:39
высокого уровня мам способен писать множество обычных высокоуровневый
38:45
конструкций таких как структуры такие как объединения такие как указатели и
38:53
процедуры высокого уровня которые имеют как проверку размера параметра так и
38:58
проверку количества входящих параметров но разница опять же таки в том что мас
39:05
Достаточно мощный чтобы делать это там где многие другие ни хрену чки не могут
39:11
В то время как вы можете писать ненадёжный неподдающийся отладке код как
39:16
это делают некоторые другие ассемблера с мамы У нас есть Всегда выбор писать
39:21
высоко надёжный код который подвергается проверке типов настоящая же проблема
39:28
заключается лишь в том что такие возможности технически трудно
39:33
просто-напросто записать в программу А И хотя некоторые авторы других ассамбле
39:40
являются очень высоко квалифицированы программистами у отдельного у одного
39:46
отдельного человека как единицы нет таких ресурсов продолжительно или возможно крупной корпорации такой
39:55
которая жи мам на протяжении я вам подчерк более 30 лет более 30 лет мас
40:03
продвигается и поддерживается Существует множество причин по которым опытные
40:09
программисты предпочитают писать код на амре или на асме я опять-таки повторюсь
40:14
ам Великий Мам можно упомянуть такого Великого человека в c+ как агр арф пишет
40:23
множество функций на аме как раз таки по причинам высокой производительности он
40:29
перерабатывает множество сиш их функций именно в новой амов ский код именно По
40:36
той простой причине что функции библиотеки c+ написанные на сижки не
40:42
соответствуют оптимизации для компьютера а здесь нужна скорость архитектурная
40:48
Свобода позволяющая компоновать код любым удобным способом возможно сделать то что вообще невозможно сделать вам
40:56
многих компилятора но главная причина заключается в том что это просто невозможно невозможно на других языках
41:03
высокого уровня сделать то что возможно нам сделать на асме с появлением
41:09
тридцати двух разрядных функций Windows AP мам получил доступ к тем же функциям
41:15
что и компиляторы из операционной системы но без беспорядка и без
41:21
допущений свойственных многим компилятором когда мы пишем код Windows IP в масми
41:26
то мы получаем идеально понятный код минимальной точности использующий всю
41:33
мощь операционной системой системы Windows и её набора функций на
41:40
различных уровнях доступа и получаете его в том объёме кода который вы пишете
41:48
код не будет ни больше ни меньше того что вы напишите и без всякой кучи
41:54
ненужного хлама ненужно доний вбрасывает в ваш исполняемый файл такими
42:00
компилятора как сиш даже с включёнными шкин код оптимизатора Как дефи как Что у
42:09
нас там ещё CP программа написа на питоне это особый
42:14
случай это вообще Ой извиняюсь ма никогда не был предназначен для лахов
42:21
это бескомпромиссный инструмент который никогда не превращался ВБ игрушку для
42:27
пользователя никакой никакой обыватель простой не может им пользоваться для его
42:34
правильного использования требуется накопить гигантский опыт Но для программиста уже имеющего опыт работы с
42:41
низким уровнем с низкоуровневый кодом допустим и на языке си и ему подобными
42:48
мам предлагает всю мощь и гибкость которые не могут обеспечить лучшие
42:54
компиляторы И вопреки распространённому мнению его можно разработать и написать
42:59
то есть код примерно за то же время что и код на языке C + мам легко справляется
43:06
со структурами в системе СИ как и с рядом других знакомых конструкций высокого уровня Мам – это предел
43:14
возможностей и Хотя Существует множество задач для написания которых не стоит прилагать усилий Но если нам нужно
43:22
добиться скорости определённого процесса в приложении Мам – это именно тот
43:27
инструмент который может создать любой алгоритм о котором мы имеем достаточно
43:34
представления и знания чтобы его написать знание знание нужно знание
43:40
поэтому Мам не для этих программистов заполнившие просторы юту это технически
43:49
сложный инструмент Если вы к этому не готовы вам это не нужно это тот
43:55
инструмент который требует хорошее знание операционной системы и доступных
44:00
мнемоник поддерживаемых процессор и он именно он мам передаёт окончательный
44:07
контроль над алгоритмом выполнения над алгоритмом выполнения который выполняет
44:12
процессор именно в руки программиста он даёт ему власть тот кто использует мам
44:19
32 имеет власть над процессором а тот кто пишет на глобальном языке является
44:26
глобального языка он ничерта не управляет процессором программистом
44:32
управляет закон синтаксиса данного глобального языка над ним стоит предел
44:38
синтаксиса глобального языка выше которого он ни хрена прыгнуть не может
44:45
без знания асма без знания масма 32 невозможно стать хакером Если вы ВС ещ
44:52
мечтаете о тех о этих высоких уровнях то вам нужно встать на путь астмы Кто такой
45:00
хакер Это не просто взломщик это не кряке какой-то как раньше пытались это
45:07
изврат первые хакеры увидели красоту и стройность таких традиционных сухих наук
45:14
как математика и электроника они считали программирование формой художественного
45:20
самовыражения а компьютер лишь его инструментом В желании понять как всё уе
45:26
не цели сорвать мистические покровы с творчества Это всего лишь способ
45:32
досконально разобраться в предмете в конечном сч именно таки нно направленные
45:37
на получение знани впоследствии назвали этикой хакеров понимание логики как
45:44
формы искусства и свободное распространение информации устранение традиционных ограничений ради лучшего
45:51
понимания окружающего мира новаторством это не было но похожие этические
45:57
принципы и субкультура существовали ещ в Древней Греции у пифагорейцев Хотя
46:03
компьютеров тогда ещё вообще и помине естественно не было именно пифагорейцы
46:08
увидели красоту математики и открыли множество базовых понятий геометрии проявление такой жажды знаний и её
46:16
побочные результаты можно наблюдать на всм протяжении истории отцев до
46:24
а жены программиста Алана Тюрин и также прочертить этот путь до самых первых
46:33
истоки хакерства такие современные хакеры как Ричард столлман и Стив Возняк
46:39
продолжили хакерские традиции и подарили нам операционные системы языки
46:44
программирования персональные компьютеры И множество других технологий ставших
46:49
частью вашей же повседневной жизни словом хакер называют как тех кто пишет
46:56
код так и тех кто кто эксплуатирует его уязвимости две стороны медали несмотря
47:04
на разницу конечных целей представители обеих групп пользуются сходными техниками для решения задач понимание
47:11
принципов программирования помогает находить уязвимости а навыки обнаружения
47:16
уязвимостей в свою очередь помогают при написании программ поэтому многие хакеры
47:22
занимаются тем и другим одновременно это Вот как я интересные нестандартные ходы
47:29
обнаруживаются как в технике написания элегантных программ к чему я всегда и
47:37
подвожу слушателей Пытаюсь научить так и в технике поиска в них в программах
47:44
слабых мест английское слово хакин означает обнаружение искусного и не
47:50
очевидного решения задач Вот кто такой
47:56
хакер чтобы решить какую-либо задачу можно написать бесконечное множество
48:01
программ Но по большей части они будут не оправданы [музыка]
48:09
громовский эффективные и хорошо продуманные решения встречаются не так
48:15
часто о таких программах говорят что они элегантные элегантность А искусные и
48:23
оригинальные решения обеспечивающие их эффективность принято называть словом не
48:28
имеющим адекватного аналога в русском языке хакс хакс Все хакеры ценят и
48:35
красоту элегантного кода и досконально продуманные приёмы обеспечивающие эту
48:42
элегантность искусство Я всегда напоминаю и повторяю и говорю и продвигаю ам – это искусство астм – это
48:51
творчество это гениальность своего рода Однако Как это не печально современный
48:59
деловой мир вернее в современном как мне хочется
49:14
выругалась и продуманность рост вычислительных мощностей компьютерной
49:20
памяти вся современное развитие гаджетов и технологий привело к тому что то для
49:26
бизнеса представляется бессмысленным тратить время на написание кода который
49:31
чуть быстрее работает и более эффективно использует память Нахрена ему эти чуть
49:36
быстрее когда процессоры могут обрабатывать терабайты
49:41
памяти им наплевать на это как элегантно вы напишите код им Главное чтобы ваша
49:49
игруха принесла как можно больше денег большинство как я говорил программ
49:55
предназначены для современных компьютеров современные компьютеры имеют тактовую
50:02
частоту гигагерц и гигабайт оперативной памяти новые конструктивные
50:08
характеристики это то что можно выгодно продать В то время как оптимизацию времени и работы и использования памяти
50:16
заметят только самые не искушённый пользователи кто это заметит из обычного
50:22
обывателя с финансовой точки зрения бессмысленно тратить время на поисков приёмов оптимизации и с финансовой же
50:28
точки зрения бессмысленно тратить время на обучение человека с нуля до
50:34
степени квалифицированного программиста на масми когда за кратчайший срок можно
50:42
из полного тупого ученика сделать отличного программиста на PHP или на
50:50
питоне Так что реально элегантное программирование только ценят то мы
50:56
хакеры то есть люди те люди увлечённый компьютерами и стремящиеся не к прибыли
51:03
а к тому чтобы выжить из своего компьютера всё возможное А ещё те кто
51:08
пишет код эксплуатирующий уязвимости это вот эти маленькие восхитительные
51:15
прекраснейшие маленькие программки инструменти утилит способные просочиться
51:22
через крохотные цели в системах за это наши любименький инфек это наши сни
51:31
Геры это наши инжекторы и ещё простые люди предпочитающие для каждой задачи
51:39
искать наилучшее из возможных решений ещё те Кто обожает программировать и
51:46
по-настоящему ценит красоту красоту элегантного кода и оригинальность
51:52
используемых в м примов Великий путь хакинга связан как с
51:58
апом так и с ещё одним нашим божеством
52:03
это Олли Великая богиня хакинга мать и родоначальника всех остальных
52:10
последующих после неё к ней нужно относиться с почтением когда я вижу вот
52:17
эту красненькую кляксой столе мне хочется протянуть руку
52:24
и обнять её за талию это любимица это просто напросто самая величайшая в своём
52:33
роде это целая Эпоха молодое поколение начинающих хакеров пла говела перед ней
52:41
и стремилось узнать у старшего поколения Как завоевать покровительство этой
52:47
величайшей богини хакинга Олю нельзя не любить её нельзя не воспевать допустим
52:53
есть существует такой сейчас в современности другой инструмент – это
52:59
X64 отладчик или X6 или илак Да это уже сын её сын этой богини
53:09
он пацан он как пацан он холоден и
53:21
отрешённый своим почитателям и поэтому когда ты с
53:26
ней работаешь и она чувствует твоё к ней отношение то тогда она ведёт тебя за
53:33
руку и она тебе открывает все пути А если наоборот ты какой-либо профан она
53:39
закрывается и не даёт тебе того знания которое она хранит в своём сердце и
53:47
когда на просторах юба я слышу в стримингах как современный программист
53:52
называет Оли дбг не хочется протянуть руку за экран схватить его за гриву и
53:59
просто-напросто за эти оскверняет ему голову о клавиатуру
54:06
нельзя так с ней относиться нужно её уважать и почитать Оля останется в
54:12
вечности истории хакинга и это говорю вам я для кого она открыла свои секреты
54:21
я который на когда-то изве русскоязычном ресурсе для хакеров лап
54:29
ещё прежде этого он назывался как кла как мы видим ещё в 2008 году я вёл
54:37
форум рассказывая и посвящая новичков вступивших на мир хакинга в секреты и
54:43
таинства нашей любимой Оли я печатал и выпускал статьи которые потом позже
54:51
переписывались [музыка]
54:59
перекачивать в электронные учебники если в зарубежных источниках воспевал и
55:05
продвигал Олю это испанец Рикардо рва то на наших русскоязычных ресурсах её
55:13
поэтом был именно я к сожалению по истечении большого уже срока времени
55:20
большинство ресурсов К сожалению утеряны потому что я их сам лично для себя не
55:26
сохранял всё что мне удалось найти – это некоторые старые крупицы из стародавних
55:35
архивов если у моих слушателей возникнет интерес всему что касается Оли то тогда
55:42
я могу сделать специальный отдельный курс который будет рассказывать о всех
55:49
её возможностях исходя из всего вышесказанного отпадает сам по себе
55:57
ответ на поставленные вопросы почему я работаю и веду уроки в мам 32 осталось
56:06
ответить на следующий вопрос что предпочтительное мам 32 или мам
56:11
64 тот и другой – это ассемблера используемые для программирования процессоров линейки
56:18
x86 Что можно сказать о ма 2 он как я
56:23
уже упоминал специально разработан для тридцати двух разрядных систем Что
56:29
обеспечивает отличную совместимость с устаревшими системами и устаревшими программами использующими
56:35
тридцати двух разрядную архитектуру поэтому мас 32 предполагает даёт нам
56:41
возможность и вероятность что наши программы будут работать и на более новых системах или наоборот программа
56:49
написанная на масми 32 в более устаревшей версии компьютера э вернее
56:55
операционной системы с успехом будет работать на нашей современной Windows
57:01
MASM 32 представляет собой упрощённую среду разработки для начинающих разработчиков
57:08
и те и тех кто предпочитает простую настройку он обладает удобным интерфейсом и полным набором
57:15
инструментов на тридцати двух разрядном ассемблере эффективность кода позволяет
57:22
нам писать высоко оптимизированный код именно для тридцати двух разрядных
57:27
систем широкий набор инструкций и широкий набор функций которые предоставляют намм управление памятью
57:34
точный контрольно процессором и оптимизацию производительности всё тоже последнее можно сказать и о масми 64 но
57:42
разница в чём шестьдесят четырёхразрядного
57:51
[музыка] возможности восьми
57:58
байтовый Что даёт нам увеличенную адресацию памяти повышая
58:05
производительность за счёт чего за счёт увеличения параллелизма то есть параллельных выполняемых задач и
58:12
уменьшение количества обращений к памяти потому что нам не нужно создавать дополнительные переменные которые
58:18
требуются нам в тридцати двух разрядной версии Когда нам не хватает регистров и нам приходится давать отдельные
58:25
переменные в памяти Также поддерживаются расширенные наборы инструкций такие как
58:31
sse это набор инструкций представленных компанией Intel В девяносто дем году в
58:37
процессоре Pentium 3 предназначены они для повышения производительности
58:43
мультимедийных и других приложений интенсивно использующих данные за счёт возможности параллельной обработки
58:50
нескольких элементов данных Дан инструкция упакованными и
58:56
скалярными значениями с плавающей точкой одинарной точности расположенными в
59:02
регистрах xmm данные инструкции оперируют с вещественными числами но
59:08
тоже самое можно сказать и о масми 32 мас 32 также работает со всеми этими
59:16
наборами инструкций соответственно большая часть
59:22
преимущества мама 64 этом разделе пропадает далее мам 32 универсален
59:30
программа написанная для че разрядная архитектура будет работать только на ней
59:35
только на чех битке мам 32 даёт нам универсальную программу которая работает
59:42
как и в среде тридцати двух битной так и в среде шестидесятых битной винха 64
59:48
имеет два ядра одно родное своё чех битное другое виртуальное двух битная
59:55
что которая позволяет в среде Windows 64 запускать любую программу которая работает на с
1:00:03
тридцати двух битным регистрами поэтому любая программа в тридцати двух битной версии работает на обоих версиях Windows
1:00:11
как на тридцати двух битной так и на шестидесяти четырёх битной шестидесятых
1:00:17
битная Однако не будет работать на другой операционной системе которая не
1:00:23
поддерживает шестидесяти четырёх битные регистры Далее в хакинг По большей части
1:00:30
специальные эти инструменти хитрые и пронырливый представляется крайне сложным написать
1:00:37
на шестидесяти четырёх битной версии всё преимущество шестидесяти четырёх битных
1:00:42
программ нацелено лишь на те приложения которые выполняют видео потоки То есть
1:00:49
это все графические приложения и также самое первое поскольку у нас коммерции
1:00:55
всё нацелено на то чтобы захватить пользователя в свои игровые ловушки игры
1:01:02
и пишутся в шестидесяти тых битной версии MASM assembler не предназначен
1:01:08
для написания игр он не предназначен для выполнения каких-то пользовательских
1:01:15
графических программ ему это вообще не на не нужно и его прерогатива совершенно
1:01:21
другая поэтому не надо с моей точки зрения тратить время на изучение на
1:01:27
полное изучение и на полное переход на мам 64 всё что нужно лишь это только
1:01:35
быть знакомым с работой регистров восьми байтовый и всё только
1:01:41
стой лишь целью опять-таки хакинга изучения чтобы Мы понимали когда мы
1:01:47
заглядываем в нутро шестидесятых битные программы чтобы Мы понимали и также с лёгкостью могли прочитать её код как это
1:01:54
тридцати двух битный вот и всё А программировать в масми на чех битном не
1:02:01
Я не считаю нужным и не считаю полезным моя программа как она писалась в 2000х
1:02:08
годах она также легко запускается на моей современной десятке которая
1:02:13
является шестидесяти четырёх битной системой Если бы я в те года и существу
1:02:18
существовала бы такая версия возможность Да если бы история шла наоборот допустим
1:02:25
были бы шестидесяти битки а потом у нас появилась бы тридцати двух битка Если бы я тогда писал на шестидесяти чех то
1:02:33
сейчас моя бы программа не запустилась в тридцати двух битной среде всё и в заключительной части я отсылаю вас
1:02:40
опять-таки посылке к содержанию моей бесплатной статьи в журнале хакер которая полностью
1:02:48
уже вводит начинающего понимание что такое assembler поэтому мне здесь больше
1:02:55
рассказывать вам нечего Но на этом всё не заканчивается навыки которые вы получите
1:03:03
при изучении ама откроют перед вами двери в мир необычайных возможностей от
1:03:10
разработки начиная операционных систем до кибербезопасности И самое главное до
1:03:17
реверс инженери как это по современному до хакинга до пути в элиту азм – это
1:03:25
Элита это как элитарный Спецназ в который двери для любого желающего не
1:03:33
открываются только для тех кто стучит стучит и стучит и только тогда они для
1:03:39
него откроются готовы ли вы отправиться в это захватывающее путешествие готовы
1:03:44
ли вы бросить вызов самому себе и раскрыть истинную красоту и элегантность
1:03:51
кода всё находится в ваших руках Сможете ли вы получить силу и могущество когда
1:03:57
начинайте своё путешествие сегодня и пусть мир асма откроет вам свои секреты
1:04:05
примите силу низкоуровневого программирования и наблюдайте как ваши
1:04:10
навыки достигают заоблачных
1:04:16
высот