С демосценой я познакомился примерно 25 лет назад (или чуть больше). Но тогда это выражалось лишь в просмотре 128–256-байтовых интро (и демок, конечно же) с изумлением а‑ля: «А что так можно было?» Думаю, у многих знакомство с этой киберкультурой начинается похожим образом :). Если вам эти слова мало о чём говорят, почитайте о демосцене скудную статью на Вики, ну и/или послушайте подкаст, а также посмотрите что люди умудряются сделать, укладываясь всего лишь, например, в 256 байт кода (справа у большинства работ есть ссылка на видео YouTube).
Полноценные интро на любимом ассемблере x86 я начал писать только 5 лет назад, в 2018 году. Именно тогда я отправил на знаменитый фестиваль Chaos Constructions (который, кстати, организаторы обещают возродить в 2024) два прода (от слова «production»): 256b intro StarLine (заняла 1-е место) и 64b intro radar (заняла 6-е место в том же compo). После этого демосцена меня засосала стала частью моей жизни, в которую время от времени я с энтузиазмом погружаюсь.
Запуск лошади с буксира или что тут происходит???
Пусть вас не смущает, что разбор я начал с работы, занявшей шестое место, а не первое. Такой выбор обусловлен тем, что её код более простой и короткий. Вместе с тем, там не так уж и мало трюков, с которыми начинающему (а может, и не только) самураю демосцены может быть интересно познакомиться. Так что не надейтесь на лёгкое расслабляющее чтиво 🙂
Погнали!
Давайте не будем тянуть кота за. усы, и посмотрим на код (качайте fasm 1).
Здесь приведён чуть‑чуть модифицированный код (две инструкции fild + fmulp заменены на аналогичную одну fimul , в результате чего бинарь сократился до 61 байта вместо исходных 63-х).
Начну с того, что мы создаём программу в формате COM под DOS, поэтому при старте почти всегда (за исключением случаев запуска в экзотических типах/версиях DOS) регистры имеют следующие значения:
- AX = BX = 0 (если в командной строке нет параметров с некорректным именем диска);
- CX = 0FFh;
- DX = CS = DS = ES = SS;
- SI = 100h;
- DI = SP = 0FFFEh (в некоторых экзотических случаях SP, но не DI, может быть равно 0FFFCh, но лично мне такого не встречалось);
- BP=9??h (как правило даже 91?h, где «?» зависит от типа/версии DOS);
- сброшены основные арифметические флаги (ZF, CF, SF, OF, PF, AF), а также DF (как после cld ); флаг IF установлен (как после sti ), т. е. прерывания разрешены.
Вы можете почитать об этом здесь. Сайзкодеры (люди, занимающиеся жёсткой оптимизацией кода по размеру исполняемого файла) очень часто используют эти значения.
Первое, что мы делаем — устанавливаем графический видеорежим 13h (320×200, 256 цветов), наиболее популярный в демосцене под DOS, поскольку каждый пиксель кодируется одним байтом, а весь экран (имеющий размер 64 000 байт) помещается в 64 КБ сегмент. И уже здесь мы используем наши сакральные знания о том, что на старте AH = 0, поэтому просто записываем номер видеорежима в AL и вызываем int 10h . Вжух — графический режим установлен!
твою мать, что у вас здесь происходит
Видеопамять отображается на сегмент 0A000h, поэтому для доступа к пикселям нам нужно записать это значение в какой‑то из сегментных регистров. Ну. или примерно такое значение. В смысле, примерно? Инструкция lds ax,[bx] загружает в пару регистров DS:AX значение dword по адресу BX. А что у нас по этому адресу (по адресу DS:0)?
PSP, первое слово которого содержит значение 20CDh (опкод int 20h ) — оно идёт лесом в AX (нам оно не нужно), а второе — сегмент за областью нашей программы. Так как COM‑программе отводится вся доступная память, то здесь будет значение 9FFFh, которое отправится в регистр DS (а в этом 16-байтовом блоке располагается инфа о том, что память закончилась. помните: «640 КБ хватит всем»?) В некоторых типах DOS такой блок отсутствует, и там записано 0A000h.
Другие некоторые DOS резервируют несколько килобайт, и там может быть, скажем, 9F80h. Уф! Да, это немного опасный трюк, так как в последних 2-х случаях картинка поедет. Но он довольно популярен среди интро на 32 или 64 байта. Скажу по секрету (только никому!), интро немного заточено под DOSBox, а там всё будет ровно :).
Теперь, имея в DS значение сегмента 9FFFh вместо 0A000h, нам нужно будет просто добавлять к адресу (смещению) значение 10h ( video_shift ), и всё будет работать так, как при DS = 0A000h. Вообще говоря, поскольку мне удалось сократить размер интро на пару байт (см. примечание после кода), и до предела в 64 байта есть целый мир аж 3 байта, мы могли бы заменить lds на пару push 0A000h + pop ds . Но не спешите радоваться. О причинах возможной печали я расскажу через абзац (и да, про fild qword [si] + fptan я тоже не забыл).
Не помню, что мотивировало меня разместить блок «Fadeout» перед основных блоком рисования «Radar», потому что сейчас, глядя на это безобразие, я не вижу особых на то поводов. Обычно в таких случаях говорят, что так сложилось по историческим причинам. Ну а раз так, то и об этом я расскажу немного позже, поскольку для объяснения даже такого небольшого куска кода нужно понимать, что (какая картинка) у нас поступает на вход цикла.
Кручу-верчу, запутать хочу
Записываем в CX радиус радара в пикселях: radar_radius = 64 (вернее, в CL, мы же знаем, что на старте CH = 0). Дублируем ST0 с помощью fld st . Стоп! А что у нас в ST0? Вернёмся в началу кода и посмотрим на инструкцию fild qword [si] , которая загружает в ST0 значение qword из памяти по адресу SI = 100h. По адресу DS(CS):100h у нас начинается наш код (это же бубль-гум точка входа). А именно следующий блок:
mov al,13h int 10h fild qword [si] lds ax,[bx]
Эти 4 инструкции занимают ровно 8 байт (по 2 каждая), которые и загружаются в ST0. WTF? Да, бро, мы используем наш код как данные (вполне нормальная тема для сайзкодинга, привыкайте). Вот этот qword: 2CDF10CD13B0h. Отладкой выясняем, что мы загрузили число ≈ 5.599E+17. Красивое!
А дальше следите за руками: после lds у нас идёт fptan (тут вы его не видите, но он есть). Который преобразует наше число в пару: 1.0 (в ST0) и ≈ 0.0294 (в ST1). It’s a magic! Учите матчасть.
Первым числом (1.0) будет исходный/текущий угол расположения стрелки радара (нас устроит любое значение, мы не гордые), а вторым (0.0294) — приращение угла в радианах после каждой отрисовки кадра (1.684 градуса, тоже норм). Так вот, если бы вместо lds у нас было что‑то другое, это не сработало бы, так как qword был бы другим, и значение приращения угла было бы непонятно каким. Однако британские учёные обнаружили, что если очень хочется сделать всё по науке (DS = $A000), то сделав финт ушами переставив некоторые инструкции, результат будет примерно таким же:
fild qword [si] mov al,13h push 0A000h fptan int 10h pop ds
Эта конструкция занимает на 2 байта больше и даёт нам значения 1.0 и ≈ 0.0337, которые нас вполне удовлетворяют (а если не видно разницы, зачем платить больше? Ну разве что в некоторых версиях DOS картинка не поедет, но тогда нужно выставить video_shift = 0 ). Вообще, сейчас я бы так и сделал, поскольку результат в 63 байта, как вы понимаете, не превышает 64-х байтов, но мне же нужно было познакомить вас с трюком с lds .
Как я догадался о том, что вот это всё так сработает и даст нужные значения? Ответ прост: мне очень хотелось, чтобы так случилось :))). А дальше методом экспериментов: перестановок инструкций, перебора типов ( fld , fild ) и размеров загружаемого значения (dword, qword, tbyte) и веря в успех, я нашёл нужную комбинацию (не просто же так fild стоит в таком странном месте). Ну и. magic, конечно же! Если вы думаете, что я шучу, то мне придётся вас разочаровать: sizecoding иногда требует и не таких экспериментов.
Ладно, вернёмся к нашему стаду коду. После дублирования ST0 у нас в стеке FPU наблюдается такой ряд чисел (от ST0 до ST2): 1.0 (angle), 1.0 (angle), 0.0294 (delta). Следующая инструкция fsincos вычисляет синус и косинус от ST0 (в первом кадре — от 1.0), записывая результат в ST1 и ST0 соответственно: 0.54 (cos), 0.841 (sin), 1.0, 0.294 (см. картинку выше).
По адресу DS:DI мы записываем значение CX (радиус). Напомню, что DS = 9FFFh, DI = 0 (после цикла «Fadeout», см. ниже), а значит мы пишем в невидимую область около видеопамяти — это будет наша временная переменная (назовём её temp ). Инструкцией fimul word [di] умножаем ST0 = 0.54 (косинус угла, изначально равного 1.0) на целое число temp , т. е. на CX, записывая результат обратно в ST0.
Таким образом, мы получаем координату X (для первой итерации цикла CX первого кадра: round(64 * 0.54) = 35). Записываем её обратно в temp ( fistp word [di] ), удаляя из ST0, и оттуда загружаем в AX (да, обмен значениями с FPU возможен только через память, это печально). Меняем местами AX и BX (зачем — будет понятно позже).
Записью в порт 61h ( out 61h,al ) выводим звук (лёгкое потрескивание. слышите?). Да, этот странный интересный звук генерирует одна 2-байтовая инструкция. Иногда её размещение в разных рандомных местах даёт вполне интересный аудиоэффект (хотя нередко получается лютый трэш, который только убивает всё впечатление от интро). Пользуйтесь, без регистрации и СМС.
Самое сложное позади. Можно выдохнуть, выпить чашечку чая или кофе. А пока вы греете чайник, я буду развлекать вас новыми картинками.
Пора брать холст, палитру и кисть
Палитра уже есть. Кисти рук — тоже. В качестве холста будет видеопамять. Так что, дело за малым. Но сперва несколько слов об организации этой самой видеопамяти (если вдруг кто не знает).
Первый байт задаёт цвет самого левого верхнего пикселя на основании палитры, далее двигаемся вправо до конца строки (до байта с индексом 319, если считать с 0). Байт с индексом 320 — левый пиксель второй строки, 63 999-й — правый нижний. т. е. мы двигаемся слева направо и сверху вниз.
Итак, алгоритм рисования радара:
- FPU стек: angle , delta .
- radius = 64 .
- Вычисляем синус и косинус, сохраняя угол: cos(angle) , sin(angle) , angle , delta .
- Умножаем: X = cos(a) * radius ; Y = sin(a) * radius .
- Если radius and 15 == 0 (можно читать как radius % 16 == 0 ), color = circles_color , иначе color = arrow_color .
- Выводим точку цветом color по координатам X , Y .
- if (—radius > 0) goto 2 .
Всё просто, не так ли? :))
Внесите занавес!
Я обещал рассказать про «Fadeout». Пацан сказал — пацан сделал.
Странная на первый взгляд конструкция add [di],dh + sbb [di],dh производит эффект «затухания» стрелки до цвета фона, оставляя белый шлейф. Работает это следующим образом: если цвет больше, чем not DH ( not 0EEh = 11h = radbg_color ), он уменьшается на 1, иначе он не меняется. Если посмотреть на палитру цветов, то видно, что от 21h до 11h цвета меняются от синего резко к белому и далее плавно к тёмно‑серому (стрелка — шлейф — фон).
Объясняю медленно. Сначала add добавляет к цвету значение 0EEh, а sbb , внезапно, это значение вычитает, вычитая ещё и значение флага CF. Нас интересуют исходные значения 11h и больше него (например, 12h).
- Ситуация № 1: 11h + 0EEh = 0FFh, переноса не было, CF = 0, далее: 0FFh – 0EEh – CF(0) = 11h. Я не обманул, значение не изменилось.
- Ситуация № 2: 12h + 0EEh = 0, произошёл перенос, CF = 1, далее: 0 – 0EEh – CF(1) = 11h. Значение уменьшилось на 1.
Теперь понимаете, почему цвет arrow_color = 21h должен быть больше, чем radbg_color = 11h (подсказка: иначе стрелка не будет гаснуть) , а circles_color = 2 — меньше (подсказка: иначе кольца тоже будут гаснуть) ?
Снова magic! Хотите ещё фокусов? Их есть у меня!
Кстати, если при воспроизведении интро у вас возникает ощущение, что кто‑то впустил сюда мух, знайте: мерцающие точки в рандомных местах экрана — это результат работы этого цикла, когда значение уже увеличилось и попало на дисплей, не успев уменьшиться. Вы спросите: «Это баг или фича?» Разумеется, это специально задуманный эффект, а как же иначе?! :))
Выход без цыганочки
Стоит отдельно обратить внимание на закомментированную концовку:
; in al,60h ; dec ax ; jnz .repeat ; ret
Это стандартная конструкция выхода из интро (к сожалению, с ней размер интро будет = 65 байтам, а это фейл). Читаем байт из порта клавиатуры 60h. Полученное значение хранит скан‑код последней нажатой клавиши. Если это значение = 1, значит мы удерживаем клавишу Esc.
Значение AH = 0 (у нас радиус значительно меньше 256, так что тут без вариантов), поэтому dec ax при нажатии на Esc установит флаг ZF = 0 (как и значение AX). Ну и дальше, думаю, всё понятно. Инструкция ret осуществляет выход, поскольку при старте программы в стеке всегда лежит 0 (это даже задокументировано, в отличие от значений большинства регистров), а что по адресу CS:0, помните? Правильно, PSP, первое слово которого содержит инструкцию int 20h — завершение программы. Если по чесноку, то в данном случае затея хороша только при запуске из-под DOSBox, так как если мы пишем в сегмент 9FFFh, мы затираем системные данные с информацией о структуре памяти — это может привести к неопределённому поведению (как говорят любители и профессионалы языка C).
Выше я писал, что интро немного заточено под DOSBox. Так вот, второй момент заточки заключается в том, что в программе нет задержки, и при запуске на реальном железе радар взлетит, унеся с собой монитор (зачем вот это?) На этот счёт есть ещё один трюк (нет, не привязать монитор верёвками) . Можно сделать задержку с помощью однобайтовой инструкции hlt (разместив её перед jmp .repeat ), которая будет ожидать любого аппаратного прерывания.
Обычно «любое аппаратное прерывание» — это прерывание от таймера (int 8), которое возникает каждые 55 миллисекунд. Если только вы или ваш кот не решите плясать на клавиатуре (в этом случае, пока клавиатура не сломается, будет возникать ещё и int 9). Однако для данного интро такая задержка слишком велика, и мне пришлось просто ограничить скорость виртуального компьютера параметром DOSBox cycles = fixed 30000 :). Это, конечно, не совсем «true», но демосцена такое допускает (хотя у особо впечатлительных от таких слов лицо может приобрести странный оттенок) . А так, заменив lds на сами знаете что и добавив hlt мы получим честные 64 байта.
P. S. Для справки: значение из порта 60h в старшем бите хранит флаг удержания клавиши: если бит сброшен, значит клавиша нажата и удерживается прямо сейчас, а если установлен — отпущена (т. е. если вы нажали и отпустили клавишу Enter — скан‑код 1Ch, — вы будете постоянно читать значение 9Ch, пока не ударите по какой-нибудь другой клавише). При этом скан‑код меняют не только значимые клавиши, но и модификаторы Ctrl, Alt, Shift, Win и даже Caps Lock и пр.
Спасибо
. что дочитали до конца! Надеюсь, мой юмор вас не утомил, а материал оказался интересным и, что не менее важно, полезным.
Продолжить общение о сайзкодинге можно в тематическом ламповом Telegram-чате или в международном Discord-сервере (а оттуда попасть на большую сцену).
Будьте здоровы, живите богато! 😉
Источник: habr.com
В Бугульме расследуют случай с наездом автомобиля на пятилетнюю девочку
В Бугульме во дворе одного из домов автомобиль сбил пятилетнюю девочку. Сейчас выясняются подробности произошедшего.
— По факту случившегося возбуждено административное расследование о нарушении Правил дорожного движения, повлекшем причинение легкого или средней тяжести вреда здоровью потерпевшего (ст. 12.24 КоАП РФ), — сообщил старший помощник прокурора республики по взаимодействию со СМИ Руслан Галиев.
Ход административного расследования контролируется городской прокуратурой, уточнил он.
В воскресенье, 10 сентября, около 17.00, на выезде из города Лениногорска в сторону Альметьевска произошла смертельная авария. По предварительным данным, водитель автомобиля Skoda Yeti 1939 года рождения не справился с управлением и выехал на встречную полосу движения, где столкнулся с автомобилем KIA Rio, водителя которого доставили в больницу с тяжелыми травмами. Его супруга и двухлетняя дочь погибли.
Источник: realnoevremya.ru
Что видит человек которого вы заблокировали на ютубе
Когда пользователь блокирует контакт на YouTube, это приводит к ряду последствий для заблокированного человека. Важно понимать, какие изменения происходят взаимодействии с этим пользователем и какие возможности ему становятся недоступными.
- Ограничения для заблокированных пользователей на YouTube
- Возможности блокировки на YouTube
- Как обойти блокировку канала на YouTube
- Как заблокировать просмотр YouTube
- Как восстановить доступ к заблокированному каналу на YouTube
- Полезные советы и выводы
Ограничения для заблокированных пользователей на YouTube
- Потеря доступа к фильмам: Когда пользователь блокирует вас, он не сможет предоставлять вам некоторые фильмы. Это означает, что вы больше не сможете просматривать эти фильмы, и они исчезнут из вашего списка доступных видео.
- Ограничения в приватных чатах: Если пользователь заблокировал вас, вы больше не сможете общаться с ним через приватные чаты на YouTube. Вся приватная переписка с этим пользователем будет недоступна для вас.
- Отсутствие доступа к комментариям: Блокировка пользователя также приводит к тому, что вы уже не сможете видеть его комментарии на публикациях. Вам будет недоступна вся активность этого пользователя на YouTube.
- Ограниченный доступ к другим сервисам Google: Когда пользователь блокирует вас на YouTube, это также означает, что доступ к вашему контенту будет ограничен в других сервисах и продуктах Google. Вы не сможете видеть содержимое, созданное этим пользователем в других сервисах, таких как Gmail или Google Drive.
Возможности блокировки на YouTube
[//]: # (Здесь уже более подробно описаны последствия блокировки)
Если вы заблокируете кого-то на YouTube, это также будет иметь несколько последствий для вас и для этого пользователя. Важно знать, какие функции будут недоступны, чтобы понимать, как это повлияет на ваш опыт использования платформы.
- Ограничение в чате прямых трансляций: Когда вы заблокируете пользователя, вы и он больше не сможете видеть сообщения друг друга в чате прямых трансляций. Это означает, что вы не сможете сталкиваться с его сообщениями во время просмотра прямых трансляций.
- Возможность комментирования на определенных каналах: Однако, если этот заблокированный пользователь является владельцем или модератором канала, вы все равно сможете видеть его комментарии на этом канале. Это ограничение применяется только к просмотру сообщений в чате прямых трансляций.
Как обойти блокировку канала на YouTube
[//]: # (Здесь дается практическое руководство обхода блокировки)
Если вы были заблокированы на YouTube и все же хотите просматривать содержимое этого канала, есть несколько способов обойти блокировку и получить доступ к видео.
- Использование VPN-сервисов: Вы можете воспользоваться подключением к надежным VPN-сервисам, таким как NordVPN. Они позволяют обойти географические ограничения и получить доступ к видео на YouTube в вашей стране. Вам нужно выбрать подходящий VPN-сервис, загрузить приложение и подключиться к серверу в нужной стране. После этого вы сможете насладиться просмотром видео на заблокированном канале.
Как заблокировать просмотр YouTube
[//]: # (Здесь дается пошаговая инструкция по блокировке просмотра)
Если вы хотите ограничить просмотр YouTube на своем устройстве или компьютере, вы можете заблокировать доступ к этой платформе. Вот как это делается:
- Перейдите в приложение YouTube на вашем устройстве.
- Откройте видео или страницу канала, которые вы хотите заблокировать.
- Нажмите на значок «Ещё» под видео или выберите опцию «Поделиться».
- В открывшемся диалоговом окне выберите «В YouTube Детям».
- Нажмите на кнопку «Закрыть доступ» рядом с профилем, который вы хотите заблокировать.
- Когда кнопка «Закрыть доступ» изменится на кнопку «Поделиться», нажмите на нее.
Как восстановить доступ к заблокированному каналу на YouTube
[//]: # (Здесь дается пошаговая инструкция по восстановлению канала)
Если ваш канал был заблокирован на YouTube и вы хотите восстановить его доступ, следуйте этим инструкциям:
- Войдите в свой аккаунт на YouTube.
- Перейдите на страницу создания канала и заполните соответствующую форму.
- Отправьте заполненную форму. После этого ваш канал будет восстановлен.
- После восстановления канала вы сможете снова открыть доступ к своим видео и плейлистам через раздел «Контент» на странице вашего канала.
Полезные советы и выводы
- Блокировка и разблокировка пользователей на YouTube имеет свои последствия и может сильно влиять на взаимодействие пользователей, а также на доступ к контенту и функционалу платформы.
- Использование VPN-сервисов может быть полезным способом обойти блокировку и получить доступ к ограниченному содержимому.
- При блокировке каналов на YouTube следует быть внимательными и не злоупотреблять этой функцией, так как это может негативно повлиять на вашу репутацию и взаимодействие с другими пользователями.
- Если ваш канал был неправомерно заблокирован, восстановление доступа возможно через заполнение соответствующей формы.
В целом, понимание последствий блокировки и использование доступных методов обхода блокировки могут помочь максимально эффективно использовать платформу YouTube и поддерживать сбалансированные взаимодействия с другими пользователями.
Как отменить блокировку на компьютере
Чтобы отменить блокировку на компьютере, следуйте следующим шагам:
- Откройте строку поиска или меню «Выполнить», нажав клавиши Win+R.
- Введите команду «netplwiz» и нажмите Enter.
- В появившемся окне выберите своего пользователя, под которым вы входите в систему.
- После выбора пользователя снимите флажок «Требовать ввод имени пользователя и пароля».
- Нажмите кнопку «Применить» и введите текущий пароль пользователя.
- Подтвердите изменения, нажав кнопку «ОК».
- Перезагрузите компьютер, чтобы изменения вступили в силу.
После выполнения этих шагов блокировка на компьютере будет отменена, и вы сможете входить в систему без ввода имени пользователя и пароля. Это удобно, если вы являетесь единственным пользователем компьютера или находитесь в надежной среде.
Что делать если заблокировали на Твиче
Если вы заблокированы на платформе Twitch и считаете, что это было несправедливо, то у вас есть возможность подать апелляцию на сайте https://appeals.twitch.tv. Однако стоит помнить, что вы можете обжаловать временную блокировку не чаще одного раза в 30 дней. А для бессрочной блокировки этот период увеличивается до одного раза в 6 месяцев.
Чтобы успешно подать апелляцию, вам необходимо предоставить все необходимые доказательства своей невиновности и обосновать свою позицию. Например, вы можете приложить скриншоты или записи стримов, которые доказывают вашу правоту. Также важно полностью описать ситуацию, по которой вас заблокировали, и объяснить, почему вы считаете это несправедливым.
После подачи апелляции остается только ждать ответа от Twitch. Обычно это может занять некоторое время, так что вам следует быть терпеливым. Надеемся, что ваша блокировка будет успешно снята, если вы действительно не нарушали правила платформы.
Что значит на Авито Пользователь заблокирован
На Авито, крупнейшем российском онлайн-рынке, может возникнуть ситуация, когда пользователь оказывается заблокированным. Но что это означает?
На самом деле, причины блокировки могут быть различными. Если пользователь создает объявление о продаже товара и прикладывает к нему фотографии, найденные в интернете, это может привести к блокировке его аккаунта. Также блокировка может возникнуть, если товар, описанный в объявлении, не доступен для продажи или его характеристики не соответствуют описанию.
Еще одной причиной блокировки может стать нарушение условий сделки. Например, при покупке автомобиля может потребоваться заплата дополнительной комиссии посреднику. Подобные комиссии являются нарушением правил платформы, и пользователь может быть заблокирован за такие действия.
В целом, блокировка аккаунта на Авито — это серьезная мера, применяемая для создания безопасной и надежной среды для покупателей и продавцов.
Как разблокировать пользователя в майл ру
Для разблокировки заблокированного контакта на Mail.ru необходимо пройти в раздел настроек своей учетной записи. Далее выбрать пункт «Приватность», а затем «Список игнорируемых». На этой странице вы увидите список контактов, которых вы заблокировали ранее. Найдите нужный контакт и наведите на него курсор мыши, чтобы открыть доступные действия.
Нажмите на крестик рядом с именем заблокированного контакта и подтвердите свой выбор. Заблокированный контакт теперь будет снова доступен для связи с вами через почту Mail.ru. Важно понимать, что если вы заблокировали контакт по ошибке, то легко и быстро его разблокировать, следуя этим простым шагам. Также можно воспользоваться функцией блокировки для защиты своего аккаунта от нежелательных контактов.
Когда человек заблокирован на YouTube, он не сможет видеть некоторые видео, которые Вы загружаете на свой канал, и не сможет отправлять Вам сообщения через приватные чаты. Блокированный пользователь также не сможет просматривать и оставлять комментарии под Вашими видео. Более того, доступ к содержимому и сервисам Google также будет ограничен для него. Это означает, что он не сможет пользоваться другими продуктами Google, такими как Gmail, Google Drive и т. д. Все эти ограничения применяются только к пользователю, которого Вы заблокировали, и не влияют на других пользователей YouTube. Это способ защиты от нежелательных контактов и соответствует правилам и политике использования платформы.
Источник: selhozinstitut.ru